剛從鵝廠面試回來,分享個人java後端面試經歷(騰訊五面)!

通過半年的沉澱,加上對MySQL,redis和分佈式這塊的補齊,終於開始重拾面試信心,再次出征。java

clipboard.png

鵝廠面試

面試職位:java後端開發工程師。redis

在鵝廠的面試前三面真的有點急促,一週內就面完了三次面試,接着就開始無盡的等待,整整等了三週左右,終於完成了四面和HR面。整個過程仍是比較曲折的,技術面試的難度也挺大的,不過他們部門也是Java線,因此還比較有的聊。如今已拿到offer。算法

下面我總結的遇到的四面技術面試題和hr面。數據庫

一面:
1 有序數組排序,二分,複雜度編程

2 常見排序算法,說下快排過程,時間複雜度後端

3 有N個節點的滿二叉樹的高度。1+logN數組

4 朋友之間的點對點關係用圖維護,怎麼判斷兩人是不是朋友,並查集,時間複雜度,過程。沒講清楚性能優化

  1. 初始化元素
  2. 實現元素與元素間的聯合操做
  3. 實現查找元素所在樹的根節點
  4. 解決一個問題,斷定兩個元素是否在同一棵樹上(兩個元素是否相互鏈接)

5 單元點最短路的方法,時間複雜度網絡

6 如何實現關鍵字輸入提示,使用字典樹,複雜度多少,有沒有其餘方案,答哈希,若是是中文呢,分詞後創建字典樹?

7 hashmap的實現講一下吧,講的很詳細了。講一下紅黑樹的結構,查詢性能等。

8 Java中的垃圾回收講一下,講了分代,gc算法,gc root可達性分析等

9 講一下兩個項目你都作了什麼把。

10 除了代碼以外你還學習了什麼技術,框架。

11 死鎖是怎麼產生的

12 線程和進程的區別

13 進程的通訊方式

14 CPU的執行方式

15 代碼中遇到進程阻塞,進程僵死,內存泄漏等狀況怎麼排查。經過ps查詢狀態,分析dump文件等方式排查。

16 Linux瞭解麼,查看進程狀態ps,查看cpu狀態 top。查看佔用端口的進程號netstat grep

17 10g文件,只有2g內存,怎麼查找文件中指定的字符串出現位置。MapReduce分割文件處理。

他說能夠用cat | grep 管道處理。

二面:
1 快排的時間複雜度,冒泡時間複雜度,快排是否穩定,快排的過程

2 100w個數,怎麼找到前1000個最大的,堆排序,怎麼構造,怎麼調整,時間複雜度。

3 一個矩陣,從左上角到右下角,每一個位置有一個權值。能夠上下左右走,到達右下角的路徑權值最小怎麼走。

先說了一下dfs遞歸實現。面試官說要優化。

說了一下用迪傑斯特拉的思路,說能夠。

4 四輛小車,每輛車加滿油能夠走一千米,問怎麼能讓一輛小車走最遠。說了好幾種方案,面試官引導我優化了一下,可是仍是不滿意,最後他說跳過。

5 hashmap的實現,hashtable,concurrenthashmap實現。

6 MySQL的索引,B+樹性質。

7 Linux的cpu 100怎麼排查,top jstack,日誌,gui工具

8 Linux大文件怎麼查某一行的內容。

9 Redis內存數據庫的內存指的是共享內存麼

10 Redis的持久化方式

11 秒殺系統的架構設計

三面:
1 十億個數的集合和10w個數的集合,如何求它們的交集。

集合的數字不重複。

我講了兩次循環,兩次hash,以及排序或者合併等方式。。都不對。後來面試官說是對小數組作hash,而後遍歷大數組便可。我徹底想錯方向了。

2 十億和數找到前100個最大的,堆排序,怎麼實現,怎麼調整。

3 TCP和UDP的區別,具體使用場景呢。

4 TCP四次揮手講一下過程,最後一次ack若是客戶端沒收到怎麼辦。

5 對於socket編程,accept方法是幹什麼的,在三次握手中屬於第幾回,能夠猜一下,爲何這麼以爲。

6 Linux操做系統瞭解麼,瞭解一點點,就沒問了。

7 對於單例模式,有什麼使用場景了,講了全局id生成器,他問我分佈式id生成器怎麼實現,說了zk,問我zk瞭解原理不,講了zab,而後就沒問啦。

8 除了單例模式,知道適配器模式怎麼實現麼,有什麼用

9 回到網絡,剛纔你說到直播場景,知道直播的架構怎麼設計麼,要點是什麼,說了幾個不太對,他說要避免廣播風暴,答不會。

10 Redis和MySQL有什麼區別,用於什麼場景。

11 問了一下最近看什麼書,何時開始寫博客的

12 問了還有幾輪面試,他說這輪我能夠過,有點小驚喜

四面:
三面過了半個多月,終於安排四面了。

1 自我介紹

2 項目,收穫

3 Linux瞭解哪些,基礎命令和知識。問我proc文件系統瞭解麼,答不瞭解。

4 TCP和UDP的核心區別在哪,講了滑動窗口保證可靠有序傳輸,UDP不可靠。TCP須要鏈接而UDP不須要。

5 TCP的四次揮手,time wait狀態有什麼意義。

6 說完這個他問我有什麼想問他的了。

7 我問他爲何隔了這麼久才面試,並且以前三面都只是初試,而後他說最近他在休假,因此就。。。害我擔憂了很久。他說接下來等HR面就好了。

HR面:
1 自我介紹

2 實習收穫

3 臺灣交流體驗

4 以前實習公司的狀況,拿到offer了嗎,會如何選擇呢

5 排一下公司,部門,薪資和城市等因素。

6 你的優缺點,如何改進

7 學生時代最成功的事

8 你的預期薪資

總結
總的來講在騰訊的面試還算是順利吧,經驗也談不上有太多,若是各位要去面試的話,基礎仍是最重要的,最後我這裏也總結了像BAT這種大廠的面試題,和一些java架構進階視頻的資料

clipboard.png

資料獲取方式:

請加羣BAT架構技術交流羣:957413713 ,裏面會分享一些資深架構師錄製的視頻錄像:有Spring,MyBatis,Netty源碼分析,高併發、高性能、分佈式、微服務架構的原理,JVM性能優化這些成爲架構師必備的知識體系。還能領取免費的學習資源,相信對於已經工做和遇到技術瓶頸的碼友,在這個羣裏會有你須要的內容。

點擊連接加入羣聊【BAT架構技術交流羣】:https://jq.qq.com/?_wv=1027&k...

相關文章
相關標籤/搜索