金三銀四過後,小編收集到了一許多粉絲和朋友發來的喜訊,從彙總的信息上瞭解到,他們平均月薪達到了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基礎和算法基本就成功了一半,更多場景化操作可以加分又加薪。
最後說幾句
這些問題真的很難嗎?
不難!
你真的不會嗎?
會!
面試答得出來嗎?
答不出來!
爲什麼?
很多程序員朋友,都只在乎自己在工作中用到的部分技術,會用就行,公司不大,技術要求不廣,夠用就行。
恰恰就忽略了面試中問問題的深度與廣度,真的是面試造火箭,工作擰螺絲嗎?
不是,面試篩選出來的程序員,是能夠符合公司長遠發展需求,能夠根據環境轉變及時跟上不落伍的人才。
所以啊!霸哥奉勸各位還處在低薪,滿足現狀的程序員朋友,多看看前方吧!
需要的程序員朋友,私信【面試】或掃描左側主頁二維碼免費領取!
電子書
大廠真題
真題專題分類
需要的程序員朋友,私信【面試】或掃描左側主頁二維碼免費領取!
或許下一個進大廠,給小編分享面試經驗的大佬,就是你!