字節(jié)二面
八股巨多,以下是沒見過的
1 text可以做索引嗎
2 text和varchar的區(qū)別
3 varchar可以多大
4 top的cpu load是怎么計算的
5 擁塞控制
6 zset的skiplist高度設置
7 linux查看線程狀態(tài)的命令
算法: 二叉樹之字遍歷
1 text可以做索引嗎
2 text和varchar的區(qū)別
3 varchar可以多大
4 top的cpu load是怎么計算的
5 擁塞控制
6 zset的skiplist高度設置
7 linux查看線程狀態(tài)的命令
算法: 二叉樹之字遍歷
全部評論

1. text可以做索引嗎? 做前綴索引,要指定前綴長度
2. text和varchar的區(qū)別
varchar用于存儲可變長度的字符串,最大字符長度為65532(ascii)
Text:用于存儲大文本數(shù)據(jù),不需要指定最大長度。不過TEXT類型的字段不能有默認值,不能完全放入內(nèi)存,可能需要使用磁盤臨時表。
3. varchar可以多大 除了一個存儲變長字段和一個null字段的 占用3字節(jié) 剩下65532 根據(jù)單個字符長度決定有多大
4. top的cpu load是怎么計算的 在Linux的top命令中,CPU load是通過/proc/loadavg文件獲取的,表示系統(tǒng)在過去1分鐘、5分鐘和15分鐘內(nèi)的平均運行隊列長度(等待CPU處理的進程數(shù))。具體計算:
如果load average值為0,表示沒有進程在等待CPU時間
如果值等于CPU核心數(shù),表示CPU剛好滿負荷
如果值大于CPU核心數(shù),表示系統(tǒng)超負荷,有進程在等待CPU時間
5. 擁塞控制 擁塞控制是TCP協(xié)議中的一個重要機制,用于防止網(wǎng)絡過載。主要包含四個算法:
慢啟動:連接開始時,擁塞窗口(cwnd)設為1個MSS,每收到一個ACK,cwnd加1,呈指數(shù)增長
擁塞避免:當cwnd達到慢啟動閾值(ssthresh)后,每個RTT只將cwnd加1,呈線性增長
快速重傳:如果發(fā)送方連續(xù)收到3個重復ACK,立即重傳丟失的數(shù)據(jù)包,不等待超時
快速恢復:在快速重傳后,設置新的ssthresh為當前cwnd的一半,然后將cwnd設為新的ssthresh加3
6. zset的skiplist高度設置 在Redis的zset(有序集合)實現(xiàn)中,skiplist(跳躍表)的高度(level)設置如下:
Redis的skiplist最大高度為32層,每個新節(jié)點的高度是隨機生成的,插入新節(jié)點起始高度為1,然后進行隨機測試,每次有25%的概率增加1層,直到達到32或者隨機測試失敗
,這種隨機性保證了良好的平衡,使得查詢、插入、刪除操作的平均時間復雜度為O(log n)
7. Linux查看線程狀態(tài)的命令
* ps -eLf顯示所有線程信息,每個線程一行
* top -H顯示每個線程的CPU使用情況
* ps -T -p <PID>顯示特定進程的所有線程
* htop交互式的進程/線程查看器,比top更直觀

?top的cpu load怎么計算的這是哪門子奇葩問題
看了后最絕望的是,有些之前背過,現(xiàn)在也忘了何況還有些沒見過,這八股什么時候是個頭啊
接好運
text可不可以哈希之后再做索引
cpu load我還真不會
我理解。這些都比較簡單 前面幾個 比較貼合業(yè)務
http的擁塞控制?

text可以做 但是加載到內(nèi)存中 影響性能,varchar最大35545?多兩個字符位存長度,擁塞控制秒,linux查看線程狀態(tài)就是排查cpu飆高的命令?top top-Hp那些,其他不會
確實罕見
相關推薦

點贊 評論 收藏
分享

點贊 評論 收藏
分享