後臺面試題庫

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

1. 系統

考察面試者對操作系統的瞭解程度,看基礎功。

1.1 內存

  1. 說一下進程裏的內存,是組織、管理的,例如申請一塊內存,操作系統具體會做什麼? ★★★✰

  2. 說一下邏輯內存地址,是怎麼映射成物理內存地址?★★

1.2 調度

  1. 進程切換實際要做什麼工作?如果瞭解協程,那協程切換又是怎麼搞的?★★★

1.3 文件系統

  1. 操作系統從一個文件名,讀取到具體的文件內容,實際幹了什麼事情?★★★★

2. 網絡

考察面試者對網絡常見問題的解決經驗

2.1 tcp

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

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

2.2 http

  1. http在弱網絡具體會有哪些問題?怎麼解決?★★★✰

3. 算法與數據結構

考察面試者的編程思維

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

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

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

  4. 有1000000000個視頻, 1000000000個用戶,要統計每個視頻被播放的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的事務是怎麼做的?★★★★

4.2 redis

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

4.3 消息列隊

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

4.4 lsm

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

5. 分佈式

  1. raft/paxos 協議的原理?存在哪些問題?怎麼優化?★★★★★
  2. raft/paxos只是日誌同步,那怎麼基於raft/paxos 做高性能的強一致系統?★★★★
  3. 如何擴縮容?★★★
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章