后臺面試題庫

大部分都是開放式問題,看面試者回答的程度逐漸往下問。
不問一些像語言特性、語法糖那種可以死記硬背,不需要理解的問題,更多考察面試者的編程/工程 經(jīng)驗和思維。

1. 系統(tǒng)

考察面試者對操作系統(tǒng)的了解程度,看基礎(chǔ)功。

1.1 內(nèi)存

  1. 說一下進程里的內(nèi)存,是組織、管理的,例如申請一塊內(nèi)存,操作系統(tǒng)具體會做什么? ★★★?

  2. 說一下邏輯內(nèi)存地址,是怎么映射成物理內(nèi)存地址?★★

1.2 調(diào)度

  1. 進程切換實際要做什么工作?如果了解協(xié)程,那協(xié)程切換又是怎么搞的?★★★

1.3 文件系統(tǒng)

  1. 操作系統(tǒng)從一個文件名,讀取到具體的文件內(nèi)容,實際干了什么事情?★★★★

2. 網(wǎng)絡(luò)

考察面試者對網(wǎng)絡(luò)常見問題的解決經(jīng)驗

2.1 tcp

  1. 先說一下三次握手,如果三次握手,client只做了第一次握手,就不管了,會引發(fā)服務(wù)器什么問題,有什么思路解決? ★★★

  2. time_wait是啥?為啥會有time_wait?怎么解決time_wait過多的問題?★★

2.2 http

  1. http在弱網(wǎng)絡(luò)具體會有哪些問題?怎么解決?★★★?

3. 算法與數(shù)據(jù)結(jié)構(gòu)

考察面試者的編程思維

  1. 有100個視頻,100個用戶,要統(tǒng)計每個視頻被播放的uv,允許一定誤差,怎么做?★

  2. 有1000000000個視頻, 100個用戶,要統(tǒng)計每個視頻被播放的uv,允許一定誤差,怎么做?★★

  3. 有100個視頻, 1000000000個用戶,要統(tǒng)計每個視頻被播放的uv,允許一定誤差,怎么做?★★

  4. 有1000000000個視頻, 1000000000個用戶,要統(tǒng)計每個視頻被播放的uv,允許一定誤差,怎么做?★★★★

  5. 從一堆人中,隨機挑人,例如挑出A、B,便說A、B是一伙;C、D是一伙;挑出B、C是一伙,那么A、B、C、D都是一伙。然后隨機挑出兩個人,判斷他們是否一伙,要怎么做?★★★★

  6. LRU是怎么做的?存在哪些問題,要怎么解決?★★★

4. 組件

考察面試者對于常用組件的掌握程度。

4.1 mysql

  1. mysql索引是怎么回事?★★
  2. mysql的鎖機制?寫sql語句時,要怎么避免鎖的粒度過大?★★★★
  3. mysql的事務(wù)是怎么做的?★★★★

4.2 redis

  1. redis如何做持久化?★★
  2. redis存在哪些性能問題?可以怎么解決?★★★
  3. redis的hash是怎么擴容的?★★

4.3 消息列隊

  1. 你熟悉的這個消息隊列具體工作原理是啥?存在哪些問題,怎么解決?★★★?
  2. 容災(zāi) ★★★

4.4 lsm

  1. leveldb/rocksdb 工作原理?讀寫流程?sst怎么合并?適用場景以及一些問題的優(yōu)化方法 ★★★?
  2. leveldb/rocksdb sst是怎么組織的,做了什么樣的優(yōu)化?★★★

5. 分布式

  1. raft/paxos 協(xié)議的原理?存在哪些問題?怎么優(yōu)化?★★★★★
  2. raft/paxos只是日志同步,那怎么基于raft/paxos 做高性能的強一致系統(tǒng)?★★★★
  3. 如何擴縮容?★★★
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容