面試如作戰,我們看戰爭影視劇的時候,經常看到這些劇作往往主要聚焦於作戰過程、戰場戰略,對戰前準備給的篇幅往往很少。實際上,戰前準備也是關鍵的一環,沒有充足的糧草、車馬、兵器的準備。別說贏得戰爭,投入戰鬥都不可能。
這個道理在面試中也是一樣。如果不做面試準備,就猶如不磨刀槍上戰場,勝負更多則靠運氣。尤其是對於剛剛畢業的大學生來說,成功的面試,往往基於充分的準備。充足的準備,有可能做到十發九中,面試一家成一家。
那麼面試之前,我們需要做哪些準備,才能做到胸有成竹呢?這個話題將從對於簡歷的準備、對面試公司的瞭解等方面來說。今天在這裏給大家之後的面試提出3個走心的面試建議,希望對大家有幫助,也祝大家面試順利~
經常會有朋友私聊我幫他看下簡歷,發現了一些共性問題;除此以外,我偶爾面試一些同學,有一些個人的感受分享給大家。
簡歷信息要直觀
簡歷首先要經過 HR 這一關,HR一般情況下是第一個決定你簡歷是否能往下投遞的人。
所以,我們首先需要站在他們的立場,思考他想看到什麼就行了。
對於基本信息:畢業院校,畢業時間,聯繫方式這些核心信息我們就不贅述了。
我見過一個簡歷上面的項目經歷,項目名大概是這樣的
- 2016-2017 BBV線上項目
- 2017-2018 功夫線上項目
掃了一眼,完全不知道是什麼項目。
你不能預期HR去花時間讀你簡歷中的項目介紹,去推斷你這個項目的類型...
於是我諮詢後發現,BBV是個區塊鏈app,功夫是個餐飲類app。
那麼你不如就修改爲下面的寫法,更加直觀:
- 2016-2017 區塊鏈app (BBV)
- 2017-2018 餐飲類app (功夫)
【知名項目除外,不要參考這一條。】
簡歷上表達出專業技能
1. 方便 HR 查看技能匹配度
任何面試崗位都有要求,部分 HR 也會關注簡歷與發佈崗位的匹配度的。
這裏也有個小技巧:你可以靈活的匹配這個崗位的要求(但不要把不會的寫上去)。
2. 面試問題的主要來源
面試官,主要通過交流、提問,來確定你的技術深度、廣度,以及對該崗位的匹配程度。
那麼,提問問題哪來呢?
當然是從你的簡歷內容中來。
所以你簡歷中要明確表現出專業技能的掌握情況:
例如這樣:
專業技能
- 熟悉Android熱修復、插件化、dex,arsc等相關技術
- 熟悉Android 常規的事件分發、自定義控件、動效等相關
- 熟悉面向對象,在意封裝、繼承,和接口設計
- 熟悉Android性能優化常規手段,有一定的實戰經歷
- 熟悉Android 四大組件相關framework代碼
- 熟悉編寫gradle plugin,有一定的實戰經歷
- 熟悉Https在Android上的適配、以及應用防破解相關知識
- 瞭解NDK開發,有過一點JNI開發經驗
如果你項目比較出彩,也可以將專業技能拆分到項目介紹中去。
這樣你可能會遇到一個很 nice 的面試過程:
A:看你做過XXX,說說怎麼實踐的。
B:我在項目中這麼實踐的,而且遇到過以下幾個問題,是這麼解決的。
A:我也遇到過,我是這樣解決的,不過感覺你的方案好像也不錯。
AB: 開心的深入交流下去。
...
但是,如果你沒有寫專業技能。
那麼遇到好點的面試官,可能會跟你交流項目,從你的陳述中去確定你用到哪些技術才能進行發問。
當然,很多時候面試還挺緊張,一問一答,項目介紹也很簡單就過去了。
面試官就很鬱悶了,問啥呢?
那隻能問他比較熟悉的東西了,可能面試官主要是做插件化相關的,而你主要是做組件化相關的,這種情況就可以能造成你倆不在一個頻道了,非常吃虧。
很可能面試流程就變成了:
A:你有沒有做過 XXX。
B:沒做過。
A:那你有沒有做過 XXX。
B:沒做過。
A:(內心)這B到底做了哪些事...
B:(內心)問的什麼屌問題...
...
當然,千萬不要寫自己沒有深入瞭解過的技能,凡是你列出來的,會默認你對此有掌握有一定的深度,而不是被提問時,回答:
- 這個我就用了一下...
- 這是我同事接進來的...
- 源碼我還沒來得及看...
對於第三庫原理回答要有針對性
對於回答問題,在回答出問題的同時,儘可能關聯到自己所經歷的具體的項目場景。
下面我說一個真實的體驗,關於第三方庫原理,基本上面試都會被問到。
比如問你圖片加載框架 freso 的原理:
有的同學回答是這樣的:
“首先根據 url,看看有沒有緩存,有緩存從緩存中取,沒有 build 一個 request,放到線程池執行。”
乍一聽好像也沒錯,但是,任何一個完備的圖片加載框架不都有這個流程麼。
所以,問你一個開源庫,除了回答基本原理流程,你心裏要明確知道這個庫的核心架構與特點,設計的比較好的地方,可以擴展的地方。
如果項目中還針對做過優化、監控等就更好了。
比如剛纔問到的 fresco:
- 你可以說說他的整體設計架構;
- 你可以說說他的圖片內存管理機制,在不同的版本手機上,然後深入下去;
- 你可以說說他的Producer/Consumer 機制,以及如何利用這個機制去做擴展,項目中的定製;
- 你可以說說根據自己業務情況做了哪些優化;
- 甚至說一些它的缺點;
...
所以,對於第三庫的原理,希望你能掌握:
1.基本原理流程;
2.整體的架構設計;
3.做的比較好的地方,以及這些地方設計與原理;
4.結合項目的定製、優化、擴展;
其實這個建議,也能反推出另一個問題:
如何學習開源項目源碼?
很多同學學習一個開源庫源碼,花費了非常大的力氣去梳理代碼執行流程,然後終於銜接起來,長舒一口氣就結束了,那麼就有點可惜了。
根據上面建議的回答可以看出來,梳理清楚執行流程只是第一件事。
你要去深入發現:
1.核心的架構設計是什麼樣子的?
2.和其他類似開源庫相比有什麼優勢?
3.這些優勢是如何做到的?
4.哪些部分可以定製,方便我們日後進行擴展?
最後,雖然有很多優秀的簡歷模板,各種面試技巧,但是千萬不要捨本求末,始終要牢記個人履歷纔是關鍵,希望大家隨着工作年限的增長,履歷也越來越豐富。
希望本文對你有所啓發,有任何面試上的建議也歡迎留言分享給大家。
好了,今天的分享就到這裏,如果你對在面試中遇到的問題,或者剛畢業及工作幾年迷茫不知道該如何準備面試並突破現狀提升自己,對於自己的未來還不夠了解不知道給如何規劃,可以在下面留言評論獲取一下兩千人的技術交流大羣。來看看同行們都是如何突破現狀,怎麼學習的,來吸收他們的面試以及工作經驗完善自己的之後的面試計劃及職業規劃。
PS:羣內有許多技術大牛,有任何問題,歡迎廣大網友一起來交流,羣內還不定期免費分享Android學習資料和麪試方面資料的~
偷偷說一句:羣裏高手如雲,歡迎大家加羣和大佬們一起交流討論啊~
最後
如果你看到了這裏,覺得文章寫得不錯就給個讚唄?如果你覺得那裏值得改進的,請給我留言。一定會認真查詢,修正不足。謝謝。
推薦一篇文章,具體的架構視頻,面試專題,學習筆記都在這篇文章中:“寒冬未過”,阿里P9架構分享Android必備技術點,讓你offer拿到手軟!