
第一面:
第一面主要考察基礎,先簡單自我介紹,以及介紹一下專案,然后開始考察基礎,
TCP相關基礎知識
問題1:請詳細描述三次握手和四次揮手的程序
要求熟悉三次握手和四次揮手的機制,要求畫出狀態圖,
快取和資料庫的基礎知識
問題1:描述一下redis有哪些資料結構,
基礎的資料結構有5種,String/List/Hash/Set/Zset,還答了高級資料結構HyperLogLog/BitMap/BloomFilter/GeoHash,面試官還問了BloomFilter的原理以及Zset的實作原理,主要講解跳躍表;延時佇列如何實作,分布式鎖原理,
問題2:MySQL場景題目
面試官提供場景,要求寫出查詢SQL,考察聯合陳述句,如何分頁以及復雜陳述句的優化,
第二面:
第二面是電話面試,主要考察專案,通過專案提出基礎問題,時間30分鐘,
之前有微服務經驗,面試官就詳細問到微服務的架構、框架的實作、服務治理、分布式一致性等問題,
之前有玩過日志監控系統,首先還是考察架構,ELK的相關知識,重點描述Elasticsearch的一些架構原理,比如倒排索引的原理,
問訊息佇列的相關知識,接觸過Kafka,問了Kafka中訊息可以被多個消費者消費嗎?;以及選舉機制和HW機制,
開放性問題,講一個之前遇到的問題,并如何解決的,這個描述生產程序中運行的問題,并描述排查問題,
裸寫演算法
二叉樹多個節點的最近公共祖先
第三面、第四面
第三面和第四面是組長和總監面試,聊解題思路和專案,這二面的特點是根據專案經驗問相關的問題,要求廣度,尤其考察架構廣度,會將目前的專案量級擴大幾十倍,重新設計架構,同時涉及到一些壓力面試,
感覺如果不緊張,熟悉專案的話,問題不大,
會有很多開放性題目,包括平時遇到問題的解題思路、同事之間的協作等,
被問到的知識點有負載均衡演算法,ngnix如何做限流,四層LVS和七層Ngnix的區別,以及微服務架構的設計思路,
面試時間均在20-30分鐘,
總結
三面技術面之后,就是HR,這個就不多說了,整體位元組跳動的面試感受,面試官很專業,要求基礎知識很熟悉,面試之前一定要準備后再去面試,LeetCode題目也要刷,手寫演算法留的時間不多,3-10分鐘,如果3分鐘還沒寫,就要求講出解題思路,
切記面試前一定要刷題和準備,簡歷上的專案不熟悉的千萬不要寫上去,寫上去的專案備好2-3個技術方案,
分享
覺得有幫助的記得幫忙轉發一下這篇文章,讓更多有需要的朋友看到,感謝您的支持
在這里將我面試之前刷的一些面試資料題庫分享出來,感興趣的朋友可以三連后【加我助理VX】即可免費獲取



轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/173051.html
標籤:其他
