一篇關(guān)于我春招的記錄
歷經(jīng) 33 天媚狰,我終于找到了工作。這一個月對我來說可能是一次至關(guān)重要的一段時期阔拳,所以我有必要好好的記錄一下崭孤。當(dāng)然,這里也有很多干貨糊肠,有關(guān) Android 面試的一些細節(jié)問題我也將努力的通過回憶陳述出來辨宠。可能篇幅很大货裹,廢話較多嗤形,但同樣細節(jié)也會很多,如果看這篇文章的人是最近要找工作的程序員弧圆,那么我覺得這篇文章有你想知道的東西赋兵,特別是工作經(jīng)驗不是很多的 Android 程序員。
因為我這一次是一次自作主張的裸辭墓阀,所以這一個月壓力還是非常大的毡惜。不過經(jīng)過努力還是找到了自己比較滿意的工作,還有 3 個月的試用期斯撮,希望能再接再厲经伙,通過自己的努力能在公司立足下去。具體我離職的前因后果和自己的想法請參考我之前的一篇博文:
一次特別的面試經(jīng)歷
不過勿锅,在說到 3 月份這段找工作的經(jīng)歷之前帕膜,我想先用這篇文章回顧一下另一件極其重要和有意義的事。
實際上在 12 月的時候溢十,我已經(jīng)接到過一次面試了垮刹,而且是一次很不一般的面試,一來是因為算上最后的終面张弛,一共有 4 輪技術(shù)面試荒典,難度非常大酪劫,技術(shù)范圍特別廣,我雖然被千虐萬虐寺董,但更多的是收獲覆糟。但導(dǎo)致這次面試非常不一般的原因還有一個:
面試我的公司是 「小米」,面試我的人是我關(guān)注很久的一個大牛 「Gityuan」遮咖。
當(dāng)時在無錫項目組滩字,項目已經(jīng)上線,事情也不是很多御吞,所以我就把 「某聘」 下載下來麦箍,把自己的簡歷和一些信息上傳了上去,但也沒有投簡歷陶珠,因為是我第一次用這個軟件挟裂,而且當(dāng)時也沒有下定決心要換工作,所以填好信息后就沒有管過了揍诽。
令人驚訝的是话瞧,過了兩天,小米那邊主動打電話了寝姿,希望能做一下進一步的溝通。我當(dāng)時驚呆了划滋,后來我才知道是因為那些互聯(lián)網(wǎng)招聘軟件是一個雙向選擇的軟件饵筑,如果有企業(yè)通過搜索覺得你符合要求,也會主動聯(lián)系你的处坪。
不過怎么說根资,當(dāng)時知道消息的我非常驚喜,但更多的是緊張同窘,因為這完全出乎我的計劃玄帕,當(dāng)初實際上我給自己定了一個比較具體的復(fù)習(xí)計劃,準(zhǔn)備等自己準(zhǔn)備好后再主動投遞簡歷想邦,這下好了裤纹,人找上門了,而且是個大戶丧没,自己卻一點準(zhǔn)備都沒有鹰椒,但也不能隨便就鴿了別人,畢竟這么好的機會在臉上怎么說都得嘗試下呕童,而且打電話在周四漆际,第一輪電話面試在下周一,臨時抱抱佛腳也不是不可以夺饲,所以后面幾天我就找了一些 Android 的常規(guī)面試題看了看奸汇,順便看了一些「數(shù)據(jù)結(jié)構(gòu)」和「Java」相關(guān)的知識施符。
同時,我也具體的看了下這次「小米」招聘崗位的具體要求擂找,發(fā)現(xiàn)崗位是做 「MIUI系統(tǒng)」的相關(guān)開發(fā)的戳吝,并且「算法」和「數(shù)據(jù)結(jié)構(gòu)」有比較高的要求∮ね荩看來骨坑,有可能會問到一些「Framework」相關(guān)的知識艾凯,我不禁有點失落开瞭,老實說,那時候我對這方面完全沒有深入過熊锭,每天在趕項目粉捻,就算是學(xué)習(xí)也是學(xué)習(xí)了很多應(yīng)用層的一些用法方面的知識礁遣。對于源碼,一來我的能力還沒有達到肩刃;二來我的確是沒時間研究這些和項目關(guān)系不是很大的知識點了祟霍,試想當(dāng)時每天加班到那么晚,項目時間實在太緊盈包,不允許我抽時間去學(xué)這些東西沸呐,一般只會在做項目過程中遇到問題才去現(xiàn)學(xué)現(xiàn)用。
一面
就這樣稀里糊涂復(fù)習(xí)了幾天到了周一呢燥,因為約好了在下午 2 點的電話面試崭添,我特意和經(jīng)理請了假,然后中午吃完飯后就在寢室等待叛氨。為了讓自己保持專注呼渣,我特意帶了個耳機插在手機上,然后就這樣坐著等寞埠,那時候感覺每一秒都是那么煎熬屁置,因為那即將是我第一次技術(shù)面試。
2 點整仁连,電話來了蓝角,一個擁有很成熟聲音的人打來的,一聽就是一個做了多年技術(shù)的老手饭冬,他先讓我自我介紹了下帅容,然后問了下我現(xiàn)在在做的項目的業(yè)務(wù),針對這個項目的一些具體功能提出了一些問題伍伤,比如框架怎么搭建的并徘,因為我說了用 MVP 模式,所以又問我了一下具體的搭建思路扰魂,我就把我對 MVP 的理解麦乞,和搭建過程中各種層之間的綁定操作說了下蕴茴。總體來說感覺第一輪電話面試技術(shù)上具體的問的不是特別多姐直,大多是針對當(dāng)前項目的倦淀,或者是了解下你在項目中扮演的角色。
問完了技術(shù)上的声畏,他又問了一些關(guān)于離職原因的問題撞叽,我大概說就是我比較希望能在南京穩(wěn)定發(fā)展,外包公司沒有歸宿感插龄,我不是很適應(yīng)愿棋,隨后又隨便聊了一些有的沒的,總體的氛圍比較輕松自然均牢,然后他就讓我等通知了糠雨。
看了下手機,通話時間 50 分鐘左右徘跪。
掛了電話后甘邀,我就去上班了,然后大概到了 4 點垮庐,我又接到了電話松邪,電話里說希望我做一份筆試題,筆試題待會發(fā)到我郵箱哨查,時長 30 分鐘测摔,做完直接把答案回復(fù)到發(fā)送郵箱即可。
能讓我做筆試題解恰,至少證明我剛剛的電話面試應(yīng)該算通過了。不過浙于,這種筆試方式難道不怕做題人上網(wǎng)查資料作弊嗎护盈?
我心中產(chǎn)生了疑問,我決定先看看題目做試試羞酗,如果做不出來再查查腐宋,可能對方會給出一個非常難的問題,就是想讓你不會檀轨,然后考驗一下你的應(yīng)變能力和解決問題能力也說不定呢胸竞。
過了兩分鐘,郵箱收到了題目:
「請寫出代碼計算二叉樹的最大深度参萄,分別用『遞歸』和『非遞歸』的方式實現(xiàn)」
好吧卫枝,不是很難,主要就是定義二叉樹類和一些成員變量讹挎,遞歸的話比較簡單校赤,非遞歸可以用層次遍歷思想吆玖,配合隊列進行循環(huán)操作即可。寫了 20 分鐘左右马篮,最后小修小補了下沾乘,就把郵件發(fā)過去了。
到此浑测,一面算結(jié)束了翅阵。
二面
筆試題發(fā)了后,大概過了 3 天迁央,我才接到二輪面試的電話掷匠。當(dāng)時因為過了好幾天都沒接到通知,我都以為已經(jīng)沒希望了漱贱,所以后來都快淡忘這個事了槐雾,所以這次接到電話又是一個措手不及。當(dāng)時還在工作呢幅狮,所以我趕緊跑到一個樓梯口來進行電話面試了募强。
這個時候大概是下午 1 點 40 左右。
打電話過來的聽起來是個非常有活力的小伙子崇摄,聲音非常嘹亮擎值,充滿自信。一開始幾個問題和上次電話面試差不多逐抑,自我介紹以及項目上的一些架構(gòu)問題鸠儿。問完這些后,他可能也感覺這次問的可能問過了厕氨,所以他開始問一些純技術(shù)問題了进每。
首先是一個觸控問題,「如何實現(xiàn)多點觸控」命斧,然后又設(shè)定了一個場景田晚,「如果 3 個指頭同時向下滑動,3 個指頭的速度如果有偏差該怎么辦国葬,用什么辦法來確定這個監(jiān)聽事件」贤徒。因為當(dāng)時我確實沒有接觸過這方面的知識,所以也實話實說我沒有研究過汇四,沒想到的是接奈,他好像反而更希望聽到我沒接觸過,接著問我
「那么通孽,你想想如果說你序宦,可能會用什么辦法來處理呢?」
聽到這個問題背苦,我當(dāng)時在電話那頭當(dāng)真是一臉茫然挨厚,頭腦飛快的思索著堡僻,并說出了自己的想法,他也時不時的「嗯疫剃,嗯」兩聲作為回應(yīng)钉疫,然后針對我的想法也提出了一些問題。整個過程非常緊湊巢价,思考時間非常短暫牲阁,加上又是自己不熟悉的領(lǐng)域,所以回答的支支吾吾壤躲,同時胃部也因為緊張劇烈的翻涌著城菊。
這不是面對面的面試,電話面試如果你一直沒聲音低頭思考碉克,你自己都會覺得非常尷尬凌唬。所以這種高強度的電話技術(shù)面試考察的是你的解決問題以及應(yīng)變問題的能力,同時也會考察出你的思維敏捷度漏麦。
這個問題結(jié)束后客税,后面還問了幾個非常有質(zhì)量的問題,列舉下:
- String 為什么要設(shè)計成不可變的撕贞?
- fragment 各種情況下的生命周期
- Activity 上有 Dialog 的時候按 home 鍵時的生命周期
- 橫豎屏切換的時候更耻,Activity 各種情況下的生命周期
- Application 和 Activity 的 context 對象的區(qū)別
- 內(nèi)存泄漏相關(guān)的問題,比如在項目中的一些內(nèi)存泄漏案例捏膨,怎么解決的秧均,然后問了幾種內(nèi)存泄漏的情況,問了下該怎么預(yù)防号涯,還問了平時用什么工具檢測內(nèi)存泄漏目胡。針對你回答的,他會繼續(xù)深入問链快,直到你實在回答不了為止誉己。比如我說到 Activity 和 弱引用了,他就針對這兩個問題深入了很多久又。
- 項目中遇到的重大問題以及當(dāng)初是怎么解決的。
最后他又問了兩個「數(shù)據(jù)結(jié)構(gòu)」的算法問題效五,一個是鏈表逆序地消,另一個是求二叉樹兩個節(jié)點最短路徑。特別是第二個問題畏妖,他給了非常多的限定條件脉执,總感覺好像有意給我制造了難度,然后考察一下我的思維方式戒劫,這個問題上也探討了非常久半夷。
通話總共用時 1 小時 30 分鐘婆廊,自我感覺回答的不是特別滿意。
第二輪感覺面試官更偏向于考察你解決問題的能力巫橄,以及一些思維活躍度和應(yīng)變方面的能力淘邻。同時,還考察了一些平時開發(fā)時候是如何優(yōu)化應(yīng)用的湘换,技術(shù)上宾舅,更偏重基礎(chǔ),沒有問任何的第三方工具的使用彩倚。
后來和幾個同事討論了下筹我,發(fā)現(xiàn)的確如此,做移動端的如果基礎(chǔ)好帆离,應(yīng)用層各方面的知識你將會學(xué)的很快蔬蕊,第三方工具或者代碼庫的使用確實沒什么值得問的。
三面
經(jīng)過了一段緊張刺激的電話面試哥谷,我當(dāng)時的心情是非常復(fù)雜的岸夯,還沒緩過來,正準(zhǔn)備和同事分享一下剛剛的面試經(jīng)歷呼巷,又一個電話來了囱修,第三輪面試就這樣開始了。
好吧王悍,還沒坐下來又去了小走廊破镰,打來電話的是個女的,聲音聽起來比較嚴(yán)肅压储,問的問題沒有像剛剛第二輪那樣范圍那么廣鲜漩,探討的地方也很少,大多數(shù)是那種讀文檔式的出題集惋。不過感覺對方還是非常有氣場的孕似,總是一而再的問我「是這樣嗎?」刮刑,「你確定喉祭?」,搞得我有時候自己本來確定后來都拿不定主意了雷绢。
幾個印象比較深的問題有:
- 序列化的作用泛烙,以及 Android 兩種序列化的區(qū)別。
- List 和 Map 的實現(xiàn)方式以及存儲方式翘紊。
- 靜態(tài)內(nèi)部類的設(shè)計意圖蔽氨。
- 線程如何關(guān)閉,以及如何防止線程的內(nèi)存泄漏
- Linux 的一些常用指令
這輪面試雖然來的很突然,但節(jié)奏還是比較快的鹉究,你問我答宇立,會的會,不會的就不會自赔,心態(tài)可能因為經(jīng)過了這么多輪了妈嘹,倒也比較平靜。
通話時間 40 分鐘左右匿级,然后晚上吃飯的時候蟋滴,給我打電話說下周會給我做終面。一切好像還算比較順利痘绎。
終面
終于津函,終面來了。依然是電話面試孤页,但我這次做了準(zhǔn)備尔苦,提前在一個沒人的小會議室等著了。
這次是兩個人同時面試行施,一個聲音有點像二輪那樣很自信的那種允坚,一個比較沉穩(wěn),感覺是個非常厲害的人蛾号。
開始跟我聊的是那個很自信的那個人稠项,聊了一些技術(shù)問題,但不是很多鲜结,可能是因為前面技術(shù)面試經(jīng)過了 3 輪展运,差不多我啥水平也了解了,他主要問了一些我離職原因精刷,然后職業(yè)規(guī)劃和技術(shù)上的發(fā)展規(guī)劃拗胜。
然后就到了第二個人,后來我才知道怒允,他是 「Gityuan」埂软,不過當(dāng)時我沒想到,后來看了他博客才發(fā)現(xiàn)他問的都是他最近研究的一些技術(shù)纫事。
他問了幾個很深的技術(shù)問題勘畔,都是跟 Framework 相關(guān)的,比如問我對 ANR 有多少了解丽惶,畢竟他就是研究這方面的真正大牛炫七。然后就問了我?guī)讉€常規(guī)問題,但這幾個問題對當(dāng)時的我來說并不常規(guī):
- 你對能加入「小米」這樣的一個機會蚊夫,你是怎么看待的
- 你自我推薦下自己诉字,講一下我們?nèi)绻闩吵ⅲ隳芙o企業(yè)帶來什么樣的價值知纷,你有什么樣的優(yōu)勢
- 你的職業(yè)規(guī)劃是什么
- 你對「小米」公司是怎么看的
- 你有什么問題需要問我的嗎
- 你對薪資的要求
這幾個問題質(zhì)量非常之高壤圃,當(dāng)時我就感覺到,到終面了琅轧,這幾個問題可能直接影響到我的成敗伍绳。
事實也證明了,我的失敗可能和這幾個問題有著極大的關(guān)系乍桂,正是我在其中問題答得非常不好冲杀。
自我價值那個問題,我就說的有點語無倫次睹酌,把自己一些性格上的優(yōu)點列舉了下就草草了事权谁,對方肯定不想聽到你這樣的回答的,這種話誰都可以說憋沿,但不一定就是你的價值旺芽。這樣的互聯(lián)網(wǎng)公司,更多看中的可能是「發(fā)展?jié)摿Α狗摹ⅰ甘聵I(yè)心」以及「態(tài)度」采章。
提問那個問題,我問了很多一些和自己切身利益有關(guān)的問題壶辜。后來我仔細的想了下悯舟,這些問題問了沒問題,但如果不問一些類似技術(shù)提升砸民,技術(shù)發(fā)展這樣的有關(guān)自身提升有關(guān)的問題抵怎,可能不太好。要讓企業(yè)感受到你來這上班不一定是為了那點工資的阱洪。
然后便贵,薪資問題我覺得我過于失敗了,我直接說了一個他招聘信息上工資范圍的最低數(shù)額冗荸,但實際上他這個職位給的是工作經(jīng)驗 3 年左右的人的承璃,我卻天真的以為他這樣開,我就應(yīng)該這樣報蚌本。后來我才越來越感覺到盔粹,我能通過那么多輪,甚至最后有一些機會成功很大的原因正是因為我經(jīng)驗不多程癌,但幾次面試下來面試官感受到了我的學(xué)習(xí)能力舷嗡,覺得我對技術(shù)有追求,有激情有沖勁嵌莉,這才不斷的賦予我機會进萄。
但我當(dāng)時沒有察覺,自以為是自己能力強理所應(yīng)當(dāng)?shù)玫降拇觥5拇_中鼠,我當(dāng)時沒有正確的認清自己可婶。
小米面試結(jié)果與總結(jié)
后來,我收到了面試未通過的通知援雇。說不失落肯定是假的矛渴,面對這樣的一個企業(yè),面對這樣的一個機會惫搏,我甚至已經(jīng)快要達到了具温,卻在臨門一腳被踢回來,這種感覺著實不好受筐赔,當(dāng)然铣猩,這次面試的難度和嚴(yán)格是最高的,甚至算上之后 3 月份的所有面試茴丰,這次「小米」的面試依然是質(zhì)量最高的剂习。
這次「小米」的面試經(jīng)歷非常寶貴,讓我全方位的審視了自己较沪,我認清了自己現(xiàn)在處于什么階段鳞绕,并了解到了自己技術(shù)上的不足也明確了自己以后努力的方向,也第一次的近距離接觸了大公司的面試尸曼,知道了大公司對于人才具體有哪些能力上的要求们何。
小米面試結(jié)束后,工作了兩周左右就放假了控轿,2 月 2 號回?zé)o錫上班冤竹。
整個 2 月份過的還是很舒服的,因為幾個小伙伴全住在公司提供的宿舍里茬射,項目又不太忙鹦蠕,所以每天下班回來和周末的時候,所有小伙伴都會聚集在一個屋子的客廳里一起 LOL 在抛。
我那會有時候陪他們玩游戲钟病,有時候躺床上看書。整個 2 月份我讀了 4 本「東野圭吾」的書刚梭,看了一本「唐史」肠阱,還有一本闡述生活理念的書「斷舍離」。
老實說朴读,工作空閑能看書是我最大的奢望屹徘,所以當(dāng)時在無錫可以看這么多書,講真還是真的不錯的衅金,實際上我對項目組本身還是非常滿意的噪伊。
但在外包公司簿煌,你永遠是被動的。月底鉴吹,銀行轉(zhuǎn)變了對項目的購買模式啦吧,轉(zhuǎn)變?yōu)槿嗽马椖浚瓉硎畮讉€人的項目只買了 5 個人拙寡,甚至 iOS 開發(fā)一個都不留,他們找了一個銀行內(nèi)部技術(shù)人員完全接手了 iOS 代碼琳水。最后肆糕,我們幾個沒被買進去的人,就要各奔東西在孝,去往別的城市的項目組了诚啃。
來無錫之前,領(lǐng)導(dǎo)承諾 12 月可以調(diào)回南京私沮,最后拖到 2 月底始赎,這次調(diào)整,又決定把我送往蘇州仔燕。所以造垛,各種原因下,我就離職了晰搀。更多離職詳細信息可以參考博客「一次不妥協(xié)的離職決定」五辽。
回到家,我列了一下計劃外恕,復(fù)習(xí)兩周杆逗,然后找工作×燮#考慮到 3 月是找工作的高峰期罪郊,所以計劃 3 月底前盡量能找到工作。前兩個月實際上進行的也不算太順利尚洽,心理上悔橄,執(zhí)行力上都有一些波動,這也在博客里了腺毫,參考「還算充實的一周」橄维,這里就不多說了。
3 月 15號開始拴曲,我開始投簡歷争舞,首先我把各大投簡歷平臺的 App 都下到手機里了:「某直聘」、「某鉤」澈灼、「某無憂」竞川、「某聯(lián)」店溢、「某聘網(wǎng)」... 好像下載了有 6 ,7 個委乌,不過最后感覺比較靠譜的是前三個床牧。有幾個你投了簡歷,要不就沒回復(fù)遭贸,要不就回復(fù)的都是培訓(xùn)機構(gòu)戈咳,甚至還把你的個人資料泄漏了然后每天會有一大堆招聘廣告發(fā)到你手機上,不厭其煩壕吹。
簡歷上我寫的比較常規(guī)著蛙,自己懂什么技術(shù)寫什么技術(shù),用過什么寫什么耳贬,項目經(jīng)驗從什么時間到什么時間踏堡。沒有任何的夸張成分。這里需要特別強調(diào)下咒劲,對某一項技術(shù)顷蟆,描繪你的掌握程度一定要用詞妥當(dāng),仔細思考你真實掌握情況腐魂。比如帐偎,如果你平時只是用過「Retrofit」、「RxJava」蛔屹,那你就別寫「精通」這類字眼肮街,面試官會針對你的技能棧進行深入。我剛開始寫精通判导,后來一位面試官直接問我源碼上的問題嫉父,我就直接懵逼了,后來才針對自己的掌握情況修改了描述方式眼刃。
3 月15 日 周五
我記得 15 號是周三绕辖,我的投遞模式是海投,就是把軟件上符合我搜索條件的職位全部投遞擂红。大概到周五的時候仪际,只有一家通知我去面試,其他回復(fù)無一例外昵骤,全是說我年限太低树碱,不符合要求,所以不給面試機會变秦,當(dāng)時的壓力有點大成榜,我高估了現(xiàn)在的大環(huán)境,實際上現(xiàn)在 Android 程序員的確有些飽和了蹦玫,初級崗位魚龍混雜赎婚,企業(yè)就算需要人刘绣,可能也會把年限卡死,所以面對我這樣年限這么短的人挣输,能給面試機會的公司自然少之又少纬凤。但這就更需要我把握每一次珍貴的面試機會,盡量準(zhǔn)備好撩嚼,不留遺憾停士。
剛剛說到了周五有家公司通知我去面試,那家是國內(nèi)某大型外包公司完丽,過去后恋技,發(fā)現(xiàn)會議室大概坐了有 30 來人,HR 給了我一份 Android 考卷舰涌,就讓我進去做題了,題目不是很難你稚,不過考察的范圍挺廣的瓷耙,有些我接觸的比較少的也的確不會,比如好像考到了「SurfaceView」刁赖、「OpenGL」搁痛,其他就是一些比較基礎(chǔ)的 Java 和 Android 問題,比如生命周期那些宇弛,四大組件那些鸡典。
交完卷子就在會議室等了,過了一會一個 HR 帶我去一個小會議室聊聊枪芒,她大概說彻况,試卷做的不錯,你學(xué)歷也不錯舅踪,是 211 纽甘,他們幫我看看公司有沒有項目需要 Android ,還給我說有沒有興趣轉(zhuǎn) Java 開發(fā)抽碌,因為最近 Android 不是很火了悍赢。然后隨便聊了聊就讓我回去了。
本身也不可能去外包公司货徙,只是需要面試一次看看狀態(tài)試試水左权,沒想到從頭到尾也沒技術(shù)面試,就連 HR 也知道 Android 最近環(huán)境不好痴颊,我內(nèi)心真是急躁的不行赏迟,那段時間的壓力可想而知,甚至都有點后悔這么草率就裸辭了蠢棱。
3 月 18 日 周六
周末的話瀑梗,企業(yè)休息烹笔,所以周六周日兩天都沒有消息,實際上對于當(dāng)時的我來說抛丽,雖然明白是這個道理谤职,但這種毫無消息,投遞無果卻只能白白干等的感覺著實惡心亿鲜,我記得那個周六允蜈,我學(xué)習(xí)的時候,每次看完一個博客或者看完一段視頻蒿柳,都會去用手機去一個個打開招聘軟件饶套,確定下有沒有公司回復(fù)我,那時候心態(tài)的狀況可想而知垒探,我的自我調(diào)整那幾天也非常不好妓蛮,甚至睡覺都不太安穩(wěn)。不過那段時間圾叼,我爸爸因為每隔兩天就來一趟南京辦事蛤克,晚上會住我那,她看我心態(tài)有點不穩(wěn)重夷蚊,那幾天一直在開導(dǎo)我构挤,給我心理上帶來了很大幫助嫁怀。他認為「每個人總有一段這樣的挫折需要你去克服孔轴,找工作不需要太急,只要你手上有本事悟衩,總會碰上伯樂的箱歧。」總而言之矾飞,如果不是萬不得已,在你上班的城市找工作的話呀邢,現(xiàn)在還是盡量不要裸辭凰慈。如果裸辭的話,也千萬不要急躁驼鹅,急躁沒有任何用微谓。
這個周末我作了一些針對性的復(fù)習(xí),主要是「網(wǎng)絡(luò)編程」方面的输钩,之前 stormzhang 在小密圈回答一個圈友問題談到了網(wǎng)絡(luò)這塊需要掌握的一些知識點豺型,所以針對這些知識點,通過博客和一些視頻(我全是用1.5倍速放买乃,節(jié)省時間)來復(fù)習(xí)姻氨。又把 Android 端一些常用網(wǎng)絡(luò)框架的基本使用用法和原理大概看了下,比如「OkHttp」剪验、「HttpURLConnection」這些知識點肴焊。
這里重點說一下復(fù)習(xí)相關(guān)的前联,我寫過一篇「短期復(fù)習(xí)計劃」,有具體我的復(fù)習(xí)思路和方向娶眷,當(dāng)然每個人不同似嗤,不過我當(dāng)時非常重視把平時學(xué)習(xí)過程中的總結(jié)、代碼盡量的上傳到 CSDN 博客和 GitHub 上届宠,我總感覺技術(shù)面試應(yīng)該最單純粗暴了烁落,你如果平時天天寫技術(shù)博客,GitHub 上的提交時間圖被填的滿滿的豌注,面試的時候你把你的這些鏈接一貼伤塌,面試官進去看一看就大概知道你的學(xué)習(xí)能力、學(xué)習(xí)態(tài)度轧铁、技術(shù)棧范圍以及針對每種技術(shù)的深入程度每聪,大概就把你啥情況搞清楚了。不僅如此齿风,本身你經(jīng)常寫博客药薯,玩 GitHub 本身就是一種優(yōu)勢,不僅是一個好的 Coder 所必須有的習(xí)慣聂宾,而且也是對自己最好的能力展示果善,是公開的簡歷诊笤。
3月 20 日 周一 至 3月 23 日 周四
周一開始系谐,我的手機就開始有聲音了,陸陸續(xù)續(xù)有非常多的電話打了過來讨跟,這里面不乏有一些被我過濾掉的纪他,比如一些培訓(xùn)公司、外包公司晾匠,還有一些公司信息都不是很全的那些茶袒,到后來,面試太多了凉馆,每個半天就得跑兩家薪寓,我甚至可能會因為有些公司離得太遠就鴿了。
實際上 18澜共,19號兩天周末我還參加了兩個學(xué)校的校招向叉,事實證明校招對于我這樣的非應(yīng)屆生作用不是很大,有的公司對我特別滿意嗦董,但最后都沒通知我母谎,最后參加了一個公司的筆試和一個公司的面試,但都考慮到我不是應(yīng)屆生京革,也就沒聲音了奇唤。
我下面只把這周我印象比較深的幾次面試列舉下幸斥。
周一參加了剛剛說的兩個校招時候面試的公司,其中一個公司做的筆試咬扇,筆試內(nèi)容范圍非常廣甲葬,不過如果你是計算機專業(yè)學(xué)生,這些倒是都學(xué)過冗栗,但可能會因為時間長記得不清了演顾,或者像我這樣大學(xué)就知道玩從來不學(xué)的,總之做的不是特別好隅居,涉及到 Java 基礎(chǔ)钠至,數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng)胎源,計算機網(wǎng)絡(luò)棉钧,Android 上考的不多,好像就兩道題涕蚤,不過有一道題我看了我就一口老血噴出來了:「Android 系統(tǒng)的啟動過程」宪卿,老實說如果你平時沒有特別研究過,那這道題還是老老實實找個網(wǎng)上描述的比較清楚的背一下吧万栅。
然后那個面試的公司佑钾,是個云計算相關(guān)的公司,做的最多的是嵌入式烦粒,當(dāng)時面試 Android 的就我一個休溶,我就被他們公司的一個 Android 開發(fā)帶到一邊面試了,面試內(nèi)容大多是針對我做的應(yīng)用來問的扰她,說實話兽掰,技術(shù)含量不是很高,我都感覺對方技術(shù)也沒高到我哪去徒役。面試完就是一個男 HR 來面我孽尽,特別嚴(yán)肅,問了一些很奇怪的問題忧勿,比如杉女,問我之前在銀行工作時候銀行的項目主管叫什么名字,他當(dāng)場打電話過去給銀行問鸳吸,可能是用來檢測我簡歷的真實性吧熏挎。后來他跟我說,其他人都是來面試實習(xí)的层释,你是來找工作的婆瓜,老板在開會,今天可能面不了你了,回去等消息吧廉白。反正大體意思就是沒戲了个初。所以后來我也就不考慮校招了。
周二那天一共面試了 4 家猴蹂,早上有一家外包院溺,大老遠跑過去后,他啥也沒問磅轻,扔給我個需求書珍逸,說你看看這個項目你能不能做,要多久聋溜。然后技術(shù)也沒問谆膳,估計對方都不是做 Android 的,稍微聊了會就讓我回去等通知了撮躁,還說不論過不過都會在軟件上通知我漱病,實際上最后也沒給我說過沒過,哎把曼,不靠譜杨帽。
下午去了一家初創(chuàng)的產(chǎn)品公司,這家工作環(huán)境很不錯嗤军,而且離我住的地方特別近注盈,面試我的人特別厲害,技術(shù)水平非常強叙赚,氣場也強老客,聊的過程中也感覺到了他身上壓力也比較大,畢竟初創(chuàng)企業(yè)纠俭,身上擔(dān)子應(yīng)該不小沿量。這次的技術(shù)問題非常有質(zhì)量浪慌,應(yīng)該能排到我所有面試中僅次于「小米」和最后我去的那家公司的水平冤荆。技術(shù)上大多圍繞平時開發(fā)中最常見的問題,但這方面我了解的也不是很好权纤,只是大致看過钓简,不深入,比如:
- 圖片緩存策略
- RxJava如何管理生命周期
- Okio源碼
- OkHttp 中和 WebView 中Cookie是怎么處理的
- Android 上Socket的使用
- 注解
- Android 上的進程通信汹想、共享內(nèi)存問題
- Webp 格式
他還給出了一些場景問我怎么解決外邓,我聽著總感覺是他們自己開發(fā)的時候遇到的問題,順便問問我的思路古掏,好像的確有的公司面試會把自己平時遇到的難解決問題拿出來問問损话。
后來收到面試沒通過的消息,的確這次技術(shù)面試比較失敗,但他問的方面我的確掌握的不好丧枪,所以沒啥覺得遺憾的光涂,回去把他問的知識點補了補也沒多想。
當(dāng)天晚上去南大參加了一個宣講會拧烦,然后面試的時候一直在給我強調(diào)忘闻,「Android 項目不是很多,而且也不太缺人恋博,你對轉(zhuǎn)型 Java有沒有興趣齐佳?」...
大概有 5,6 家勸我轉(zhuǎn) Java债沮,Android 沒崗位... 亞歷山大炼吴。
周二周三做了幾個線上筆試,也參加了幾次面試疫衩,比較值得說的是一家國企缺厉,這家國企做的石油方面的 App,公司離得特別遠隧土,在南師大仙林那邊提针,我特么坐地鐵倒來倒去都坐了 1 個半小時。過去后曹傀,去了個會議室辐脖,里面已經(jīng)來了 4,5 個人正在做題皆愉,有一個人在被兩個人面試嗜价,然后我去了后領(lǐng)了一份 Android 的題目就做了起來,題目就一張 A4 正反面幕庐,第一道題讓你論述你做過的項目久锥,并說說這些項目的優(yōu)缺點;第二道題是對他們現(xiàn)在做的 App 的一些看法和建議异剥,來之前我已經(jīng)下過他們 App 并體驗了瑟由,老實說不是很復(fù)雜,設(shè)計的也一般般冤寿,亮點不是很多歹苦,我也就老實說了。后面幾道題全是給你一個頁面圖或者一些效果問你怎么實現(xiàn)督怜。最后一道題是談?wù)剬?Android 的看法殴瘦,說一下優(yōu)缺點。
寫完后有個面試官就看起來了号杠,另一個面試官就針對基礎(chǔ)情況問我了一些問題蚪腋,比如我之前項目中的責(zé)任丰歌,用的技術(shù),離職原因屉凯,期望薪資动遭,我針對他們公司的問題這種。后來那個看我卷子的面試官問我神得,針對這卷子有沒有什么想問的厘惦,我就問了幾個題目說我這種實現(xiàn)思路怎么樣,我很多都是直接繼承 View 和 ViewGroup哩簿,然后重寫那些繪制方法宵蕉,再把算法寫在這些方法里,我感覺這樣寫很突出自己的能力节榜。
但他都說實現(xiàn)太復(fù)雜了羡玛,Android 原生有某某方法,可以直接調(diào)用宗苍。我有點無語稼稿,這種直接方法或者庫使用上的東西有啥好考察的,知道就知道不知道就去查唄讳窟,應(yīng)用層正是因為有這種特性让歼,所以現(xiàn)在初級工程師才這么多,Android 應(yīng)用層開發(fā)的可替代性才這么強丽啡,所以當(dāng)時我就沒有往那方面去答題谋右。想不到人家還偏偏還就往這方面去考察了。
不過這家工作環(huán)境也是特別好补箍,在一個創(chuàng)意園內(nèi)改执,樓都設(shè)計的非常好,周邊環(huán)境也美滋滋的坑雅,樓里面的設(shè)計也特別棒辈挂,這家公司同樓還有一家「騰訊眾創(chuàng)」在這,而且是國企裹粤,如果能在這终蒂,實際上也是不錯的。面試官說周五給消息蛹尝,也說后豫,周五之前悉尾,不管成功與否突那,都會告訴我。
當(dāng)然了构眯,又沒通知我愕难。
3 月 24 日 周五
周五下午 4 點我來到了這家公司,一家產(chǎn)品公司,做金融的猫缭,我上家說起來也算是金融互聯(lián)網(wǎng)公司葱弟。說來也巧,剛開始我在「某鉤」投遞的時候猜丹,沒多久就給我標(biāo)記不合適了芝加,但過了幾小時,又給我打電話了射窒,說感覺簡歷特別匹配藏杖,還是希望能來聊聊。所以我仔細的看了下應(yīng)聘要求:
崗位職責(zé):
1脉顿、負責(zé)目前業(yè)內(nèi)最火的移動互聯(lián)網(wǎng)金融 APP 的設(shè)計與研發(fā)蝌麸。
2、持續(xù)優(yōu)化業(yè)內(nèi)最強產(chǎn)品艾疟,將您的研發(fā)專長来吩,做到極致。
3蔽莱、研究新技術(shù)弟疆,參與軟件架構(gòu)設(shè)計。
4盗冷、堅持把自己當(dāng)成產(chǎn)品主人兽间,而不是純粹寫代碼的碼農(nóng),對待產(chǎn)品如同初戀正塌。
5嘀略、除此之外,做您最愿意做乓诽,最爽的事帜羊!
職位要求:
1、1年以上 Android 平臺開發(fā)經(jīng)驗鸠天,能根據(jù)產(chǎn)品設(shè)計獨立進行應(yīng)用開發(fā)讼育。
2、有社交稠集、即時交互奶段、UI/UE 等方面的開發(fā)能力。
3剥纷、對面向?qū)ο笏枷胗猩钊氲睦斫獗约私獬S玫脑O(shè)計模式。
3晦鞋、對待產(chǎn)品如同初戀蹲缠,追求細節(jié)棺克,追求極致。
4线定、有金融軟件經(jīng)驗加分娜谊、有開源社區(qū)貢獻加分、有技術(shù)博客加分斤讥、有自己的作品加分纱皆。
然后看了下福利:14薪、六險一金芭商、周末雙休抹剩、午餐補貼、交通補助蓉坎、一年不少于兩次旅游澳眷、免費零食、下午茶蛉艾、團隊活動钳踊、生日party。
OK勿侯,一看就是非常有活力的公司拓瞪,而且對待產(chǎn)品的態(tài)度非常吸引我,感覺很滿意助琐,當(dāng)時就有一種強烈的預(yù)感祭埂,很有可能就是它了!
去了公司兵钮,HR 非常熱情蛆橡,讓我進去會議室做了張筆試,并且把我手機很友好的收了掘譬。題目質(zhì)量還可以泰演,考察了幾個比較不錯的問題,列舉出來其中幾個:
- 內(nèi)存泄漏的根本原因
- 舉出幾種 HashMap 的迭代方式
- 數(shù)據(jù)庫 SQLite 的一些操作葱轩。
- 靜態(tài)內(nèi)部類和內(nèi)部類的區(qū)別
后來交了卷,等了一會靴拱,來了一位非常帥的帥哥垃喊,文質(zhì)彬彬的,介紹了下袜炕,他是公司的 Android 負責(zé)人本谜,然后他就開始問我一些問題了,先自我介紹妇蛀,然后針對我做的項目和剛剛做的題目問了一些問題耕突。然后他又問了幾個質(zhì)量比較高的問題笤成,比如 Java 中堆內(nèi)存和棧內(nèi)存的區(qū)別评架,弱引用軟引用區(qū)別眷茁,Serializable 和 Parcelable 的區(qū)別,ListView 的實現(xiàn)原理纵诞,Java 中同步方法上祈。還問我看過什么源碼,我就說了個事件分發(fā)和 Handler 浙芙,還說了一個在非主線程更新 UI 的可能性的問題登刺,然后他就問了一些系統(tǒng)優(yōu)化的問題,問了我做過什么系統(tǒng)優(yōu)化嗡呼,我就說了一些內(nèi)存優(yōu)化還有緩存和流量上面的優(yōu)化纸俭,然后還說用 Freeline 插件提升編譯速度,他說他們現(xiàn)在也在用南窗,感覺還不錯揍很。
技術(shù)聊了很久,大概有 3万伤,40 分鐘窒悔,然后就開始說一些職業(yè)上面的問題了,比如問了我的職業(yè)規(guī)劃敌买,和技術(shù)上有什么樣的追求简珠,問了我一些大學(xué)的時候的事情,說到這個地方的時候我還說了我大學(xué)那段電競時光虹钮,他表現(xiàn)的挺感興趣聋庵,這方面問了我很多問題,所以我就把我當(dāng)時訓(xùn)練芙粱、打比賽珍策、當(dāng)會長辦活動那些事和他聊了聊,他對我辦過一些活動的具體細節(jié)問了一些宅倒,并且還非常驚訝我當(dāng)時竟然能大包大攬的一個人承擔(dān)一個協(xié)會攘宙。
他又問我對團隊有什么要求,或者說我期望什么樣的團隊拐迁,我就說我比較喜歡沒有那種明確上下級關(guān)系的那種團隊蹭劈,并且有充分的學(xué)習(xí)機會,團隊之間各成員能夠經(jīng)常交流學(xué)習(xí)线召,最好還可以多一些能增進下團隊成員之間感情的團隊活動铺韧。
我們聊得很開心,后來他還問我對工作有什么要求缓淹,我表示我對薪資這些不是很有要求哈打,主要是渴望得到一個工作機會塔逃,同時希望能在一個企業(yè)文化很棒的公司工作,這對我來說比較重要料仗。
他提問的差不多湾盗,就問我有沒有什么問題,我就問了一些作息立轧、福利格粪、晉升以及個人和公司協(xié)同發(fā)展方面的問題。問完后氛改,他針對我剛剛說的一些期望做了一些解釋帐萎,比如他會給我說公司的團隊正是像我期待的那樣,氛圍很棒胜卤,并對他們公司情況做了一些概述疆导,告訴我他們是一個產(chǎn)品公司,對待產(chǎn)品態(tài)度很認真葛躏,對技術(shù)也會要求嚴(yán)格澈段,現(xiàn)在公司的發(fā)展情況也是正處于高速上升期,并闡述了一些企業(yè)文化方面的東西紫新。
最后他表示均蜜,他做 Android 也有 5,6 年了芒率,在北京這些城市也工作過囤耳,他覺得,工作這么多年偶芍,走過不少公司充择,覺得這家公司是他經(jīng)歷的所有公司中最「酷」的,在南京匪蟀,也算得上非匙德螅「酷」的,在這工作材彪,真的很棒观挎。
我喜歡「酷」這個詞,與我的期待不謀而合段化。
后來我們談到了一些關(guān)于南京的東西嘁捷,我表達了我對南京的喜愛,之前在南京工作的時候每周都會騎單車在南京到處逛显熏,他說之前很多離職的人都是因為不想在南京雄嚣,不知道為什么我這么喜歡。我想了一會,回答了一句很裝逼的話:
我感覺缓升,南京有一種憂郁的氣質(zhì)鼓鲁。
Android 負責(zé)人大概和我聊了一個多小時,然后就讓我稍等片刻港谊,因為 CTO 在開會骇吭,可能不能立刻過來面試我,所以之前接待我那位特別活潑的 HR姑娘就來先陪我聊了會封锉,她非常興奮的給我講述了在這家公司是多么開心绵跷,這里全是 85 后膘螟,這里福利多好多好成福,1 月份的時候還集體去越南旅游,下午茶非常豐盛荆残,蛋糕奴艾,面包,咖啡内斯,飲料蕴潦,披薩每次都不帶重樣的,看她美滋滋的那個樣子俘闯,我肯定是信了潭苞,至少證明,這家公司的確是非常有活力的真朗,而且非常注重團隊文化的建設(shè)此疹,有這樣的保證就夠了。
過了大概 10 分鐘遮婶,CTO 來了蝗碎,非常年輕,大概就 88旗扑,89 年這樣蹦骑,很厲害。拿了紙筆臀防,邊問邊寫眠菇。問的節(jié)奏很快,總結(jié)起來就是考察我有沒有主動解決問題和探索新技術(shù)的能力袱衷,還問了我的 GitHub 和 CSDN的情況捎废,總之感覺他更關(guān)心的是我對待技術(shù)的態(tài)度。
最后他問了下期望薪資祟昭,我說了一個和上家一樣的數(shù)字缕坎,因為我很渴望能在這工作,所以待遇上反而真的沒有要求了篡悟。
他說讓我回去等通知谜叹,他和 HR 明天要出差匾寝,可能周一才會給我答復(fù),我就先回去了荷腊。
回家后艳悔,HR 加了我 QQ,跟我說實際上明天應(yīng)該就會告訴我結(jié)果女仰,讓我耐心等待猜年。第二天,我看她在空間發(fā)了一個說說疾忍,我就有意點了個贊乔外,然后她立馬 QQ 給我消息:「哎呀,忘了跟你說了一罩,恭喜你杨幼,面試通過了!」
3 月 29 日
27 日周一我拿到的 Offer 郵件聂渊,然后29號正式入職差购,辦理了一些手續(xù)。HR 帶我到各個部門熟悉了下汉嗽,然后就把我交給了之前面試我的 Android 負責(zé)人欲逃,我叫他嘉哥。公司給我新配了一整套電腦饼暑,處理器是 i5-7500 的稳析,簡直是飛一般的感覺,我把一些基本環(huán)境配好后撵孤,嘉哥把我和其他 Android 程序員叫到辦公室迈着,讓我們互相認識了下。有兩位實習(xí)生和兩位和我一屆的邪码,但感覺他們技術(shù)都非常棒裕菠,看來以后要多多加油了啊闭专!
嘉哥下午的時候把我?guī)У綍h室奴潘,把公司的開發(fā)流程和項目的代碼大概的順了一遍,然后讓我自己這段時間先熟悉熟悉影钉,第二天画髓,讓我多看看某個方面的內(nèi)容,因為現(xiàn)在這個模塊代碼有點耦合平委,希望我可以研究研究奈虾,然后想辦法抽離出來。
這個任務(wù)對我來說還是很有挑戰(zhàn)性的,因為項目的代碼體量特別大肉微,我還得熟悉一段時間匾鸥,抽離模塊的任務(wù)實際上就是封裝一個模塊,并且和業(yè)務(wù)解耦碉纳,是代碼優(yōu)化和框架優(yōu)化上的工作勿负,比起以前那些寫寫頁面這樣的工作來說,當(dāng)真非常有挑戰(zhàn)性劳曹,我不僅有壓力奴愉,而且也很興奮。
然后周三下午茶是披薩铁孵,清明放假前一天锭硼,舉辦了 3 月的生日會,大家一起唱生日歌分蛋糕的情形甚至讓我想到了大學(xué)生活库菲。
新公司感悟
在公司才待了 3 天账忘,但感觸很多志膀,總結(jié)下熙宇。
因為以前在外包公司,代碼都是自己弄溉浙,所以代碼規(guī)范很不理想烫止,在產(chǎn)品公司,感覺他們的代碼非常嚴(yán)格戳稽,文檔非常全面馆蠕,所有模塊和功能的文檔都寫的很清楚,并且有專門的代碼規(guī)范文檔惊奇,細節(jié)到每個類和方法的命名互躬,某個組件調(diào)用的方法,甚至強制規(guī)定某些代碼必須怎樣寫颂郎。而且吼渡,團隊還規(guī)定每次代碼提交后需要互相之間 review 代碼,有問題直接 fixme 指出來乓序。并且寺酪,很多工作都是代碼優(yōu)化上的,有時候是模塊抽離替劈,有時候是組件化統(tǒng)一寄雀。總而言之陨献,在這工作我的代碼規(guī)范和工程能力一定會極大提高盒犹。
然后,以前工作上我用的版本管理是 SVN,只在 GitHub 上用 Git急膀,平時提交代碼的時候膜蛔,主要也用的 AS 自帶的 Git 插件。嘉哥跟我說最好要用指令脖阵,我一開始不理解皂股,認為用插件不是更方面嗎,后來才發(fā)現(xiàn)命黔,項目中因為模塊分離呜呐,很多項目會統(tǒng)一用一個子模塊,所以如果不用指令悍募,項目和子模塊指針管理就會出問題蘑辑,而且 Git 指令操作更清晰明確,所以這 3 天我也花了不少功夫?qū)W習(xí)了指令坠宴。
我現(xiàn)在還在看代碼洋魂,因為還沒正式上手工作,所以還是有一些茫然在里面喜鼓,希望自己能更加努力茫虽,多溝通血崭,盡快融入到這個大家庭中。
3 月找工作過程的感悟
經(jīng)過這一個月充滿壓力的裸辭找工作這段經(jīng)歷,我收獲了很多感悟主经。
- 如果工作經(jīng)驗不是很多讥邻,盡量還是不要裸辭膊爪,老實說環(huán)境不好征堪,壓力太大。
- 「學(xué)習(xí)能力」背桐、「解決問題的能力」优烧、「激情與沖動」和「對技術(shù)的追求」是每個公司非常看重的链峭。能進這家公司我感覺不一定是因為我的技術(shù)水平畦娄,因為我工作經(jīng)驗少,當(dāng)時技術(shù)面試也不是說完美發(fā)揮熏版,技術(shù)肯定高不到哪去纷责,但我給嘉哥展現(xiàn)出來的一些東西,讓他看到了我身上的可能性撼短。有點類似 stormzhang 那位剛剛離職的同事當(dāng)初入職薄荷的時候的情況吧再膳。不過這只是我自己的想法,我也沒問過嘉哥曲横,等以后有機會一定要問問他喂柒。
- 學(xué)歷還是比較重要的不瓶。我明顯感覺到我作為一個 211 畢業(yè)生的確面試過程中有一定的優(yōu)勢,能得到的面試機會也多一點灾杰。不過這并不是很重要蚊丐,因為我這只是在南京,南京公司真的不多艳吠,如果去上海麦备、杭州、北京這樣的城市昭娩,機會特別多凛篙,只要有機會面試,歸根究底是看能力栏渺。只不過學(xué)歷高的人得到面試的機會會多一點呛梆,能不能通過,大家的標(biāo)準(zhǔn)都一樣
- 找工作切不可操之過急磕诊,有一些挫折時必然需要經(jīng)歷的填物。不如老老實實的好好多看幾行代碼來的實際。
- 在這種關(guān)鍵時刻霎终,每天保持一定的運動量對整個人各方面狀態(tài)的保持非常有幫助滞磺!
- 如果找到工作了,也不能大意神僵,后面的試用期雁刷,你得花更大的努力才能徹底穩(wěn)定。
- 如果可以保礼,技術(shù)面可以適當(dāng)拓寬點,對 Android 來說责语,還是需要多看看 Framework 的炮障。
- 最重要的一點,「Read the fucking code」坤候,源碼看起來P灿!
我最近在維護的一個開源項目白筹,歡迎 star:WeaponApp