前言
網上有很多對程序員簡歷的一些指導,這里就不重述,大家可以搜下網上其他大神的總結,結合自身情況修改下。我有幾點建議:
1.盡量不要花哨,程序員和設計師或者產品運營還不一樣,我們的簡歷成功與否決定權還是在技術面試官那,而他們看重的是你的項目經驗內容和技術等描述。
2.技能描述這塊盡量只寫你懂得而且理解深刻的,可以適當加入一些新技術或流行框架,不過這塊需要理解,沒來得及看源碼的可以看看大神們對它的總結,網上一大堆。
3.項目經驗這塊盡量加入關鍵詞,比如使用了什么技術、用到哪些設計模式、優化數據對比、擴展總結之類的。而非一味地介紹這個項目內容(那是產品經理的描述),比如性能優化這塊,分為UI性能優化、內存優化、數據庫優化、網絡優化、耗電優化等等。可以從1.如何發現問題,2.怎么解決問題,3.解決效果對比,這幾個方面去描述。舉個簡單例子——UI優化,可以從 UI出現什么問題(卡頓不流暢),怎么查找問題(手機開發者權限>GPU過度繪制 發現層級問題,TraceView CPU使用情況分析),怎么解決問題(降低層級、自定義View繪圖出現問題等),解決問題后性能再次對比。
一面經歷
開始面試,
(1)一來就問我tcp/udp有哪些協議(就記得http和dns解析,估計是看我專業是網絡工程的)
(2)弱引用,軟引用
(3)volatile關鍵字(突然不知道怎么回答,然后記起來了跟java內存模型相關,就說了一下jmm)
(4)多進程(莫名認為是多線程,說歪了)
(5)什么場景需要用到多進程(回答中說了推送)
(6)為什么推送需要多進程,有什么優勢(不知道有什么優勢)
(7)hashmap的數據結構(回答了維護一個entry數組,hash沖突,1.8中鏈表會變成紅黑樹,然后面試官沒繼續深究)
(8)anr分類有哪些,原因(具體不了解,就知道執行網絡或者數據存儲等耗時操作)
(9)anr定位(不會)
(10)activity生命周期
(11)activity從A打開B的生命周期(答錯)
(12)事件分發
(13)使用過開發者選項嗎(就用過顯示過度繪制)
(14)kotlin相關,優點(簡歷上寫了kotlin)
(15)kotlin協程(不會)
(16)mvp(回答不夠發散,可以從mvc發散到mvp)
(17)算法題:鏈表有無環
事件結果
面試官:大致情況了解了,我們會根據結果認真評級的,有通知人事會及時通知的,今天大概就聊到這里了。 我:心態已崩……
我有話說
上述分享的程序員面試騰訊一面含淚把毒打經歷,希望能讓更多知識點薄弱的同學早點去補強。我們很多程序員都有一個大廠夢,但如何針對大廠進行面試準備,很多程序員就顯得手足無措了。本文就根據自己一些見解談談如何準備面試。
關于筆者:?騰訊 Android 客戶端開發工程獅一枚,喜歡技術、熱愛開源。
細節雜談
之所以是細節雜談,說實話,是因為真的不知道可以寫什么,網上關于面試的文章很多,大概看了幾篇之后,更不知道寫什么了。而根據自己的面試經驗來看,發現其實有很多細節,在面試的時候都沒有被好好重視起來。所以,這里針對這些細節做個總結,也希望可以對你們有所幫助。
1. 準備一個良好的開場白
首先筆者理解的自我介紹的作用是緩解初次交談的尷尬以及過渡開場,然后才是擴展為對候選人的口才、邏輯以及表達能力的判斷。
如果你實在不知道怎么說,即便是把你簡歷上的姓名、年齡、愛好、工作經驗復述一遍,至少也是起到了暖場的作用。當然要是能基于此,表現出一定出彩的地方,那自然是再好不過,多花點心思準備是值得的。
PS:最近看到一個有趣的分享,唐僧每次介紹自己:貧僧唐三藏,從東土大唐而來,去往西天拜佛取經。其實這幾句話包涵了每人都要問自己的三個問題:我是誰?我從哪里來?我要到哪里去?
2. 謙虛是必要的,因為這是禮節
很大程度上,面試官還有一個身份就是以后可能要一起共事的同事或者老板,所以切忌不要表現的心高氣傲,尤其在電話面試中,很難在短時間就能了解一個人,你所表現出的態度就顯得非常重要,如果和面試官產生了爭論,要注意談話技巧,可以在你的觀點前加上我理解的是什么什么…
就連牛頓說他不過是站到了巨人的肩膀上了,所以永遠不要覺得自己有多牛,真正牛的人只會更謙虛。
3. 大招放的好,工作何愁找
嗯,標題起的挺押韻,容筆者小小的驕傲下 😃
筆者在面試中,有時候和候選人聊了很久,覺得候選人基礎知識扎實、項目經歷也能娓娓道來,但是就是沒有讓人眼前一亮的東西,而且往往連續出現好幾個類似的候選人之后,這種情況真的很難抉擇,對于面試官來說,幾個候選人表現的都差不多,你會發現…舉個不太恰當的比喻,食之無味,棄之可惜。
所以,如果你有個大招就顯得非常重要,讓你和其他的候選人區別開來,而對于面試官來說,也會更偏向于你,甚至可以直接鎖定勝局。
何謂大招,首先對于候選人來說,技術面試所涉及的深度和廣度是很難全部顧及的,加之每個面試官的問題又會多種多樣,所以與其擔心被問到自己不熟悉的領域,不如挑幾個自己的熟悉的技術點深挖下去,總結和形成自己的一套理論。
之前看到一句話說的很好,**面試的本質不是一問一答,而是亮點展示(放大招)。**所以要學會掌握面試的主動權,把話題盡量往自己擅長的地方引,當然陳述的時候記得一定要簡潔扼要。
筆者當時在準備阿里面試的時候,就花了很多精力把 GitHub 一個優秀的開源框架,從設計模式、原理以及細節都琢磨了個透。
4. 算法題 — 知之為知之,不知為不知
面試中問到算法題,如果不知道就明確表示不知道,切記不要裝做知道,然后不知所云的說了一大推,這樣反而會給面試官留下比較差的印象,面試評價上也會比較難看,很有可能也會影響你后續的面試。
不用擔心回答不知道,就感覺沒戲了。這里一般有兩種情況:一種確實是對算法要求高的職位,那沒辦法了,只能回去好好加強一下,來日再戰。還有一種情況主要是考察你的綜合能力,你其他方面的能力表現的非常好,可以彌補。不會有影響的。嗯,筆者當時就屬于第二種(強行炫耀)。
算法真的是筆者的一大弱項,之前每次面試被問到算法題的時候,我都很頭疼,不過后來索性想明白了,把更多時間放在自己所擅長的地方了。
5. GitHub — “不只是全球最大的同性交友網站“
因為 GitHub 上的開源項目,筆者多次收到過 Facebook、Twitter、英偉達 (NVDIA) 的面試邀約郵件,盡管只是一封郵件,但是對于筆者來說,自身的能力得到認可還是很開心的。
所以,如果你的 GitHub 主頁足夠漂亮,帶來的價值遠超出你的想象,尤其是對于一無學歷,二無大廠背景的同學來說,就顯得更重要了,一定要利用好這個平臺去展示自己的能力。
6. 還有一些小細節
-
簡歷遵循 STAR 法則,內容才是王道。對于某些大廠來說,都會有自己的招聘系統,而你精心打造的酷炫簡歷在導入到后臺后,會變得面目全非。你的簡歷樣式做的再好看也沒用,少在樣式上下功夫,多在內容上下功夫。
-
聽到面試官的問題后,先不要急于回答,給自己幾秒的思考時間,多站在面試官的角度去思考這個問題應該怎么答,比如當問到你覺得你最大的優勢是什么?有些同學會直接回答熱愛技術……然后…然后就沒有了。這樣顯然毫無說服力,如果加上一句,經常瀏覽國外優秀的技術博客、在 GitHub 參與和貢獻自己的開源力量,是不是就好很多了。
-
**面試結束后,不要覺得不好意思,或者覺得沒有必要,對面試官說一聲:“謝謝,辛苦您了”。**就我個人經驗來說,畢竟大部分負責的面試官都會和你聊比較長的時間,也會盡可能挖掘你的技術亮點。結尾給面試官留個好印象,如果沒有通過,至少對你的面試評價上也不會太難看。
最后
今天關于面試的分享就到這里,還是那句話,有些東西你不僅要懂,而且要能夠很好地表達出來,能夠讓面試官認可你的理解,例如Handler機制,這個是面試必問之題。有些晦澀的點,或許它只活在面試當中,實際工作當中你壓根不會用到它,但是你要知道它是什么東西。
最后在這里小編分享一份自己收錄整理上述技術體系圖相關的幾十套騰訊、頭條、阿里、美團等公司20年的面試題,把技術點整理成了視頻和PDF(實際上比預期多花了不少精力),包含知識脈絡 + 諸多細節,由于篇幅有限,這里以圖片的形式給大家展示一部分。
還有?高級架構技術進階腦圖、Android開發面試專題資料,高級進階架構資料 幫助大家學習提升進階,也節省大家在網上搜索資料的時間來學習,也可以分享給身邊好友一起學習。
領取方式:點擊【Android學習PDF+架構視頻+面試文檔+源碼筆記】
【Android核心高級技術PDF文檔,BAT大廠面試真題解析】
【算法合集】
【延伸Android必備知識點】
5618262)]
【算法合集】
[外鏈圖片轉存中…(img-3JhghYy3-1620895618265)]
【延伸Android必備知識點】
[外鏈圖片轉存中…(img-srpTqKG2-1620895618268)]