博主大三春招實習的歷程與面經 | 掘金技術徵文

JackFrost發表於2018-04-18

經多方要求,還是記錄一下自己的春招經歷,分享下春招經驗。運氣佔了很大部分,拿到了夢寐以求的offer。(今應邀前來掘金大佬社群,發下面經)

同時給各位關注我的人說聲抱歉,一直在準備春招,沒有分享很多東西,
不過很快會有的,在不斷整理中。
複製程式碼

一、寫在前頭

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

博主是雙非學校,本科大三,非計算機專業,大家就不要多問了。

二、注重心態

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

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

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

1) 比拼的東西:

春招因為很多人沒實習經驗,所以比拼列表:學校>實習>專案>獎項

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

2) 投遞技巧:

內推,只有內推。千方百計找到,不然涼涼。

官申時,注意整理成一個文件,方便你複製。當然你也可以用外掛。不過不完善。

3)筆試準備:

刷題。詳情見牛客。

4)面試準備:

1- 你的知識架構 2- 你的表達能力 3- 你對人家公司的瞭解 4- 你對專案的把握程度 5- 你的延伸思考 6- 你關注的廣度

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

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- 你所說的SQL優化,具體是指哪些,怎麼做到的。我問需要詳細講解執行計劃嗎?不需要了。

3- 你是看過Java原始碼或者開源框架的原始碼的吧?我說:對呀。 面試官:那你看過哪些呢??
我說:比如Spring、JDK裡面的一系列集合類、JUC包下的大部分原始碼、MyBatis原始碼等等 嗶哩嗶哩說了一堆,也問一堆。

4- 那你對自己的學習規劃是什麼呢??呃,我最近在學習分散式。 面試官:喔?怎麼學的,學了些什麼? 那就說了一堆分散式的東西

5- 你還有什麼問題要問我的嗎?

三面:(15分鐘35秒)

1- 大學以來的時間規劃

2- 專案一個功能,功能點是怎樣,為什麼封裝,效能瓶頸問題是什麼,講下解決方案 那你對你的系統怎麼進行升級

3- topN的大資料量題

4- 為什麼選阿里不選百度騰訊

才15分鐘,以為涼涼

四面 :(40分鐘32秒)

1- 自我介紹

2- 你相比於同屆,你有什麼優勢??有什麼case證明

3- 你說你喜歡新事物,有什麼case證明嗎?

4- 專案對你最印象深刻的點?給你什麼成長?case case case

4- 工作地點要求??

5- 實習時間?

6- 你有什麼想問我的?

總結起來:

阿里十分注重你對原始碼的理解,對你所學東西的理解,對專案的理解。並且如果你有你的部落格,你的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- 聊下HashMap原始碼,有多詳細講多詳細,死鎖問題,解釋畫圖。然後synMap和concurrentHashMap,主要的設計原理。

2- 執行緒池,如何設計的,裡面的引數有多少種,裡面的工作佇列和執行緒佇列是怎樣的結構,如果給你,怎樣設計執行緒池?

3- AQS原理,ReentranLock原始碼,設計原理,整體過程。

4- 繼續聊多執行緒原始碼,syn原理,然後一個場景設計題

5- 聊一下分散式鎖

6- 聊一下架構,接入層架構,服務層架構。聊下技術棧,spring boot,spring cloud、docker

7- 聊下spring原始碼,知道多少,都聊一下

8- 聊下spring註解,@Autowire,@Resource,以及他們的解析過程

9- 然後專案問題,優化問題

10- 你有什麼想問我的?

二面:(32分鐘36秒,視訊面) 聊下人生,聊多少offer了,怎樣實習,實習時間,轉正問題。

1- float f = 1.4f;double d = 1.4d; 與 float f = 1.5f;double d = 1.5d; 是否為true,記憶體是怎樣的

2- split的原始碼,split("a|b|c");得出多少個陣列

3- 熟悉maven是吧?我們來聊下maven的原始碼原理,

maven衝突的時候,怎麼選擇依賴包,我們怎麼查,我們遇到兩個不一樣的版本,我們應該如何去選擇,為什麼?

4- 怎麼認為一個類是執行緒安全?執行緒安全的定義是什麼?Java有多少個關鍵字進行同步?為什麼這樣設計?(聊了一大堆,一堆為什麼)

5- 兩個執行緒設計題。記得一個是:t1,t2,t3,讓t1,t2執行完才執行t3,原生實現。

6- 寫個字尾表示式,為什麼要設計字尾表示式,有什麼好處?然後寫下中綴。

7- 你學過什麼課程?然後聊下作業系統,核心、使用者之類。

8- get和post,講下區別,要我模擬出抓包來。

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

1- 說下你印象最深的專案,架構、設計都講講。解決什麼核心問題,成長了什麼東西

2- 你說的SQL優化,怎麼優化的,怎麼思考的?整體講下資料庫優化

3- 說下最近學了什麼東西?我說了分散式、深入Java虛擬機器。

講下JVM優化? 講下怎麼思考分散式的東西,說下學到什麼程度了,都詳細講講。有沒有什麼實踐的??

多少種RPC框架?都講下。虛擬機器學到多深了??講下?

4- 詳細講下cookie和session,token,OAuth2.0協議

5- 你是怎麼理解spring的,ssh框架呢?

6- 課程和實習怎麼抉擇

7- 怎麼安排你自己的課程學習

有什麼想問我的?

HR面:

1- 聊下滴滴的業務

2- 實習時間

3- 什麼時候報導

4- 以後的職業發展問題

5- 還有啥offer

總結:

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

4)三七互娛(已拿offer)

一面:

1- 一上來,把所有認識熟用的JUC下的類寫出來,講下使用,然後講下原生的執行緒操作

2- 開閉原則,解析工廠方法模式,建造者模式,區別。手擼出來。

3- 講下JVM的大頁模式,JVM記憶體模型

4- 什麼是敏捷開發,防禦性程式設計,並行程式設計。Team Leader的思考

5- 逃逸分析是什麼,作用是什麼,用途是什麼

6- 反轉連結串列手擼

7- MySQL有多少個引數可調,除了最大連線數。全部列出來,一個個分析。

8- 專案如何分組,效能優化小組應該做哪些

9- 平時怎樣學習?

二面:

自我介紹

1- 我看你做過效能優化,比如你怎麼分析專案裡面的OOM的,記憶體洩露呢?詳細說思路

2- 說下多執行緒,我們什麼時候需要分析執行緒數,怎麼分析,分析什麼因素

3- 我們來說下接入層的搭建,認知分析

4- 也來說下,削峰的多種實現,redis?mq?

5- 為什麼用mq就能削峰?解決什麼問題?

6- 問下專案的系統構建,思考,為什麼這樣構建?

等HR吧

HR面:

1- 聊下大學生活,有什麼亮點

2- case證明的實力。

3- 你的學習安排

4- 聊下你組建的團隊,選人

5- 你有什麼想問我的?

總結:

三七互娛給我的感覺,注重的是你對團隊的思考,你的相關基礎,以及你對使用過的東西的思考。

5)京東:(口頭offer,準備發)

一面:(32分鐘)

自我介紹

1- 抽象方法和類方法的區別,static的抽象方法可以嗎?

2- 說下Java的克隆體系

3- 說下集合的體系

4- 說幾個演算法?

5- 什麼時候可以來實習

6- 平時怎麼學習的?分散式、虛擬機器?學了啥東西,怎麼學,具體說下

7- 基於怎樣去寫部落格的?

8- 除了Java還學了什麼技術,或者說別的東西?

9- 我們來講講redis,你覺得redis是個怎樣的東西,除了快取還有什麼 知道它的過期策略嗎?詳細說下

10- 如果後續有面試,你看什麼時候可以?

二面:(50分鐘)

自我介紹

1- 聊下專案

涉及OOM、JVM優化、原始碼問題、資料庫優化、多執行緒等問題

2- 聊下優化過的索引,怎麼優化

3- 快排,給一串陣列,把具體每次patition寫下,最終結果也寫

45, 32, 41, 35, 38, 20, 50

4- 聊下三次握手、四次揮手

5- 聊下長連線的問題

6- 看下下面的設計合理不合理

Class C1{ boolean equals(Object b){ return b.toString().equals(this.toString()); } }

順帶聊下equals設計、toString的重寫設計

7- 一個整數status, 判斷第K個位元位是否為位元1

思路+程式碼

8- 再聊下http的http basic authentication

9- 你有啥想問我的

HR面:(15分鐘)

1- 你有什麼問題問我的?

2- 你現在有什麼offer

3- 工作地點怎麼考慮的

4- 你在學校的社團成長了什麼

5- 你父母做什麼的,在哪裡工作,既然在廣東,沒考慮過嗎??你應該在廣東工作啊

6- 你對這個業務感興趣嗎?

7- 你想在公司成長什麼東西?

8- 你的優點,你的缺點

9- 周圍人對你的評價

10- 你還有什麼問題想問我的?

嗯,之後的hr會跟你聯絡offer下達問題

總結:

比較注重通用的設計基礎,基本演算法的理解。還有你的廣度認知。

6)騰訊:(內推二面掛了)

蜜汁自信地投了wxg

一面:(35分鐘)

1- 你是廣工的嗎?是的

2- 你的專業是非純計算機專業嗎??好吧,是的。

3- 你的專案是怎麼開展的,你的協同過濾演算法是怎樣的?資料模型是怎樣?為什麼這樣設計

4- JVM記憶體模型,我給他從1.6講到1.8

5- 專案,這個功能怎麼設計的,怎麼做的,進行了什麼優化。索引的缺點?

6- 聊聊併發包你瞭解多少,都說說

7- 你的專案涉及到任務排程quatz問題,是怎麼設計的。有什麼經驗分享下嗎?

8- 嗯,來道基本的動態規劃吧,錢幣問題。

你有什麼想問我的?

二面:(40分鐘)

1- 直接聊人生,現在大幾,學校在哪之類。

2- 聊專案,為什麼這個功能這樣做,說下整體功能架構,說下用什麼資料庫,什麼引擎,為什麼用這個?

然後,中間懟一懟,功能不難嘛,實習做的功能也不是特別牛,我覺得不如在學校自學。 3- 聊人生吧,你的學校經歷

4- 你的課程學習

5- 你怎麼安排自己的時間的

6- 你說你清晰自己的道路,怎樣個清晰法?

7- 我看你挺活躍的,你是單身嗎?為什麼?

8- 你的比賽中的角色是怎樣的?

有什麼想問的??

總結:

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

五、寫在後面:

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

樓主有確定結果的公司面試,會補上後續面經的,感謝支援。 下面是博主的部落格,歡迎點評,指出錯誤,也歡迎來討論技術問題。

博主部落格連結

相關文章