前幾天通過boss投遞了騰訊的崗位溜畅,之后就收到短信定了一個面試時間捏卓,面試的平臺是騰訊自己的平臺——面唄,在線視頻面試慈格,上面有個oj可以在線做題怠晴,類似牛客網(wǎng)的在線面試浴捆。
到了約定時間蒜田,提前調(diào)好了麥克風(fēng),開始面試汤功。
首先是簡單的自我介紹物邑。介紹完后,進(jìn)入正題滔金。
接著面試官看你的簡歷上的項(xiàng)目色解,說介紹下你做過的最大型的項(xiàng)目吧。我就蒙蔽了餐茵,說最大型的那個是我兩年前做的科阎,能不能介紹我最近最熟悉的項(xiàng)目,面試官說可以忿族。然后我就說了業(yè)務(wù)流程锣笨,我做的是類似電商的系統(tǒng),就是普通的下單道批、生成訂單這種流程错英。
介紹完后,面試官說隆豹,那你說說你們項(xiàng)目系統(tǒng)架構(gòu)椭岩。說了業(yè)務(wù)架構(gòu),還有部署架構(gòu)璃赡,業(yè)務(wù)架構(gòu)就說分成了幾個微服務(wù)沃饶,部署架構(gòu)就是用的阿里云沾瓦,SLB,K8S赞厕,Redis舷暮,RocketMQ屎飘,MySQL之類的导帝。
接著問了堡称,你們業(yè)務(wù)不大的話RocketMQ用來做什么章钾,我說延時任務(wù)和異步,然后面試官問了RocketMQ延時任務(wù)底層怎么實(shí)現(xiàn)的热芹?你們生產(chǎn)RocketMQ怎么部署的伍玖?怎么保證RocketMQ的高可用?RocketMQ有哪些角色剿吻?
接著問,你們下單串纺,是怎么保證不重復(fù)提交丽旅?如果同一時間并發(fā)兩個相同的請求,怎么去重纺棺?如果客戶確實(shí)要下兩個訂單呢榄笙?
你們系統(tǒng)有沒有對賬?對賬有什么用嗎祷蝌?如果有人手工改數(shù)導(dǎo)致了對賬失敗茅撞,怎么處理?怎么防止運(yùn)維手工改數(shù)巨朦?怎么知道這個數(shù)據(jù)是手工改過的米丘?
接著,直接上八股文糊啡。
簡歷寫了熟悉java基礎(chǔ)拄查,那java的基本類型都幾個字節(jié)?一個最小的類空間占用多大棚蓄?cas是什么堕扶?cas底層怎么實(shí)現(xiàn)的?Java的動態(tài)代理了解嗎梭依?底層是怎么做的稍算?Spring的動態(tài)代理又是怎么做的?Spring怎么解決循環(huán)依賴的問題役拴?
簡歷寫了熟悉多線程編程糊探,并發(fā)包的ReentrantLock底層怎么實(shí)現(xiàn)?AQS的同步隊(duì)列有什么用扎狱?公平鎖非公平鎖的區(qū)別侧到?并發(fā)包里有多個線程同步工具,具體有哪些淤击?為什么需要這么多匠抗,ReentranctLock不夠用嗎?線程池熟悉嗎污抬,說一下線程池是怎么工作的汞贸?如果線程池一個任務(wù)需要處理1ms绳军,每2ms進(jìn)來一個任務(wù),線程數(shù)會達(dá)到coreSize嗎矢腻?
簡歷寫熟悉Redis门驾,redis的數(shù)據(jù)類型底層的數(shù)據(jù)結(jié)構(gòu)有哪些?你們生產(chǎn)是怎么部署的多柑?怎么保證高可用奶是?選主是誰選出來的?redis有什么持久化方式竣灌?分布式鎖是怎么實(shí)現(xiàn)的聂沙?簡歷寫了RedLock,那說說RedLock實(shí)現(xiàn)原理初嘹?
簡歷寫熟悉MySQL及汉,一個update語句的整個流程說一下?mysql所以為什么使用b+樹屯烦,他和b樹有什么區(qū)別坷随?你們生產(chǎn)的MySQL用的什么隔離級別?RC和RR隔離級別有什么區(qū)別驻龟?什么是臟讀什么是幻讀温眉?MySQL怎么解決幻讀的呢?MVCC底層是怎么實(shí)現(xiàn)的迅脐?
寫一道簡單的算法題吧芍殖。一道easy題,不過是改版的谴蔑,這里需要找出所有的下標(biāo)位置豌骏,還需要運(yùn)行出正確結(jié)果。leetcode 28題的變種
好的隐锭,你的情況我了解了窃躲,有什么要問我的嗎?好好準(zhǔn)備一下項(xiàng)目的描述钦睡,很快有二面的面試官聯(lián)系你蒂窒。
以上,就是整個面試流程了荞怒。