1、問答題算法
1. Zookeeper基本原理編程
a. ZAP協議解釋緩存
2. Kafka實現安全
a. Kafka是如何實現的性能優化
b. 如何發送消息,如何消費消息數據結構
c. Kafka是如何選擇Leader的多線程
d. 同步發送、異步發送的優缺點,如何控制架構
3. 詳細解釋GC的過程異步
a. GC數據結構和算法
b. JVM狀態
4. 線程、進程、協程的區別和使用場景
a. 什麼時候須要使用,單核的CPU應該使用什麼
b. 若是在Python中,如何使用多線程
5. TCP
a. 詳細說明下三次握手、四次放手
b. 爲何須要屢次
c. 半鏈接狀態、connection reset狀態出如今哪裏
6. 編程題
a. 實現下LRU(語言不限)
2、頭條-基礎架構考察點
1. 數據結構和算法-樹的遍歷和節點尋找
2. 分佈式集羣一致性算法
3. 性能優化-NIO及異步實現
4. 哈希算法的實現
5. hashmap的線程安全
6. Java的GC機制和緩存使用
3、頭條-服務端
第一輪聊項目,一個題目。
給一顆二叉樹和一個整數sum,計算有哪些路徑的節點之和等於sum。
第二輪兩個題,
一個是給簡單的程序語法樹設計數據結構和接口;
一個是設計一個爬蟲系統,爬取imdb的演員、電影等數據。
考察的主要是數據結構和接口設計,架構師這個層級多是接口設計多一點。
這些題的算法都不難,他們問的問題也多在設計上,數據結構應該怎麼寫,函數定義應該怎麼寫之類的。
他們主要就是作題,沒有什麼口頭的問題。這個對工程師比較合適,對架構和往上的就得看運氣了。
4、刷題連接
https://leetcode-cn.com/explore/featured/card/bytedance/