迎戰2021年春招,面試螞蟻金服,京東,騰訊等六家大廠的面試經驗分享!(附300多道面試真題)

程式設計師黑哥發表於2020-12-26

一、寫在前頭

首先,我的面試經歷和一下面霸、收割機大佬相比,不是特別豐富,只是略有感悟,分享這幾個月來的心路歷程,也讓後來者可以借鑑一下而已。

二、注重心態

明確一點: offer = 心態(30%)+實力(30%)+運氣(40%)

曾經也在春招心態炸裂過,因為看到很多不公平,看到很多覺得侮辱自己汗水和淚水的東西。不過炸裂的幾天後想到,如果這樣下去,我會給帶節奏的,會造成更大的悲劇,所以不行,必須積極起來。

三、春招的暗坑與技巧:(以大廠為目標)

1. 比拼的東西:

  • 春招因為很多人沒實習經驗,所以比拼列表:學校>實習>專案>獎項
  • 對於學校牛逼的,你很大優勢了,只要把基礎打紮實,對專案把握大點就ok的。
  • 對於學校不行的,比如博主,麻煩你去實習一下,大膽出去。
  • 對於學校不行也沒實習的,麻煩你把專案仔細研究,每個點研究透徹。
  • 獎項?那只是加分項。前三個都沒一個,春招就涼涼了。

2.投遞技巧:

  • 內推,只有內推。千方百計找到,不然涼涼。
  • 官申時,注意整理成一個文件,方便你複製。當然你也可以用外掛,比如白熊,不過不完善。

3.筆試準備:

  • 刷題。詳情見牛客。

4.面試準備:

  • 你的知識架構
  • 你的表達能力
  • 你對人家公司的瞭解
  • 你對專案的把握程度
  • 你的延伸思考
  • 你關注的廣度

四、大家最想看的面經:(只寫已確認結果的)

1.螞蟻金服(已拿offer)

螞蟻是樓主第一次的面試記錄,所以不習慣,記錄的不詳盡,很抱歉。

一面:(45分鐘26秒)

  1. 介紹專案,問一堆專案的
  2. tomcat快取,聊下快取的整體理解,知道多少種快取
  3. SQL優化思路,聯合索引與底層樹結構的映像關係,索引結構(B+、B-),為什麼用這樣的結構
  4. spring的bean生命週期(詳細)、作用域
  5. 樂觀悲觀鎖的設計,如何保證原子性,解決的問題
  6. 看過你部落格,解釋下lucene原理,倒排索引,怎樣進行中文分詞,基於什麼進行分詞
  7. 你是怎麼設計系統快取的,為什麼,什麼場景
  8. Java基礎,說我看過你部落格,你就大概說下集合、io、多執行緒的理解吧。
  9. 介紹下部門

二面:(43分鐘10秒)

  1. 自我介紹
  2. 介紹下你在專案中最突出的點。你是怎樣設計的,你擔當的角色跟設計過程是怎樣,遇到的難題是什麼,怎麼解決?
  3. 你所說的SQL優化,具體是指哪些,怎麼做到的。我問需要詳細講解執行計劃嗎?不需要了。
  4. 你是看過Java原始碼或者開源框架的原始碼的吧? 我說:對呀。 面試官:那你看過哪些呢?? 我說:比如Spring、JDK裡面的一系列集合類、JUC包下的大部分原始碼、MyBatis原始碼等等嗶哩嗶哩說了一堆,也問一堆。
  5. 那你對自己的學習規劃是什麼呢??呃,我最近在學習分散式。 面試官:喔?怎麼學的,學了些什麼?那就說了一堆分散式的東西
  6. 你還有什麼問題要問我的嗎?

三面:(15分鐘35秒)

  1. 大學以來的時間規劃
  2. 專案一個功能,功能點是怎樣,為什麼封裝,效能瓶頸問題是什麼,講下解決方案 那你對你的系統怎麼進行升級
  3. topN的大資料量題
  4. 為什麼選阿里不選百度騰訊
  5. 才15分鐘,以為涼涼

四面 :(40分鐘32秒)

  1. 自我介紹
  2. 你相比於同屆,你有什麼優勢??有什麼case證明
  3. 你說你喜歡新事物,有什麼case證明嗎?
  4. 專案對你最印象深刻的點?給你什麼成長?case
  5. 工作地點要求??
  6. 實習時間?
  7. 你有什麼想問我的?

總結起來:

阿里十分注重你對原始碼的理解,對你所學東西的理解,對專案的理解。並且如果你有你的部落格,你的github是一個十分大的加分項。

2.拼多多(已拿offer)

一面:(大概一個鐘)

  1. char和double的位元組,以及在記憶體的分佈是怎樣
  2. 虛擬機器JVM記憶體模型,詳細講下。GC呢?詳細點
  3. 物件記憶體佈局,然後講下物件的死亡過程?
  4. 物件頭,詳細講下
  5. syn原理詳細,syn內拋異常會怎樣,死鎖嗎?還是釋放掉?怎麼排查死鎖?死鎖會怎樣?有沒有什麼更好的替代方案?
  6. CPU高?什麼情況cpu高?解決什麼問題?
  7. 詳細講一下集合,HashSet原始碼,HashMap原始碼,如果要執行緒安全需要怎麼做?
  8. 資料結構學過吧,聊一下?學過什麼結構?講下樹和佇列?B樹呢?
  9. 作業系統學過吧,聊一下?講一下系統記憶體是怎樣的?分段分頁虛擬記憶體?
  10. 頁面置換演算法呢?多少種?有最優的置換演算法嗎?
  11. http和https?http1.0,1.1,2.0,講下長連線和短連線?https是怎樣的?如果我篡改了公鑰呢?怎麼防止?
  12. 講下請求頭細節?
  13. 平時是怎樣學習的?

二面 :(大概50分鐘)

  1. 你對後端怎麼理解?
  2. 你對接入層要思考什麼東西?遇到過哪些問題?搭建系統要考量哪些因素?
  3. 學過MySQL是吧?講下MySQL的叢集?叢集遇到過什麼問題?sql的優化?你目前為止遇到的最大資料量是多少?知道100萬時候怎麼設計嗎?1000萬呢?如果像拼多多那樣,過幾十億呢?
  4. 一致性雜湊是幹嘛的?
  5. 多執行緒是解決什麼問題的?執行緒池解決什麼問題?
  6. 學過計算機網路是吧?socket熟悉嗎?對它的讀寫緩衝區有理解嗎?怎麼的?那滑動視窗是怎樣的?為什麼這樣設計?擁塞演算法知道嗎?哪些,分別怎樣?
  7. 你有遇到過臨界區問題嗎?有遇到過嗎?你在專案遇到這個問題是怎樣解決的?
  8. 搭建高併發高可用系統需要怎樣設計?考慮哪些東西,有多少說多少。
  9. 你對快取有什麼理解?快取是解決什麼問題?後端快取有哪些,分別解決什麼問題?
  10. 你有什麼想問我的?

HR面:(40分鐘左右)

  1. 你父母做什麼的?
  2. 為什麼從事網際網路?
  3. 你對加班怎麼看?
  4. 說了下拼多多的情況
  5. 聊下拼多多這款產品
  6. 薪資(老實說,很高)
  7. 還有啥疑問。

總結:

拼多多比較注重你的架構能力,實戰能力,還有一些普通的基礎。

3.滴滴出行(已拿offer)

一面: (48分鐘36秒,視訊面)

  1. 聊會人生
  2. 自我介紹
  3. 聊下HashMap原始碼,有多詳細講多詳細,死鎖問題,解釋畫圖。然後synMap和concurrentHashMap,主要的設計原理。
  4. 執行緒池,如何設計的,裡面的引數有多少種,裡面的工作佇列和執行緒佇列是怎樣的結構,如果給你,怎樣設計執行緒池?
  5. AQS原理,ReentranLock原始碼,設計原理,整體過程。
  6. 繼續聊多執行緒原始碼,syn原理,然後一個場景設計題
  7. 聊一下分散式鎖
  8. 聊一下架構,接入層架構,服務層架構。聊下技術棧,spring boot,spring cloud、docker
  9. 聊下spring原始碼,知道多少,都聊一下
  10. 聊下spring註解,@Autowire,@Resource,以及他們的解析過程
  11. 然後專案問題,優化問題
  12. 你有什麼想問我的?

二面:(32分鐘36秒,視訊面)

  1. 聊下人生,聊多少offer了,怎樣實習,實習時間,轉正問題。
  2. float f = 1.4f;double d = 1.4d; 與 float f = 1.5f;double d = 1.5d; 是否為true,記憶體是怎樣的
  3. split的原始碼,split(“a|b|c”);得出多少個陣列
  4. 熟悉maven是吧?我們來聊下maven的原始碼原理,maven衝突的時候,怎麼選擇依賴包,我們怎麼查,我們遇到兩個不一樣的版本,我們應該如何去選擇,為什麼?
  5. 怎麼認為一個類是執行緒安全? 執行緒安全的定義是什麼? Java有多少個關鍵字進行同步? 為什麼這樣設計?(聊了一大堆,一堆為什麼)
  6. 兩個執行緒設計題。記得一個是:t1,t2,t3,讓t1,t2執行完才執行t3,原生實現。
  7. 寫個字尾表示式,為什麼要設計字尾表示式,有什麼好處?然後寫下中綴。
  8. 你學過什麼課程?然後聊下作業系統,核心、使用者之類。
  9. get和post,講下區別,要我模擬出抓包來。

三面:(56分鐘32秒,視訊面)

  1. 說下你印象最深的專案,架構、設計都講講。解決什麼核心問題,成長了什麼東西
  2. 你說的SQL優化,怎麼優化的,怎麼思考的?整體講下資料庫優化
  3. 說下最近學了什麼東西?我說了分散式、深入Java虛擬機器。
  4. 講下JVM優化?講下怎麼思考分散式的東西,說下學到什麼程度了,都詳細講講。 有沒有什麼實踐的??多少種RPC框架?都講下。 虛擬機器學到多深了??講下?
  5. 詳細講下cookie和session,token,OAuth2.0協議
  6. 你是怎麼理解spring的,ssh框架呢?
  7. 有什麼想問我的?

HR面:

  1. 聊下滴滴的業務
  2. 實習時間
  3. 什麼時候報導
  4. 以後的職業發展問題
  5. 還有啥offer

總結:

滴滴出行,很難。有的問到靈魂深處。比較注重對一些細節的把控,原始碼的理解,框架的理解。

4.騰訊:(內推二面掛了)

一面:(35分鐘)

  1. 你的專案是怎麼開展的,你的協同過濾演算法是怎樣的?資料模型是怎樣?為什麼這樣設計
  2. JVM記憶體模型,1.6聊到1.8
  3. 專案,這個功能怎麼設計的,怎麼做的,進行了什麼優化。索引的缺點?
  4. 聊聊併發包你瞭解多少,都說說
  5. 你的專案涉及到任務排程quatz問題,是怎麼設計的。有什麼經驗分享下嗎?
  6. 嗯,來道基本的動態規劃吧,錢幣問題。
  7. 你有什麼想問我的?

總結:

沒完全面完,無法總結評價,據說今年鵝廠收3000人,可能我還不夠水平吧。

注:篇幅問題只寫4家,完整連結:迎戰2021年春招,面試螞蟻金服,京東,騰訊等六家大廠的面試經驗分享!(附300多道面試真題)

無論是正在春招的人,還是以後春招的人,祝福你們!希望你們拿到想要的offer。

讀者分享

針對於上面的文章我總結出了網際網路公司java程式設計師面試涉及到的絕大部分面試題及答案做成了文件和架構視訊資料免費分享給大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分散式、高併發等架構技術資料),希望能幫助到您面試前的複習且找到一個好的工作,也節省大家。

image

資料免費領取方式:點這裡 找管理小姐姐免費獲取!

更多架構專題及視訊資料展示如下:

image

資料免費領取方式:點這裡 找管理小姐姐免費獲取!

image

相關文章