java實習面試總結

從3月下旬開始處處投簡歷到如今,陸陸續續面試了有不少次了,如今作一些總結。html

筆試

筆試作了網易、阿里和騰訊3家公司的,整體上來講網易和阿里差很少,都是一些常見的java面試基礎題,不過考的很是細緻,多刷刷牛客上的java面試題應該就沒多少問題了,還有一些計算機網絡、操做系統、算法之類的題目。騰訊投的java崗,可是筆試作的c++的,太坑爹了,還好5年前的一些c++底子還在,像考sizeof()結果的題就出現了好幾回。關於編程題騰訊的更貼近acm,網易和阿里貼近leetcode上一些題。java

騰訊一面

一面基本都是面試的基礎知識,沒有怎麼問項目相關,具體有:
非遞歸實現二叉樹前序遍歷(兩種,stack壓棧左右結點、或者一直先壓左結點,準備就非遞歸的幾個算法再寫一篇博客);
死鎖是什麼,出現的條件,解決死鎖的辦法(銀行家算法,資源排序,總之破壞死鎖的四個條件);
hash實現,怎麼解決碰撞衝突;
http協議長鏈接與短鏈接,http1.0怎麼實現長鏈接(輪詢、long poll、websocket,這個答的有點運氣好,回來查了才知道websocket不是http協議上的,是一個基於http新協議,z這裏找了一篇寫的比較好的博客(https://www.cnblogs.com/Herzog3/p/5088130.htmlg3/p/5088130.html) ;
https協議(沒了解過);
tcp握手、揮手過程,爲何有timewait;
有1000萬以上的數,數的大小範圍是1到100W,問排序算法(分治、快排、或者計數排序);
給定一個ip組,如1.1.1.235~1.1.2.10,給定一個ip,怎麼使用O(1)的方法判斷它在哪一個組裏(我給了trie樹的方法,可是面試官好想不太滿意)
final,finally,finallized的區別;
final能夠用在什麼地方;
sleep和wait的區別;
在try。。finally中,try中有return語句的話finally會執行嗎;c++

面試的結果整體來講不太滿意,tcp,http好久沒看過了 ,忘得差很少了,https完成沒怎麼了解。web

騰訊二面

剛開始就項目介紹,說了說去年在阿里實習作的項目(一個分佈式數據遷移項目),提到用到了一些中間件。因而面試官問了一些中間件的問題,結果一面懵逼。問了瞭解哪些中間件,答rpc框架、消息中間件、緩存這些,我都只是用了用,只是稍微看了看原理和架構。面試官讓我介紹這些中間件的優缺點以及zookeeper在其中的做用,都沒答出來。
接着問了算法:
N個獨立區域,共M條兩點專線網絡,判斷是否全部N個區域都是互相聯通的。一開始直接bfs,dfs,面試管顯然不太滿意,後來靈機一動,用並查集解決了;
gcd算法,展轉相除;
給定一個數n,求n!末尾0的個數。就是求小於等於n的數中因子5的個數;
還問了些什麼有點忘了。。。。總之問了好幾道算法題。。。面試

面試算法題都答出來了,面試結束時面試官讓我準備hr面,而且告訴我多瞭解一些中間件的原理,更深刻去挑戰一下,不要單純地看性能、看架構。算法

騰訊hr面

老規矩,自我介紹。。。
問了去年阿里的實習經歷
大學期間作過什麼項目
瞭解什麼新的技術嗎
何時對it感興趣的,自學過什麼嗎
等等等。。問得小問題挺多的,最後面試官說表現不錯,口頭給了offer,可是幾天過去了也沒動靜。。。編程

整體來講騰訊注重算法基礎,看看《編程之美》《劍指offer》這些書頗有幫助。緩存

網易

杭州面試,來回路費得倒貼600,,還得兩天住宿,沒敢去。。websocket

阿里

去年在阿里b2b部門實習,今年投了基礎事業羣,很具備挑戰性的部門,確實也挺想去的,可是二面遺憾掛了,總結一下網絡

一面

時間過得有點久了,記得不清了。。
java容器(答得比較詳細,有List\Map\queue三大塊,總體繼承體系、各類容器的實現原理、工具類,concurrent包下的cas容器、阻塞隊列等等,之前寫過一篇相關博客(http://www.javashuo.com/article/p-vdkpuqkp-ch.html) )
final、finally、finallize
public、private、default、protected幾種區別
抽象類和接口異同
項目介紹

二面

二面的面試官是當年同校大了三級的學長,竟然碰到學長了,親切地喊了學長。。
一上來問了去年實習作的項目、遇到的問題、怎麼解決的
多臺機器海量日誌按時間戳前後順序合併(感受這個答的有點很差,當時想日誌太大,不能同時讀取,得用隨機存取,結果下來查了查,看來對io還有點理解錯誤,隨機存取和讀取量無關,只是讀取的順序而已。而後每次讀到時間戳,選擇最早的放入新日誌文件就行。)
動態規劃和貪心算法的區別,用揹包問題舉例。(動態規劃尋找全局最優解,每一步依賴上一步全部解,由於下一步的最優解可能不是上一步的最優解獲得的,而是其餘解。貪心算法尋找局部最優解,每次依賴上一步局部最優解獲得下一步的解)
kmp算法原理、要在十億個商品中搜索某類商品,kmp和徹底匹配的區別、另外問什麼kmp算法可能比徹底匹配更慢。(沒答出來,面試官說由於操做系統內存調度,kmp的next可能處處亂跳,頻繁換頁。這也行。。。)
在一個上億次循環中,只有一個i++操做,爲何運行時間多是幾十ms,也多是幾十s。(徹底答不出來,給了答案,和cpu優化有關,部分cpu會進行陣列計算優化。這。。。)
最後聊了區塊鏈pow、hash計算的一些問題 (這。。。)

原本感受還能夠,最後查狀態掛了,內心感受一直不太好受,感受面試官的問題有點刁難,可能基礎平臺與底層技術接觸的比較多吧 T_T。

相關文章
相關標籤/搜索