本篇文章已授權(quán)微信公眾號 code小生 獨家發(fā)布
博文出處:記自己2018年三月份的面試經(jīng)歷嘱丢,歡迎大家關(guān)注我的博客,謝謝伟桅!
煩煩煩煩
過完年后敞掘,又是一波招聘熱季,各種好公司楣铁、好崗位都在拼命招攬人才玖雁。自己也考慮到以后的發(fā)展和更好的工作還有未來,整天處于焦慮和煩惱的狀態(tài)盖腕,看看自己現(xiàn)在拿到的工資赫冬,不多。所以為了改變這局面溃列,打算下海試試水劲厌。
先講一下自己的情況,2016 年本科畢業(yè)听隐,在目前這家公司基本上已經(jīng)在職一年半多了补鼻。而最近大半年在公司都是做 Java 開發(fā),處于大白階段,會寫代碼辽幌,但是沒有深入到框架源碼增淹。
所以想要去市場上應(yīng)聘 Android 崗位,還需要好好復(fù)習(xí)一番乌企,因為半年沒有碰 Android 了虑润。結(jié)果還是發(fā)現(xiàn)有些知識點在面試的過程中已經(jīng)記不清了,生疏了加酵。
由于自己是在職拳喻,考慮更好的發(fā)展機會,所以并沒有瘋狂海投簡歷猪腕,而是先找了自己的同學(xué)朋友內(nèi)推了一波冗澈,之后投了幾家自己喜歡的公司。下面我就開始講講自己的經(jīng)歷陋葡。
面試的幾家公司
億咖通
先聯(lián)系了自己的同學(xué) A 亚亲,正好他們公司也在招 Android 開發(fā),所以先打算試試水腐缤。
面試時了解到捌归,該公司是在車載設(shè)備上開發(fā) APP 的,聽上去好像很高大上岭粤,是由吉利投資的惜索。
面試一開始,講了自己現(xiàn)在公司做的是 Java 開發(fā)剃浇,結(jié)果前兩個面試官問我的都是一些 Java 問題巾兆,有點虛...幸好第三個面試官是 Android 開發(fā),不然真扛不住虎囚,哈哈角塑。
- MyBatis 和 Hibernate 的相同和不同處,以及實用場景淘讥;
- Redis 存儲和數(shù)據(jù)庫存儲的區(qū)別吉拳;
- MVP 架構(gòu)模式的優(yōu)點和缺點,與 MVC 的比較适揉;
- Android 多進程通信;
- 目前在職公司的產(chǎn)品介紹和自己負(fù)責(zé)的模塊煤惩;
- Android 內(nèi)存泄露嫉嘀,舉例幾個容易發(fā)生內(nèi)存泄露的場景;
- Android 插件化的原理魄揉;
- OKHttp 的源碼和原理
- Retrofit 的源碼和原理剪侮;
- RecyclerView 中的 LayoutManager ;
- 剩下的不記得了,時間有點久遠(yuǎn)。瓣俯。杰标。
Android 的問題基本上都回答出來了,但是一些細(xì)節(jié)上面有些遺忘彩匕,因為真的好久沒寫過 Android 代碼了腔剂。面試完后,面試官說自己的 Android 技術(shù)水平?jīng)]我好驼仪,我方了掸犬。
最后,很遺憾沒有拿到該公司的 offer 绪爸,好像是因為他們公司 Android 開發(fā)招滿了湾碎,沒有名額了。
旱旎酰康威視
吸取了之前面試失敗的教訓(xùn)介褥,所以又讓同學(xué) B 給我內(nèi)推了海康威視递惋,正好也在招 Android 開發(fā)柔滔。
海康威視是做視頻監(jiān)控丹墨、安防這一塊的廊遍,是一家很牛逼的公司,所以自己心里在想要好好復(fù)習(xí)贩挣,把握機會喉前,一塊去濱江開拓事業(yè)。(/斜眼笑)
面試的過程和兩位面試官聊的很愉快王财,輕輕松松卵迂。面試官問的問題也不難,所以技術(shù)面 easy 就過了绒净。以下面試中問到的幾個問題见咒,可能記錄不全,一部分已經(jīng)忘了挂疆。
- 自我介紹改览,公司產(chǎn)品介紹,負(fù)責(zé)哪一塊缤言;
- 寫博客的意義宝当,為什么開始寫博客,還問了“簡書程序員優(yōu)秀作者”這個 title 怎么搞到的胆萧,哈哈哈庆揩;
- Kotlin 和 Java 相比,有哪些優(yōu)點,有沒有在實際項目中使用订晌;
- MVC 虏辫、MVP 和 MVVM 三種架構(gòu)的區(qū)別和優(yōu)點;
- Vue.js 數(shù)據(jù)和視圖雙向綁定的原理锈拨,emmmmmm砌庄,這個真的不知道,只知道有個 v-bind 這東東推励;
- Retrofit 框架的源碼以及原理鹤耍;
- Android 插件化框架的原理;
- 熱更新框架的原理验辞;
- HTTPS 的原理稿黄;
- 目前在職公司 Java 開發(fā)的架構(gòu);
- Android 內(nèi)存泄露跌造,舉例幾個容易發(fā)生內(nèi)存泄露的場景杆怕;
- Android Native 和 JS 通信有幾種方式,有沒有用到什么框架之類的壳贪;
- Android 布局優(yōu)化相關(guān)的問題陵珍,就回答了 include 、 merge 標(biāo)簽和 ViewStub 以及降低 View 層級之類的违施;
- 有沒有了解過 React Native 或者 Weex 互纯;
- 接不接受大小周,接不接受晚 上加班加的晚磕蒲,接不接受偶爾出差留潦,那我肯定都說接受啊,哈哈哈哈辣往;
- 剩下的也記不清了兔院,反正問的問題不是特別難,和面試官說說笑笑就過了站削;
因為和兩個面試官聊的比較開心坊萝,輕松愉快。所以技術(shù)面順利地通過了许起。感覺我會的東西比較雜十偶,即會 Android ,又會寫 Java 园细,還自學(xué)過 Vue.js 扯键。
之后就叫我等待 HR 面試,此時此刻珊肃,我以為我已經(jīng)穩(wěn)了,結(jié)果我 GG 了。
一般來說伦乔,能到 HR 面厉亏,可以說只要別腦抽犯傻,offer 已經(jīng)是探囊取物了烈和。
和 HR 面試也不多說了爱只,就是問到的方面涉及很多很雜,工作招刹、生活和成長等都有恬试,自己也回答得不錯。結(jié)果到最后掉了鏈子疯暑,當(dāng) HR 問到我自己的期望薪資是多少训柴,報了一個較高的數(shù)字。結(jié)果 HR 一聽馬上就問我最低能接受多少妇拯?我腦抽地回答最低就是這個數(shù)字了幻馁。結(jié)果,emmmmmmmmmm越锈,一首涼涼送給自己仗嗦。
現(xiàn)在回想起來,不知道當(dāng)時自己嗑了什么藥甘凭,完美地葬送了一個 offer 稀拐。
當(dāng)貝網(wǎng)絡(luò)
這家公司是自己在 BOSS 直聘上投的(沒有打廣告),之后收到面試通知丹弱,約在了工作日的晚上德撬,打算下班了趕過去面試。
之后了解到這家公司專注于智能電視平臺的蹈矮,旗下有為智能電視和安卓電視盒打造的應(yīng)用市場,就像手機里的應(yīng)用寶砰逻、豌豆莢一樣,好像在國內(nèi)的智能電視市場里很厲害泛鸟,是處于領(lǐng)先地位蝠咆。
好了,講回面試吧北滥。因為面試的時間比較緊急刚操,所以也沒有好好準(zhǔn)備,結(jié)果被面試官給虐菜了再芋。上面試題:
- 單元測試有沒有做過菊霜,說說熟悉的單元測試框架;
- Retrofit 框架的原济赎,里面使用到的注解是編譯時注解還是運行時注解鉴逞;
- RxJava 操作符记某,map 和 flatMap 的區(qū)別;
- Fragment 在 ViewPager 里面的生命周期构捡,滑動 ViewPager 的頁面時 Fragment 的生命周期的變化液南;
- 內(nèi)存泄漏。舉例有哪些情況會發(fā)生內(nèi)存泄漏勾徽;
- Gradle 打包滑凉;
- AOP IOC 的好處以及在 Android 開發(fā)中的應(yīng)用;
- View 觸摸事件分發(fā)機制喘帚;
- Java基礎(chǔ): static 和 final 關(guān)鍵字的用法畅姊;
- ArrayList 和 LinkedList 的區(qū)別和使用場景;
- MVC 吹由、MVP 和 MVVM 三種架構(gòu)的區(qū)別和優(yōu)點若未;
- Dagger2 框架中 @module 和 @component 的區(qū)別;
- Kotlin 特性溉知,和 Java 相比有什么不同的地方陨瘩;
- MVP 架構(gòu)中 Presenter 定義為接口有什么好處;
- Jenkins持續(xù)集成级乍;
- Android 插件化的原理舌劳;
- Handler 、MessageQueue 玫荣、Looper三者的關(guān)系和原理甚淡;
- 對于 Android 開發(fā),自己擅長哪方面捅厂;
- Java動態(tài)代理的使用贯卦,InvocationHandler 有什么用;
- 為什么 Google 會推出Fragment 焙贷,有什么好處和用途撵割? 直接用 View 代替不行么?
這次面試有好幾題都回答不上來辙芍,有些地方不夠深入啡彬。問了一下面試官,他已經(jīng)做了六年的 Android 開發(fā)了故硅,厲害厲害庶灿。
本來回去的路上感覺這次面試肯定掛了,結(jié)果出乎意料地第二天 HR 打給我電話說我的技術(shù)面通過了吃衅。之后因為路途太遙遠(yuǎn)往踢,所以 HR 面直接在電話里面試了。
最后在談薪資的時候感覺自己對這份 offer 提供的薪資不太滿意徘层,所以考慮了幾天拒絕了這份 offer 峻呕。之后就又開始尋找有沒有更好的機會了利职。
有贊
有贊這家公司也是我在 BOSS 上投的(真的沒有打廣告),投完之后山上,兩三天內(nèi)一點消息都沒有眼耀,我以為是看不上我了。結(jié)果之后發(fā)短信給我說需要電話面試我佩憾,那就來吧來吧,沒啥好虛的干花。
有贊之前還是了解過的妄帘,是一家比較注重技術(shù)的公司,在杭州也是比較有名氣的池凄。所以想好好發(fā)揮抡驼,拿到 offer 。
有贊技術(shù)面我一共面了三輪肿仑,分別是:電話面試致盟、現(xiàn)場面試、Android 組 Leader 面試尤慰。那么我就把這三輪的面試題一輪一輪地說馏锡。
第一輪電話面試
- 項目介紹,自己負(fù)責(zé)哪些內(nèi)容伟端;
- 安卓安全方面了解過嗎杯道,反編譯、加殼之類的责蝠;
- MVC 、MVP 和 MVVM 三種架構(gòu)的區(qū)別和優(yōu)點;
- Retrofit框架的原理署海,感覺這個每次都會被問到昨登。禽捆。胚想。;
- HTTPS 握手的步驟和過程;
- Jenkins 自動構(gòu)建;
- Android Studio 3.0 中 Gradle 的 api 和 implementation 有什么區(qū)別;
- HandlerThread 的原理和使用場景炼幔;
- AsnycTask 的原理和使用場景乘瓤;
- Handler 、MessageQueue 、Looper三者的關(guān)系和原理金麸;
- Android 插件化的原理桨醋;
- 熱修復(fù)的原理现斋;
- 應(yīng)用程序崩潰統(tǒng)計以及數(shù)據(jù)分析喜最;
電話面試的內(nèi)容差不多就這些,面完后又過了三天才給我通知說有下一輪面試庄蹋,在此期間我以為我電話面試掛了呢瞬内。。限书。
第二輪現(xiàn)場面試
- Android 插件化的原理遂鹊;
- 熱修復(fù)的原理;
- Java GC 回收蔗包,如何判斷對象存活;
- Java GC 算法慧邮;
- AsyncTask 调限、HanlderThread 、IntentService 的原理和使用場景误澳;
- 會哪些 RxJava 操作符耻矮,map 和 flatMap 的區(qū)別;
- Retrofit框架的原理忆谓,emmmmmm 裆装,又是這個;
- Bitmap 優(yōu)化倡缠;
- RecyclerView 和 ListView 的相同和不同點哨免,在 item 回收上有什么不同;
- View 事件分發(fā)機制昙沦;
- 說說 apk 打包流程琢唾;
- 有沒有做過 apk 多渠道打包;
- Android 組件化的原理盾饮,還有一些組件化平時使用的問題采桃;
- Binder 有沒有了解過;
- HashMap 的存儲原理丘损;
- Kotlin 特性普办,和 Java 相比有什么不同的地方;
- Android Framework層有沒有了解過徘钥,說說 Window 窗口添加的過程衔蹲;
- Window Activity View 三者的關(guān)系;
- 消息推送有沒有做過吏饿,推送到達率的問題踪危;
- Android 分享 SDK 有沒有做過蔬浙;
第二輪的面試也通過了,不過因為約在了晚上贞远,所以 HR 已經(jīng)下班了畴博,所以跟我說之后會聯(lián)系我的。
第三輪現(xiàn)場面試
過了一天蓝仲,有人加我微信俱病,說再約一次技術(shù)面,是團隊里面的 Leader 來面試我袱结。沒辦法亮隙,繼續(xù)干,又約在了工作日晚上面試垢夹。
- 項目介紹溢吻,負(fù)責(zé)內(nèi)容等;
- HTTPS 的原理果元;
- HTTP 2.0 有沒有了解過促王;
- 討論技術(shù)和業(yè)務(wù)哪個重要;
- Android 熱修復(fù)原理而晒;
- 剩下的記不住了...
因為技術(shù)面之前已經(jīng)面了一輪蝇狼,所以這次 Leader 面試技術(shù)問題提問比較少展箱,大部分時間都在互相討論聊天柏靶,當(dāng)然結(jié)果也是很愉快地結(jié)束了层玲。之后叫我等一下呈枉,HR 來面試我满粗。
因為之前翰匮校康 HR 面還讓我心有余悸撵术,所以這次 HR 面試也是格外謹(jǐn)慎逮光。幸好焦匈,HR 面試沒出什么大問題血公,叫我回去等通知。
最后缓熟,等了四天這樣子累魔,有贊 HR 給我打電話說順利通過面試了,給我發(fā)了 offer 够滑,大功告成了垦写。
寫在結(jié)尾
現(xiàn)在回頭看看,自己面試的公司也只有三四家彰触,不算多梯投,也是因為自己還在職的原因吧。
至于結(jié)果也還算滿意,拿到有贊的 offer 分蓖,又要開啟一段新的征程了尔艇。