通過半年的沉澱,加上對MySQL,redis和分佈式這塊的補齊,終於開始重拾面試信心,再次出征。java
鵝廠面試
面試職位:java後端開發工程師。redis
在鵝廠的面試前三面真的有點急促,一週內就面完了三次面試,接着就開始無盡的等待,整整等了三週左右,終於完成了四面和HR面。整個過程仍是比較曲折的,技術面試的難度也挺大的,不過他們部門也是Java線,因此還比較有的聊。如今已拿到offer。算法
下面我總結的遇到的四面技術面試題和hr面。數據庫
一面:
1 有序數組排序,二分,複雜度編程
2 常見排序算法,說下快排過程,時間複雜度後端
3 有N個節點的滿二叉樹的高度。1+logN數組
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架構進階視頻的資料
資料獲取方式:
請加羣BAT架構技術交流羣:957413713 ,裏面會分享一些資深架構師錄製的視頻錄像:有Spring,MyBatis,Netty源碼分析,高併發、高性能、分佈式、微服務架構的原理,JVM性能優化這些成爲架構師必備的知識體系。還能領取免費的學習資源,相信對於已經工做和遇到技術瓶頸的碼友,在這個羣裏會有你須要的內容。
點擊連接加入羣聊【BAT架構技術交流羣】:https://jq.qq.com/?_wv=1027&k...