首發字節跳動、美團、B站、京東四廠面經,成功拿下offer,進大廠真的這麼簡單嗎?

金三銀四過後,小編收集到了一許多粉絲和朋友發來的喜訊,從彙總的信息上瞭解到,他們平均月薪達到了32K,85%進入了阿里巴巴、字節跳動、拼多多、美團、京東、bilibili……這些知名大廠。

因爲隱私保護,小編不便於公佈他們的真實信息,各位程序員朋友們可以參考一下這些面試細節,做到知己知彼,方能百戰百勝。

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

小編只記得,有些拿到offer的朋友跟我說之前就是在我這裏領過面試資料,然後認認真真的補上了自己缺失的部分,就一路順風的通過了面試。

需要文末面試資料的程序員朋友,私信【面試】或掃描左側主頁二維碼免費領取!

組團進的大廠!!!


  • 公司:美團
  • 地點:北京
  • 工作經驗:0-3年
  • 崗位:實習
  • 面試次數:3次
  • 面試內容:

美團一面(80min)

面試主要是從一個系統設計出發,考察基礎跟項目架構經驗。美團相當重視基礎問題(計算機網絡、操作系統),主要是圍繞一個系統優化來的,下面就幾個重點提問:

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

2.redis相關問題

  • 2-1. redis主要能解決什麼問題,聊一下你所知道的?
  • 2-2. 聊一下redis高可用的相關。主要說一下哨兵集羣的流程,包括選舉、以及宕機之後的處理方案,以及cluster集羣的工作流程。
  • 2-3. 聊一下redis哈希槽,爲什麼不用一致性哈希的方案?
  • 2-4. redis爲什麼這麼快?
  • 2-5. redis跟mq的技術選型。

3.mysql相關問題

  • 3-1. mysql的事務隔離級別。
  • 3-2. 面試官描述了一個場景#¥%……¥……%&*這種情況下你怎麼優化mysql,說說你優化的流程步驟。
  • 3-3. 你能想到什麼優化mysql吞吐量的方案。
  • 3-4. mysql的底層數據結構?索引怎麼存儲的?

4.rabbitmq

  • 4-1. rabbitmq的優勢,能解決什麼問題?
  • 4-2. 說一下rabbitmq怎麼保證高可用的?
  • 4-3. 聊聊鏡像隊列,怎麼運作的?口述下代碼?

5. 併發編程相關

  • 5-1 hashmap跟concurrentHashMap

6. 接近一個小時的計算機網絡基礎、操作系統基礎

美團二面(70min)

正兒八經的面試了

1. 再來一個場景¥%……¥#%……&*&%…優化mysql,具體步驟,什麼命令,怎麼操作,比較詳細。

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

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

4. redis高可用。

5. 聊聊你瞭解的RPC,dubbo與springcloud?(我因爲沒做過微服務項目,因此,問我,你覺得應該有什麼功能,我從springcloud的角度回答的)

6. RPC與mq技術選型,說下原因。

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

8. 手擼算法題兩道。

9. 聊實習時間、地點,未來發展。

美團三面(50min)

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

小結:美團的問題單個都不難,主要是在一個tomcat優化的場景下要把東西聯繫起來。


  • 公司:bilibili
  • 地點:上海
  • 工作經驗:0年
  • 崗位:主要負責【數據分流】
  • 面試次數:3次
  • 面試內容:

Bilibili一面

1.問項目情況。

Bilibili二面

1.JVM:gc很關鍵,基本上只要問到jvm,必問gc。

答題過程:

說明垃圾處理器,說明垃圾處理器使用到的算法並說明什麼時候對象被gc(計數器法(缺點)和可達性分析),敘述對象的分派過程,何時進入老年代,空間擔保機制。雙親委派模型偶爾會問到,類加載過程一定要熟記於心。

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

2.Jvm的內部結構?

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

3.多線程:線程池會問到構造方法的參數,好處以及壞處。

內置鎖和顯示鎖的使用場景 。

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

Aqs,敘述數據結構,設計模式,模板方法和可重寫方法,內部類狀態的變化以及節點的成員變量,說到這一定要說明condition和aqs的配合使用。

ConcurrentHashmap1.7-1.8基本都會問到的,數據結構,get,put,擴容以及初始化,size,什麼時候會擴容,解決hash衝突的辦法以及1.8紅黑樹到鏈表的互相轉換。(有的公司會問到arraylist和linkedlist如果兩個線程去執行寫操作會發生什麼,我只說明了會引發線程安全的問題,這個時候就可以說說hashmap兩個線程去擴容之後去get一個不存在的數據時會產生環形鏈表緩解一下尷尬。)

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

多線程遠不止這些。

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

索引分別使用到的數據結構以及分類。

Sql語句的優化十條一定要記住,並說明原因。

事務的性質ACID以及隔離的級別並分別說明,引發的髒讀不可重複讀幻讀分別在哪個隔離級別上會發生。

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

其實還有其他的算法,我最後問問題的時候問了面試官,怎麼找到兩個鏈表的公共節點?怎麼找到鏈表的環。

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

你看過哪些源碼,有用到什麼設計模式?

7.網絡:osi七層模型

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

Tcp爲什麼是可靠傳輸協議(確認機制和超時重發)

Bilibili三面

與HR阿姨噓寒問暖。

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


  • 公司:京東數科
  • 地點:北京
  • 工作經驗:4年
  • 崗位:京東數科中臺-主要負責業務是短信和push推送
  • 面試次數:3次
  • 面試內容:

京東數科一面

1.Java基礎,接口,反射,數據結構,設計模式,實際處理問題的過程(這個會根據你說的方向深入一些繼續問)

2.spring的註解及講解aop,微服務用的什麼,怎麼選擇的,消息隊列,寫代碼後給出意見等。

京東數科二面

講講以前做的業務,問一些邏輯思考題,還有爲什麼來這,優勢是什麼,以後的規劃,團隊和個人不同意如何處理等。

京東數科三面

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

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


  • 公司:字節跳動
  • 地點:北京
  • 工作經驗:3年
  • 崗位:大數據事業部服務端- 開發服務接 商業對接接口,還有各種kafka的消息推送
  • 面試次數:3次
  • 面試內容:

字節跳動一面

機試(java基礎,算法,數據結構)。

字節跳動二面

主流框架理解,原理,數據庫架構,設計模式應用,網絡基礎知識,分佈式問題分析,併發編程,鎖知識,JVM優化。

字節跳動三面

1.拓展知識,項目中常見問題的解決。如,如何保證redis和mysql數據一致。如何解決緩存擊穿問題。如何實現併發限流,JVM鎖和分佈式鎖的區別。

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

小結:掌握Java基礎和算法基本就成功了一半,更多場景化操作可以加分又加薪。


最後說幾句

這些問題真的很難嗎?

不難!

你真的不會嗎?

會!

面試答得出來嗎?

答不出來!

爲什麼?

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

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

不是,面試篩選出來的程序員,是能夠符合公司長遠發展需求,能夠根據環境轉變及時跟上不落伍的人才。

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

需要的程序員朋友,私信【面試】或掃描左側主頁二維碼免費領取!

電子書

大廠真題

真題專題分類

需要的程序員朋友,私信【面試】或掃描左側主頁二維碼免費領取!

或許下一個進大廠,給小編分享面試經驗的大佬,就是你!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章