16天5面,我終於拿到了鵝廠Offer


上一篇 我在華為OD的275天 最后說,要講講自己為什么會堅持在年底離職,以及離開后去了哪兒。趁周末,鴿王本鴿來交下作業😂

1 - 為什么要在年底離職

1.1 好像都沒有什么成長

20年11月初的一天,在同事們討論“某某被其他公司高薪挖去了,錢景無限”的消息。

我忽然驚覺,自己來到華為半年多,除了熟悉內部的系統和流程,好像沒有什么成長和進步?

不禁反思:只有厲害的人才會被挖,現在這個狀態的我,在市場上值幾個錢?

1.2 投簡歷,找面試官求虐

剛好想起了之前的一個同事在離職聚會上分享的經驗:

技術人不能閉門造車,要多交流,多看看外面的動態。

如果感覺自己太安逸了,那就把簡歷掛出去,去了解其他公司用的是什么技術,他們更關注哪些痛點?面幾次你就有方向了。

這時候起了個念頭:找面試官求虐,以此來鞭策自己,進而更好地制定學習方向。

於是我重新下載了某聘軟件,在首頁推薦里投了幾家公司。

1.3 開始面試了……

11月10號投的簡歷,當天就有2家預約了11號下午的線上面試,其中就有鵝廠🐧

好巧不巧,10號晚上要雙十一業務保障,一直到第二天凌晨2點半才下班。

熬夜太傷身,還好能申請調休一天,也省去了找借口請假🙊

這段時間集中面了3家:

第1個是廣州的公司,11號當晚就完成了2輪線上面試,開得有點低,就婉拒了;
第2個就是本文的重點——鵝廠;
第3個是做跨境電商的公司,一面就跪(恭喜它榮升為“在我有限的工作經歷中,面試體驗最差的2家公司之一”🙂️)

1.4 鵝廠,去還是不去?

一直有一個大廠夢,奈何菜鳥一枚,之前試過好幾次,都跪在技術面了。

所以想了個曲線救國的方法:先在其他單位積累着,有機會了再爭取大廠的機會💪

很幸運,也很猝不及防,這次竟然通過了鵝廠的所有面試。

雖然已到年底,但是要是錯過這么難得的機會,下次就不知道什么時候才能再通關了。

所以,年后拿到年終再跳槽 vs 已到手的鵝廠 Offer,我選擇了后者😄

2 - 我的鵝廠面試

如本文標題所說,16天通關五輪面試,第17天,我終於收到了期盼已久的鵝廠 Offer。

做技術的同學,可能會對鵝廠的面試很好奇,他們都會問哪些問題呢?

我應聘的是大數據開發(Java)崗位,接下來對我的面試做個梳理,也給想來鵝廠的同學們一個參考😊

幾乎所有問題都能在網絡上找到很詳細的答案。
篇幅有限,這里只寫題目和一些引申的問題。

2.1 技術一面

Java 語言相關

1、對 Java 的類加載器有沒有了解?如何自定義類加載器?

引申:一個類能被加載多次嗎?java/javax 包下的類會被加載多次嗎?

2、Java 中要怎么創建一個對象🐘?

3、對多線程有了解嗎?在什么場景下需要使用多線程?

引申:對 線程安全 的認識;對線程池的了解,以及各個線程池的適用場景。

4、對垃圾回收的了解?

5、對 JVM 分代的了解?

6、NIO 的了解?用過 RandomAccessFile 嗎?

引申:對 同步、異步,阻塞、非阻塞 的理解?

多路復用 IO 的優勢?

7、ArrayList 和 LinkedList 的區別?各自的適用場景?

8、實現一個 Hash 集合,需要考慮哪些因素?

引申:JDK 對 HashMap 的設計關鍵點,比如初識容量,擴所容,鏈表轉紅黑樹,以及 JDK 7 和 JDK 8 的區別等等。

通用學科相關

1、TCP 的三次握手;

2、Linux 的常用命令,比如:

ps aux / ps -ef、top C
df -h、du -sh *、free -g
vmstat、mpstat、iostat、netstat

項目框架相關

1、Kafka 和其他 MQ 的區別?它的吞吐量為什么高?

消費者主動 pull 數據,目的是:控制消費節奏,還可以重復消費;

吞吐量高:各 partition 順序寫 IO,批量刷新到磁盤(OS 的 pageCache 負責刷盤,Kafka 不用管),比隨機 IO 快;讀取數據基於 sendfile 的 Zero Copy;批量數據壓縮……

2、Hive 和 SparkSQL 的區別?

3、Ranger 的權限模型、權限對象,鑒權過程,策略如何刷新……

問題定位方法

1、ssh 連接失敗,如何定位?

是否能 ping 通(DNS是否正確)、對端端口是否開了防火牆、對端服務是否正常……

2、運行 Java 程序的服務器,CPU 使用率達到 100%,如何定位?

ps aux | grep xxxjps 命令找到 Java 的進程號 pid

然后用 top -Hp pid 命令查看其阻塞的線程序號,將其轉換為16進制

再通過 jstack pid 命令跟蹤此 Java 進程的堆棧,搜索上述轉換來的16進制線程號,即可找到對應的線程名及其堆棧信息……

3、Java 程序發生了內存溢出,如何定位?

jmap 工具查看堆棧信息,看 Eden、Old 區的變化……

2.2 技術二面

二面主要是過往項目相關的問題:

1、Solr 和 Elasticsearch 的區別 / 優劣?

2、對 Elasticsearch 的優化,它的索引過程,選主過程等問題……

3、項目中遇到的難題,如何解決的?

blabla 有少量的基礎問題和一面有重復,還有幾個和大數據相關的問題,記不太清了😅

2.3 技術三面

這一面是總監面,更多是個人關於職業發展的一些想法,以及在之前公司的成長和收獲、對下一份工作的期望等問題。

但也問了幾個技術問題。印象比較深的是這個:

1個1TB 的大文件,每行都只是1個數字,無重復,8GB 內存,要怎么對這個文件進行排序?

首先想到的是 MapReduce 的思路,拆分小文件,分批排序,最后合並。

此時連環追問來了:

Q:如何盡可能多的利用內存呢?

A:用位圖法的思路,對數字按順序映射。(對映射方法要有基本的了解)

Q:如果在排好序之后,還需要快速查找呢?

A:可以做索引,類似 Redis 的跳表,通過多級索引提高查找速度。

Q:索引查找的還是文件。要如何才能更多地利用內存呢?

A:那就要添加緩存了,把讀取過的數字緩存到內存中。

Q:緩存應該滿足什么特點呢?

A:應該使用 LRU 型的緩存。

呼。。總算是追問完了這道題😂


還有 GM 面和 HR 面,問題都和個人經歷相關,這里就略去不表。

3 - 文末的絮叨

入職鵝廠已經1月有余。不同的崗位,不同的工作內容,也是不同的挑戰。

感受比較深的是,作為程序員,還是要自我驅動,努力提升個人技術能力,橫向縱向都要擴充,這樣才能走得長遠。

最后再廣告下,有想要加入鵝廠、或者有疑問的同學,可以留言,或關注公眾號加我好友,我盡力給你解答😊


版權聲明

作者:瘦風(https://healchow.com)

出處:博客園-瘦風的南牆(https://www.cnblogs.com/shoufeng)

感謝閱讀,公眾號 「瘦風的南牆」 ,手機端閱讀更佳,還有其他福利和心得輸出,歡迎掃碼關注🤝

本文版權歸博主所有,歡迎轉載,但 [必須在頁面明顯位置標明原文鏈接],否則博主保留追究相關人士法律責任的權利。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM