第一面主要考察基礎(chǔ),先簡單自我介紹,以及介紹一下項(xiàng)目,然后開始考察基礎(chǔ)。
TCP相關(guān)基礎(chǔ)知識
問題1:請?jiān)敿?xì)描述三次握手和四次揮手的過程
要求熟悉三次握手和四次揮手的機(jī)制,要求畫出狀態(tài)圖。
緩存和數(shù)據(jù)庫的基礎(chǔ)知識
問題1:描述一下redis有哪些數(shù)據(jù)結(jié)構(gòu)。
基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)有5種,String/List/Hash/Set/Zset,還答了高級數(shù)據(jù)結(jié)構(gòu)HyperLogLog/BitMap/BloomFilter/GeoHash。面試官還問了BloomFilter的原理以及Zset的實(shí)現(xiàn)原理,主要講解跳躍表;延時(shí)隊(duì)列如何實(shí)現(xiàn),分布式鎖原理。
問題2:MySQL場景題目
面試官提供場景,要求寫出查詢SQL,考察聯(lián)合語句,如何分頁以及復(fù)雜語句的優(yōu)化。
?
第二面:
第二面是電話面試,主要考察項(xiàng)目,通過項(xiàng)目提出基礎(chǔ)問題。時(shí)間30分鐘。
之前有微服務(wù)經(jīng)驗(yàn),面試官就詳細(xì)問到微服務(wù)的架構(gòu)、框架的實(shí)現(xiàn)、服務(wù)治理、分布式一致性等問題。
之前有玩過日志監(jiān)控系統(tǒng),首先還是考察架構(gòu),ELK的相關(guān)知識,重點(diǎn)描述Elasticsearch的一些架構(gòu)原理,比如倒排索引的原理。
問消息隊(duì)列的相關(guān)知識,接觸過Kafka,問了Kafka中消息可以被多個(gè)消費(fèi)者消費(fèi)嗎?;以及選舉機(jī)制和HW機(jī)制。
開放性問題,講一個(gè)之前遇到的問題,并如何解決的。這個(gè)描述生產(chǎn)過程中運(yùn)行的問題,并描述排查問題。
裸寫算法
二叉樹多個(gè)節(jié)點(diǎn)的最近公共祖先
第三面、第四面
第三面和第四面是組長和總監(jiān)面試,聊解題思路和項(xiàng)目,這二面的特點(diǎn)是根據(jù)項(xiàng)目經(jīng)驗(yàn)問相關(guān)的問題,要求廣度,尤其考察架構(gòu)廣度,會(huì)將目前的項(xiàng)目量級擴(kuò)大幾十倍,重新設(shè)計(jì)架構(gòu),同時(shí)涉及到一些壓力面試。