mysql 多表查詢分頁,字節跳動資質審核面試流程?
第一面主要考察基礎,先簡單自我介紹,以及介紹一下項目,然后開始考察基礎。
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機制。
開放性問題,講一個之前遇到的問題,并如何解決的。這個描述生產過程中運行的問題,并描述排查問題。
裸寫算法
二叉樹多個節點的最近公共祖先
第三面、第四面
第三面和第四面是組長和總監面試,聊解題思路和項目,這二面的特點是根據項目經驗問相關的問題,要求廣度,尤其考察架構廣度,會將目前的項目量級擴大幾十倍,重新設計架構,同時涉及到一些壓力面試。