首發(fā)字節(jié)跳動、美團(tuán)、B站、京東四廠面經(jīng),成功拿下offer,進(jìn)大廠真的這么簡單嗎?

金三銀四過后,小編收集到了一許多粉絲和朋友發(fā)來的喜訊,從匯總的信息上了解到,他們平均月薪達(dá)到了32K,85%進(jìn)入了阿里巴巴、字節(jié)跳動、拼多多、美團(tuán)、京東、bilibili……這些知名大廠。

因為隱私保護(hù),小編不便于公布他們的真實信息,各位程序員朋友們可以參考一下這些面試細(xì)節(jié),做到知己知彼,方能百戰(zhàn)百勝。

特別說明:下面的內(nèi)容,就不是小編之前寫故事那樣半真半假的了,以下面試經(jīng)歷完全屬實,但僅供參考

小編只記得,有些拿到offer的朋友跟我說之前就是在我這里領(lǐng)過面試資料,然后認(rèn)認(rèn)真真的補(bǔ)上了自己缺失的部分,就一路順風(fēng)的通過了面試。

組團(tuán)進(jìn)的大廠?。?!

公司:美團(tuán)

地點:北京

工作經(jīng)驗:0-3年

崗位:實習(xí)

面試次數(shù):3次

面試內(nèi)容:

美團(tuán)一面(80min)

面試主要是從一個系統(tǒng)設(shè)計出發(fā),考察基礎(chǔ)跟項目架構(gòu)經(jīng)驗。美團(tuán)相當(dāng)重視基礎(chǔ)問題(計算機(jī)網(wǎng)絡(luò)、操作系統(tǒng)),主要是圍繞一個系統(tǒng)優(yōu)化來的,下面就幾個重點提問:

1. 項目介紹(聊一下自己做的項目,前期了解了一下)

2.redis相關(guān)問題

2-1. redis主要能解決什么問題,聊一下你所知道的?

2-2. 聊一下redis高可用的相關(guān)。主要說一下哨兵集群的流程,包括選舉、以及宕機(jī)之后的處理方案,以及cluster集群的工作流程。

2-3. 聊一下redis哈希槽,為什么不用一致性哈希的方案?

2-4. redis為什么這么快?

2-5. redis跟mq的技術(shù)選型。

3.mysql相關(guān)問題

3-1. mysql的事務(wù)隔離級別。

3-2. 面試官描述了一個場景#¥%……¥……%&*這種情況下你怎么優(yōu)化mysql,說說你優(yōu)化的流程步驟。

3-3. 你能想到什么優(yōu)化mysql吞吐量的方案。

3-4. mysql的底層數(shù)據(jù)結(jié)構(gòu)?索引怎么存儲的?

4.rabbitmq

4-1. rabbitmq的優(yōu)勢,能解決什么問題?

4-2. 說一下rabbitmq怎么保證高可用的?

4-3. 聊聊鏡像隊列,怎么運(yùn)作的?口述下代碼?

5. 并發(fā)編程相關(guān)

5-1 hashmap跟concurrentHashMap

6. 接近一個小時的計算機(jī)網(wǎng)絡(luò)基礎(chǔ)、操作系統(tǒng)基礎(chǔ)

美團(tuán)二面(70min)

正兒八經(jīng)的面試了

1. 再來一個場景¥%……¥#%……&*&%…優(yōu)化mysql,具體步驟,什么命令,怎么操作,比較詳細(xì)。

2. redis分布式鎖的作用?什么場景用過?會有什么問題?(原子性的問題、誤刪鎖、誤得鎖等等)怎么解決這些問題?(面試官提了幾個場景,這塊聊了半個多小時)

3. 詳細(xì)聊了rabbitmq的工作流程。介紹下rabbitmq的組建,分別有什么類型,具體是怎么用的?口述代碼。

4. redis高可用。

5. 聊聊你了解的RPC,dubbo與springcloud?(我因為沒做過微服務(wù)項目,因此,問我,你覺得應(yīng)該有什么功能,我從springcloud的角度回答的)

6. RPC與mq技術(shù)選型,說下原因。

7. Spring源碼,我講了事務(wù)的源碼(擼了好幾次了,比較熟悉)。

8. 手?jǐn)]算法題兩道。

9. 聊實習(xí)時間、地點,未來發(fā)展。

美團(tuán)三面(50min)

HR(直接給錄用函)談笑風(fēng)生…聊薪資,工作地點,還有一些要錄入系統(tǒng)的基本信息,留了電話。

小結(jié):美團(tuán)的問題單個都不難,主要是在一個tomcat優(yōu)化的場景下要把東西聯(lián)系起來。

公司:bilibili

地點:上海

工作經(jīng)驗:0年

崗位:主要負(fù)責(zé)【數(shù)據(jù)分流】

面試次數(shù):3次

面試內(nèi)容:

Bilibili一面

1.問項目情況。

Bilibili二面

1.JVM:gc很關(guān)鍵,基本上只要問到j(luò)vm,必問gc。

答題過程:

說明垃圾處理器,說明垃圾處理器使用到的算法并說明什么時候?qū)ο蟊籫c(計數(shù)器法(缺點)和可達(dá)性分析),敘述對象的分派過程,何時進(jìn)入老年代,空間擔(dān)保機(jī)制。雙親委派模型偶爾會問到,類加載過程一定要熟記于心。

敘述類加載過程,敘述雙親委派模型原理,并說到如果不使用雙親委派模型java連最基礎(chǔ)的穩(wěn)定都保證不了。

2.Jvm的內(nèi)部結(jié)構(gòu)?

**答題過程:**敘述出每個塊的名字以及作用。

3.多線程:線程池會問到構(gòu)造方法的參數(shù),好處以及壞處。

內(nèi)置鎖和顯示鎖的使用場景 。

Cas原理和缺點解決的方法,以及原子類的說明。

Aqs,敘述數(shù)據(jù)結(jié)構(gòu),設(shè)計模式,模板方法和可重寫方法,內(nèi)部類狀態(tài)的變化以及節(jié)點的成員變量,說到這一定要說明condition和aqs的配合使用。

ConcurrentHashmap1.7-1.8基本都會問到的,數(shù)據(jù)結(jié)構(gòu),get,put,擴(kuò)容以及初始化,size,什么時候會擴(kuò)容,解決hash沖突的辦法以及1.8紅黑樹到鏈表的互相轉(zhuǎn)換。(有的公司會問到arraylist和linkedlist如果兩個線程去執(zhí)行寫操作會發(fā)生什么,我只說明了會引發(fā)線程安全的問題,這個時候就可以說說hashmap兩個線程去擴(kuò)容之后去get一個不存在的數(shù)據(jù)時會產(chǎn)生環(huán)形鏈表緩解一下尷尬。)

雙重檢測引發(fā)的問題(臨界區(qū)重排序帶來的)。

多線程遠(yuǎn)不止這些。

4.mysql的存儲引擎myisam和innodb必問。

索引分別使用到的數(shù)據(jù)結(jié)構(gòu)以及分類。

Sql語句的優(yōu)化十條一定要記住,并說明原因。

事務(wù)的性質(zhì)ACID以及隔離的級別并分別說明,引發(fā)的臟讀不可重復(fù)讀幻讀分別在哪個隔離級別上會發(fā)生。

5.算法:快速匹配字符串(暴力匹配和KMP算法)。

其實還有其他的算法,我最后問問題的時候問了面試官,怎么找到兩個鏈表的公共節(jié)點?怎么找到鏈表的環(huán)。

6.設(shè)計模式會問到單例模式,代理模式,工廠模式。

你看過哪些源碼,有用到什么設(shè)計模式?

7.網(wǎng)絡(luò):osi七層模型

Tcp三次握手,四次揮手狀態(tài)的變化(狀態(tài)沒記住嗚嗚)

Tcp為什么是可靠傳輸協(xié)議(確認(rèn)機(jī)制和超時重發(fā))

Bilibili三面

與HR阿姨噓寒問暖。

小結(jié):面試的時候一定要放輕松,會的問題不僅要答出來,還要讓面試官跟著你的思路走,比如內(nèi)置鎖和顯示鎖的使用場景,我就成功地將面試官引到了aqs。

公司:京東數(shù)科

地點:北京

工作經(jīng)驗:4年

崗位:京東數(shù)科中臺-主要負(fù)責(zé)業(yè)務(wù)是短信和push推送

面試次數(shù):3次

面試內(nèi)容:

京東數(shù)科一面

1.Java基礎(chǔ),接口,反射,數(shù)據(jù)結(jié)構(gòu),設(shè)計模式,實際處理問題的過程(這個會根據(jù)你說的方向深入一些繼續(xù)問)

2.spring的注解及講解aop,微服務(wù)用的什么,怎么選擇的,消息隊列,寫代碼后給出意見等。

京東數(shù)科二面

講講以前做的業(yè)務(wù),問一些邏輯思考題,還有為什么來這,優(yōu)勢是什么,以后的規(guī)劃,團(tuán)隊和個人不同意如何處理等。

京東數(shù)科三面

HR直面,整體問下以前公司的情況等問題。

小結(jié):要熟悉基礎(chǔ),最好能把簡歷上的都特別熟練,會圍繞簡歷問,中間會深入一個點問,不會了會換個方向,代碼也要熟悉,中間會有看代碼和寫代碼。

公司:字節(jié)跳動

地點:北京

工作經(jīng)驗:3年

崗位:大數(shù)據(jù)事業(yè)部服務(wù)端- 開發(fā)服務(wù)接 商業(yè)對接接口,還有各種kafka的消息推送

面試次數(shù):3次

面試內(nèi)容:

字節(jié)跳動一面

機(jī)試(java基礎(chǔ),算法,數(shù)據(jù)結(jié)構(gòu))。

字節(jié)跳動二面

主流框架理解,原理,數(shù)據(jù)庫架構(gòu),設(shè)計模式應(yīng)用,網(wǎng)絡(luò)基礎(chǔ)知識,分布式問題分析,并發(fā)編程,鎖知識,JVM優(yōu)化。

字節(jié)跳動三面

1.拓展知識,項目中常見問題的解決。如,如何保證redis和mysql數(shù)據(jù)一致。如何解決緩存擊穿問題。如何實現(xiàn)并發(fā)限流,JVM鎖和分布式鎖的區(qū)別。

2.給一個業(yè)務(wù)場景,如何架構(gòu)組件和數(shù)據(jù)庫。1到1000個數(shù),如何按順序存儲。(二叉樹問題)

小結(jié):掌握J(rèn)ava基礎(chǔ)和算法基本就成功了一半,更多場景化操作可以加分又加薪。

最后說幾句

這些問題真的很難嗎?

不難!

你真的不會嗎?

會!

面試答得出來嗎?

答不出來!

為什么?

很多程序員朋友,都只在乎自己在工作中用到的部分技術(shù),會用就行,公司不大,技術(shù)要求不廣,夠用就行。

恰恰就忽略了面試中問問題的深度與廣度,真的是面試造火箭,工作擰螺絲嗎?

不是,面試篩選出來的程序員,是能夠符合公司長遠(yuǎn)發(fā)展需求,能夠根據(jù)環(huán)境轉(zhuǎn)變及時跟上不落伍的人才。

所以啊!霸哥奉勸各位還處在低薪,滿足現(xiàn)狀的程序員朋友,多看看前方吧!

需要的程序員朋友,麻煩關(guān)注+轉(zhuǎn)發(fā),添加vx:bjmsb2019即可免費(fèi)獲取。

或許下一個進(jìn)大廠,給小編分享面試經(jīng)驗的大佬,就是你!

需要的程序員朋友,麻煩關(guān)注+轉(zhuǎn)發(fā),添加vx:bjmsb2019即可免費(fèi)獲取。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容