怎麼做分散式存儲的面試?
1. 用cas實現spinlock.
2. 實現單機kv存儲系統, 多節點共享kv存儲服務, 怎麼解決external consistency的問題?
kv存儲N=0用戶A和B操作kv存儲系統按照下面時序:1.用戶A執行操作: INC N;2.用戶A通知用戶B執行操作;3.用戶B執行操作: if (N % 2 == 0) {N*=2;} else {N +=3;}怎麼保證結果符合預期呢? 在網路傳輸影響操作到達次序的情況下, 怎麼保證B後於A完成操作.如果這個過程插入了C, 又如何做呢?
3. 鎖實現和版本控制用那個呢?
4. kv系統數據要持久化, 怎麼保證在供電故障的情況下, 依然不丟數據.
5. flush/fsync/WAL/磁碟和ssd的順序寫
6. 單機kv存儲系統, 從掉電到系統重啟這段時間, 不可用, 如何保證可用性呢?
7. 數據複製, 日誌複製, 有哪些實現方法呢?
8. 做主從複製, 採用pull和push操作, 那個好呢?
9. 如何保證多副本的一致性? RSM
10. 分散式共識演算法: zab, paxos, raft.
11. commit語意是什麼呢?
12. 單機或者單個leader的qps/tps較低, 如何擴大十倍?
13. 怎麼做partitioning和replicating呢?
14. 存儲或者訪問熱點問題, 應該怎麼搞?
15. CAP原理
16. 元數據怎麼管理?
17. membership怎麼管理?
18. 暫時性故障和永久性故障有哪些呢?
19. failover和data replication怎麼搞呢?
20. 磁碟的年故障率預估是多少?
21. kv系統存儲小王, 小李, 小張三個人的賬戶餘額信息, 數據分別在不同的節點上, 怎麼解決小王向小李, 小李向小張同時轉款的問題呢?
推薦閱讀:
※奇葩而有效的反向面試——王猛見桓溫
※公司那些事
※工商銀行面試真題彙編和精彩回答
※Android事件分發機制解析
※如何HOLD住英文面試?
TAG:面試 |