天天看點

Android:211碩士二面位元組跳動,面試官不錄用我給我的暗示

211碩士/方向是深度學習,有大小4篇paper(可能是靠這個過的履歷,但也沒屁用),一直在一家科技公司實習,然後突然有個朋友說有位元組的内推,投一下 = = (然後我到現在就自閉了)

Android:211碩士二面位元組跳動,面試官不錄用我給我的暗示

目前發現自己存在兩個問題:

  1. 履歷不太對口,自己給自己挖坑:

明明很久沒用資料庫了,非要寫上去

明明python就隻是會用,非要寫上去

  1. 基礎都有點印象,但是還是囫囵吞棗了:

3月份把作業系統/計算機網絡/資料庫都看了一遍(課本),然後就完事了,但其實很多東西課本上面根本沒有

其實這段時間也是一直有在看java,jvm基本快看完了,面試官說python的GC了解嗎(我知道,接下來我人沒了)

一面(7月26日/早10點/45min17s)

1、上來自我介紹(我中規中矩的完成了,提及了在實習中)

2、為什麼投用戶端(我其實也挺迷茫的,但面試官突然提及了一句或許是因為會更有成就感,我内心小火花就起來了)

3、在實習公司主要做什麼(語音識别/打雜/取快遞/項目經理)

4、計算機基礎開始:

程序和線程(這裡一聽到就很刺激,很熟,但是說起來就都忘了,大緻說了6/7點,然後我說差不多了)

一次網頁請求的完整過程(我從輸入域名講到了建立通信開始傳輸)

中間被打斷,DNS的詳細過程–>從本地HOST講到根域名/頂級域名

再被打斷那麼本地DNS伺服器查詢的方式有哪幾種(我懵了,有點印象,想不起來,提示遞歸,我說我剛剛說的是遞歸,還有的我想不起來了/下去看這個是在課本第六章,當時剛好看到這裡沒看了–>打我自己一嘴巴)

說完DNS後,要繼續下面的過程,當說到HTTP的時候,繼續打斷:

前端浏覽器怎麼渲染網頁–>頓一秒,對不起我不知道

HTTP的請求封包具體格式–>慌了,一時想不起來,差點把TCP的封包說了個遍,後來自己突然意識到說錯了,想了一下說請求頭和請求體,但還有一個,想不起來了

提示:GET and POST

回答了GET and POST的差別(這裡其實已經告訴了,請求方式其實是在請求行裡面的)

死鎖/以及解決的方法–>這個比較正常,就不聊了

程序的三種狀态,轉換的方式

5、 兩個場景問題:

如果讓你統計一個地區的加油站數量,你咋整?–>我給了一種方案,問還有沒有,想了3秒,給了第二種方案

如果你看頭條得時候,視訊卡住了,分析原因.–>我答了一些自己網絡環境還有手機的問題,面試官問,伺服器呢,我能想到的就是伺服器down機了

6、java:

說一下hashmap(我答java看的不多,但是這個我看過源碼,簡單的說了初始值為16/擴容因子為0.75/擴容為翻倍/單個桶在8個前為連結清單,超過後為紅黑樹,其實還有很多,但是想不起來,比如resize後的hash在1.7和1.8的改變)

追問:那麼為什麼擴容是翻倍呢(頓了一分鐘,突然想起來,這個要和初始值一起說,主要涉及到位與運算,如果不是16和翻倍,會導緻桶的使用率下降,這裡我隻說了如果不是翻倍,沒有提及16)

java的鎖( 我看到是看過的,但是一下子下不起來,答了讀寫鎖/互斥鎖/自旋鎖,并具體介紹了一下)

7、tensorflow Lite了解嗎(不了解,告知我是移動端的,這個我是真不了解)

8、算法題:

升序,可正負的數組,平方後,不重複的個數

在提示下做了三次優化,最後一次O(N)時間,O(1)空間隻說了思路

9、反問

我其實這個時候已經有點懵了,大概問了下用戶端現在開發用的語言之類的問題(感覺挺小白的)

下去之後,自閉了,憑着印象答得,有一些确實答錯了,就是第一層答對了,接着問的第二層了解出現了偏差.真的自閉了,位元組是第一個面試,我要是不知道可以,可是我都知道,沒時間複習,硬着頭皮…

聽說位元組都是最多第二天就打電話通知二面,如果沒有就GG了,然後第二天過去了,啥也沒有,心如死灰,群組裡說了我要離職.不然找不到工作了,畢業就要失業了.組裡同意,但是要半個月後…

第三天,下午3點,在解決之前的人留下來的bug的時候,一個電話,說過了,約面試時間.想了想,我真是沒辦法,每天加班到很晚,早上又起很早(我這沒有彈性工作制,通宵加班實習生也得第二天早上9點到崗),曲折下約到了周六

二面(8月1日/早9點/1h20min)

此時其實有點淡然了,感覺自己能夠走到二面就很心滿意足了(安慰自己!)

這次應該可以算是履歷面了,主要抓着履歷問的

1、自我介紹

這次我說的比較久,穿插着做着項目介紹,大概就是想通過這種知道我能達到一個什麼水準.

用戶端的深度學習有了解過嗎(沒有,但是上一個面試官提及了,我也去查了一下)

問我一般深度學習的産業是怎樣的,我說一般也還是部署在服務端,用戶端推送請求(語音識别)

問我有沒有可能在自己的裝置上訓練,定制化個人的東西(可以,google的GBorad就是在本機訓練,會有伺服器做一定的角***r />

圖像識别或者NLP的深度學習領域有了解嗎,模型呢(這塊隻能說是知道一些,但是…)

如果讓你學習用戶端開發,你從零開始,怎麼學(老問題了,為什麼選用戶端開發)

如果給你時間,你覺得多久你可以做一個還行的用戶端程式(我回答一個月,中間解釋了一些學習路線)

畢竟你不知道用戶端的東西,如果給你代碼,你如何快速的上手(先按文檔了解函數的具體功能及流程,查詢裡面的一些關鍵字/函數的功能,運作調試,了解運作的機制)

2、場景題(這個也是穿插在自我介紹裡面的):

如果讓你做一個本機裝置的百度搜尋推薦,你會怎麼辦?

3、python(先問的python用了多久了,我說大概一年了,然後自己的菜就暴露出來了):

問的也不是說難的東西,主要用python是看的那種小白教程書就開始上路了,裡面涉及的東西真的隻能讓你到用這個階段

== 和 is 的差別(說實話,一問到這個我就感覺接下來我人沒了)

java的equals和==我知道,說了一下.python的這個真的有點懵

我說==不用說,肯定是判斷值的,is我想了半天也每個印象(後來仔細想想,我也沒用過is做東西),面試官接着說,沒關系那你寫一下is的用法,寫也寫不出來…

接着提示,python萬物皆對象,對象裡面包含的屬性有哪些(這裡我真不知道,提示身份id,資料類型,值),提示到這裡其實我能明白is的具體要比什麼了,但是不敢說

duplicate和list的差別

duplicate的不可變是指指派後内容不可變,還是說什麼(具體說了挺多,最後答得點是這個對象不可變,但是可以重新指派)

python的GC

java的GC我看過,Python的沒了解(怪自己了),下去後看了一眼,和整體的理論還是JVM那一套…

4、作業系統:

怪自己寫了個多線程程式設計(其實這裡本來想表達的是雖然寫了,但是有問題,受限于履歷篇幅,删的時候沒删,出了大問題)

多線程死鎖有了解過嗎,什麼原因(說了個循環申請的例子)

死鎖的幾個必要條件,檢測死鎖(這裡已經慌得不行了,說什麼我已經聽不到了,答得是預防死鎖…後來一直在說算法/算法是什麼/有什麼算法可以用)

最後提示銀行家算法,簡單的說了一下銀行家算法檢測死鎖的原理

5、資料庫

這裡也怪自己,明明就沒怎麼用資料庫了,深度學習沒有到産業落地,我個人沒有用過資料庫

這裡直接答其實好久沒用了,但覺得自己忘了履歷寫了這個東西,理論上可以問的,因為多多少少還是知道的

6、算法(大概花了半個小時?)

這是一道可能是智力題?第一次見這種題型…

A 杯子5L(滿) B 杯子3L(滿) C杯子10L(空)–>最後A隻要帶走4L

提示讓我先寫狀态變化的情況,寫完後,問我,程式怎麼實作(我人傻了,因為寫程式肯定不是把這些步驟一路寫下來就可以了,搜尋這不中用的腦子,陷在了是否遞推公式上)

面試官一直強調,這是一個現實生活的問題,你可以看成N個人N個滿杯子,給你一個空杯子,步驟是怎樣的…

我這時候,已經完全蒙蔽了,面試官接着提示,如果用一種模型來表示這種操作,會是怎麼樣的–>我還是懵的

接着說,你先寫,巴拉巴拉我寫了包含一個add和一個remove的類,被提示不需要remove了

然後提示了很久,真的很耐心,換做是我可能不管了(我自己也一度想放棄,真的很難過,超級難過)

最後就是一種有限狀态機存儲狀态,周遊可能性,我中間答了如果遇到相同的狀态就傳回(可能聲音已經顫抖了,面試官沒有聽見)

接着說,這個是指數級複雜度,那麼有沒有什麼可以優化的(其中一種方式就是我上面說的,但面試官沒聽到,先說了這個,我也回答前面我說的),然後說還可以通過連結清單的形式優化,方法挺多的.

最後面試官說,這個代碼寫起來挺長的,估計得100~200行,讓我下去再寫寫(我是一定會下去寫的,畢竟浪費了面試官雙休這麼長時間,我覺得自己是個罪人了)

Android:211碩士二面位元組跳動,面試官不錄用我給我的暗示

7、反問

面試官說電腦要沒電了

到這裡,心如死灰,我要這履歷有何用!

我大概問了下,用戶端的學習路線和java的學習路線有什麼差別或者相同的地方,面試官細心的解釋了,四種狀态/Activity(這些我之前有寫過,了解過一點點)

這次面試我覺得系統的學習還是很重要的,我這裡可以分享一份大佬收錄整理的Android學習PDF+架構視訊+源碼筆記,進階架構技術進階腦圖、Android開發面試專題資料,進階進階架構資料

這些都是我現在閑暇還會反複翻閱的精品資料。裡面對近幾年的大廠面試高頻知識點都有詳細的講解。相信可以有效的幫助大家掌握知識、了解原理。

當然你也可以拿去查漏補缺,提升自身的競争力。

最後,我能走到二面已經很開心了,無論結果如何,面試官說下一個階段的通知大概一周到兩周的樣子

希望大家都能拿到自己心儀的offer!!

如果你覺得自己學習效率低,缺乏正确的指導,可以加入資源豐富,學習氛圍濃厚的技術圈一起學習交流吧!

繼續閱讀