天天看點

頭條JAVA後端實習生面經

當初剛考完研就去投的履歷,頭條他們回報很快,考完研第三天就得去面試了,沒來得及準備多少。大家想去頭條實習的最好先準備準備再投啊!!

一面:

1.設計模式有哪些?具體說一下。(我履歷上有寫學過這門課程,常見的設計模式說了一下。掌握不太好的課程别寫到履歷啊!面試完小哥哥說其實他們不太注重考查設計模式)

2.Linux操作指令知道哪些。(Linux全忘光了,隻能瞎掰幾個簡單的指令)

3.Linux如何進行線程排程?(這個當初不會,好久沒碰Linux了)

4.Mysql資料庫是如何實作索引的?(這個好像很常考,我講了下底層的實作)

5.聚簇索引和非聚簇索引的差別。(上一題我提了一下這個,大家可以準備一下答題内容,适當引導面試官問你)

6.事務的ACID解釋一下。(資料庫基礎題)

7.在分布式系統如何實作事務的ACID?(分布式挺熱門的,可惜我沒了解,不會)

8.解釋一下DNS和網關和子網路遮罩。(計網基礎題)

9.輸入域名對應能找到多少個IP位址?

10.解釋一下http的get和pose方法。(瞎答了,都忘了)

11.cookie和session有什麼差別?(上一題我提了下這兩個東西)

12.解釋平衡樹和動态平衡樹。(問的挺詳細的,不記得我怎麼答的了,就看你對課本基礎知識的了解深不深,變式了不了解)

13.給定一個單連結清單如何找到中間結點?寫出代碼。(網上好像有很多對連結清單的操作的算法題)

14.寫一個單連結清單的翻轉算法。(資料結構基礎題)

15.取資料庫某屬性正序的第二條資料,寫出指令。(資料庫基礎題)

二面:

1.求圖的最短路徑有哪些算法?(資料結構基礎題)

2.分别說一下Prim, Dijkstra, Kruskal, Bellman Ford, Floyd算法。(上一題我提了下這幾個算法,資料結構基礎題)

3.講一下作業系統的記憶體管理。(我那個學校考研初試不考作業系統啊啊,忘了,後來準備複試看看好像是作業系統基礎題)

4.講講分頁、虛拟記憶體。(作業系統基礎題,當時我也不記得)

5.Mysql索引怎麼實作的?(常問題)

6.為什麼大家用B+數而不用紅黑數和AVL樹去實作它?(上一題我說到了B+樹,這題我隻講了下為什麼用B+數,看你能不能靈活運用課本知識了)

7.B+數查找的時間複雜度是多少?(資料庫基礎題)

8.比較排序算法的時間複雜度下界是多少?(當時我腦子裡隻記得常用排序算法中時間複雜度最低的是多少,不知道對不對)

9.如果我要低于這個界限,應該怎麼改進?(不會啊啊啊)

10.講一下桶排序算法。(資料結構基礎題)

11.查找算法時間複雜度的下界是多少?(和第八題一樣)

12.寫一下Dijkstra算法。(啊資料結構基礎題,可是我隻記得大概,寫得不是很通順)

13.求一個無序數組中第k個數,寫出其實作過程。其最優算法的複雜度是多少?(這個好像經常問到)

14.寫一個shuffle算法。(寫了個最簡單的亂序的算法,自己都看不下去了)

15.實作一下,有一棵二叉樹,每個結點都有一個next指針,用該指針把每層的結點連起來。(哎寫出來有好多小錯誤,一看就編譯不了,寫了好久)

然後二面就挂了,他們對手撕代碼還是很看重得,不能隻知道怎麼實作。我走的時候小哥哥說要多在網上練練算法啊程式設計,要能很快的寫出來。像資料結構、計網、資料庫、作業系統要很熟地掌握,他們會盡可能地挖深。他們好像不怎麼問項目,都是在考察基礎,可能因為我還沒畢業。大家加油啊!!

繼續閱讀