面試|2021金三銀四銅五安卓菜鳥被錘歷程出爐,所有碰壁的心酸都是技術不牢固帶來的

南方吳彥祖_藍斯發表於2021-06-23

前言

終於做了這個決定 別人怎麼說我不理 只要你也一樣的肯定 我願意天涯海角都隨你去 我知道一切不容易 我的心一直溫習說服自己 最怕你忽然說要放棄 跳槽真的需要勇氣 來面對流言蜚語 只要你一個 Offer 肯定 我的跳槽就有意義 我們都需要勇氣 去相信會在一起 人潮擁擠我能感覺你 放在我手心裡你的 Offer

隨著五音不全的歌喉,2021 年**面(被)試(錘)**正式開始...

個人簡介

  • 5 年工作經驗,後將近三年技術棧野蠻生長(Flutter、微信小程式、PHP、H5、後臺 Api、PS 等...)
  • 96 非本非專,高中學歷。已報名成人函授,24 年 1 月下證;
  • 無大廠光鮮履歷以及較好專案,小公司,專案型別雜亂;

求職渠道

  • BOSS/拉勾:記得提前查詢公司資訊,提前避坑;
  • 內推:個人推薦有底氣的直接走這個較好。建議優先線上,節省雙方時間,後續可以約線下。

關於跳槽

對於跳槽,個人其實相對比較牴觸,相比來來回回跳,內心更趨向於隨著公司的成長而成長...

可事實豈能如人願?

此想法還是太過於理想主義,但至少這是個簡單、真摯且內心一直期望的小夢想...

不過也是,及時的從溫水區離開,走向更遠的地方,看更多的風景,未嘗不是一種更好的選擇...

這裡特別奉勸各位小夥伴,一定、一定、一定要有自己明確的規劃,以及 及時止損!!!

真的是狗血雞湯,總要苦過一陣子...

這次找工作,的的確確被錘很久,遇到過暖心面試官,也遇到過無良公司,還好一直堅持想找個自己相對喜歡的公司,還好結果還不錯。

面試,無非就是一場技術交流。 遇到不會的很正常,積極響應面對,主動嘗試分析,盡力就好。這面試是否成功,有時候還真不是實力決定,不過實力有時候確實也能決定很多東西。

不管如何,一起加油~

本來想著記錄面試過程以及儘自己努力去搜尋對應較好的面試答案,當個筆記和參考留存,奈何個人能力有限,也不想簡簡單單的就是背背題、抄個答案或者誤導他人。知其然而不知其所以然,還是想後續抽空好好親自測試走一下,真正的去掌握,所以本文不會單獨的為每個面試官問我的問題特別註明對應的答案,我還是希望各位看官,尤其和我一樣的小白,可以認真的思索下,假如面試官這樣問你,你的答案會是什麼?還有沒有更好的回答?

雖然個人能力有限,但是還是希望做出一些正確引導,至少自己認為正確就好。

或者說,初心不變吧...

在此別過,江湖再見,祝君更好~!

面試題的答案都已整理好,需要的點選  【 】 檢視獲取方式。

漫漫坎坷面試路...

以下面試題並不完善,有一些由於緊張忘記了,? 大家見諒...

一起加油,努力找到自己喜歡的公司~!!!

關於 Title 公司五星說明:

  • 58 最棒!感謝 58 面試官,全程平易近人,全程都是在找我個人的優勢,幫我總結,另外後續很貼心的指出簡歷上存在的不足,包括對個人的一些建議,全程由好到爆,而且面試老哥實打實的從我個人的角度出發,去替我認認真真分析。感覺不像是面試,更多的是學習,能感受到一絲絲雞老大的感覺。強烈推薦 Android 小夥伴參與投遞,還是要有一些學歷哈,技術賊牛掰的大佬除外。

  • 亞洲創新集團、Keep、中科物棲、微愛面試老哥也是蠻不錯的,賊老貼心,最後還不忘記鼓勵以及提出建議,強烈推薦~ 

2021-3-1 雅識(做老年人產品)

電話溝通大概 30 分鐘左右,整體來看面試官相對較為隨和。

面試內容:

  • 你是如何跨地區協調處理開發相關事宜,痛點是什麼,如何解決,請詳細列舉說明。
  • 關於任務安排,我們想具體瞭解任務細化的範圍,請詳細列舉說明。
  • 關於前後端配合,這塊有什麼痛點,你又是如何解決的?
  • 針對你個人經驗,來談談 Flutter 和移動端的優劣勢,排除效能相關。
  • 工作中會編寫測試用例嗎?用過哪兒些?自動化測試工具呢?
  • 舉例說明你在工作中最有成就感、最有難度的一個事兒。
  • 我看你最近在應用上架,簡單聊聊目前應用上架需要注意的細節以及槽點。
  • 平時工作中會去關注卡頓率麼?你是如何處理卡頓?
  • Code Review 你們是怎麼做的?為什麼這麼做,請說明原因。
  • 簡單聊下你為什麼會選擇離職以及為什麼選擇我們公司的原因。

面試感受:

對於回答面試官的答覆,條理性還是有些欠缺,下次腦子裡先過一遍,有個輪廓在慢條斯理答覆。面試官感覺蠻友好的。?

2021-3-6 Keep(硬體)⭐️⭐️⭐️⭐️

13:30 進 15:46 出來,Keep 公司環境蠻不錯的,望京南附近,接待的小姐姐很友好,流程處理很快,門口保安大哥蠻貼心,給了一瓶水。

Keep 分兩個面試官先後面試,具體第一個面試官職稱忘記了,簡稱軟體面試官吧,應為後續的面試官是硬體方向的,希望小哥哥看到我這麼描述別幹我,?

面試內容:

1、軟體面試官:

  • 自我介紹、工作履歷簡述。
  • SVN 和 Git 區別?描述下 Git 提交過程以及什麼是工作區和暫存區?
  • Git 中 merge 作用?和 rebase 有什麼區別?
  • Java 中強引用、軟引用、弱引用、虛引用區別。
  • Https 和 Http 區別,內部使用哪兒些演算法。
  • 對稱加密和非對稱加密區別。
  • Jetpack 實際專案中用過哪兒些?
  • 簡述 Apk 包大小最佳化思路。
  • Kotlin 擴充函式怎麼實現的?基於什麼原理。
  • Kotlin 屬性委託怎麼實現的?基於什麼原理。
  • 簡述 SharePreferences 以及過程中遇到的問題。
  • 為什麼選擇 MMKV,MMKV 有什麼優勢,內部原理是什麼?
  • 簡述 Handler 以及原理。洩漏怎麼解決?

2、硬體面試官:

  • Flutter 實際開發經驗有多久?使用/瞭解過 Flutter 混編嗎?
  • 怎麼最佳化的 Flutter 包大小?
  • Flutter 中 Element、Widget 簡述。
  • Android Compose 瞭解過嗎?簡述一下。
  • so 庫動態載入有了解過嗎?
  • 簡述 MMKV 原理。
  • SharePreferences 有什麼缺陷?支援跨程式嗎?
  • 在不使用任何三方庫,如何實現彈幕功能?如何保證低端機上流暢性。
  • 自定義彈幕中,你 Model 怎麼設計?View 又怎麼設計?
  • RecyclerView 和 ListView 有什麼區別?
  • RecyclerView 快取原理。
  • 在不使用任何三方庫以及系統提供控制元件,如何實現 RecyclerView 下拉重新整理?
  • 直播是什麼實現的?需要注意的有什麼?使用過的影片格式有什麼?如何保證影片以及文字/語音同步性?
  • 開發過音訊相關嗎?用的是什麼?音訊格式是什麼?
  • 微信小程式使用什麼開發的?Vue 還是?

面試感受:

  • 公司環境很 nice,整棟樓都是,我還在下面找了半天。

  • 面試官很不錯,一面面試官我都能感受到尷尬了,問啥啥不會,扎心的一批,沒好好背,面試官一進來直接後背全溼透了,手動滑稽。二面面試官問的很全面,有技術、有業務、也會現場出場景,回答對應方案,以及其中存在的不足。整理來看很不錯,強烈推薦小夥伴去 Keep,全程友好到極致。

  • 所謂的八股文還是要背的,不然僅僅使用還是不夠的。白白錯失好的機會,蠻可惜的。

2021-3-9 快手(架構組)⭐️⭐️⭐️⭐️

牛客網線上面試,煎熬的 22 分鐘,都能感覺到面試官的無語,也算是一場經歷吧。

面試內容:

  • 自我介紹以及學歷簡述。
  • HashMap 內部儲存是怎樣的?
  • hash 衝突是個什麼概念?衝突之後怎麼解決?
  • 雜湊桶是什麼結構?
  • 連結串列結構節點是怎樣的?
  • Java 中的 volatile 是執行緒安全的嗎?如果對他做自增操作,例如 a++。
  • Handle 中的 postDelay 實現原理是怎樣的,它是怎麼實現的延遲處理?
  • 最佳化線上 Apk 大小都了什麼操作?做完 Apk 大小之後從多少降低到多少?
  • 下載轉換率怎麼統計的?
  • 假設現在給你個需求,需要在打包的過程中去處理圖片,你有什麼思路?在哪兒個 task 去做 hook?
  • 資源編譯的流程是什麼樣的?
  • 360 加固原因是什麼?
  • 你覺得加固或者安全方面,應該從哪兒個方面入手?Dex 層怎麼處理能防止反編譯?
  • so 加固你知道有什麼方案嗎?
  • 你比較擅長什麼?設計或者某個技術有比較深的瞭解?
  • 責任鏈模式簡述,一般用於什麼場景下。
  • 你怎麼理解的依賴倒置設計,具體在什麼場景下使用?

面試感受:

只能說個人平時對底層關注較少,很多東西瞭解的不夠透徹。感謝老哥最後仍不放棄,嘗試問我有什麼優勢或者哪兒些我擅長的地方沒有問到,感謝~

2021-3-10 58 ⭐️⭐️⭐️⭐️⭐️

58 得坐公交,下地鐵還有六站地,搞得有點暈車。環境沒得說,高大上。對於我這小司簡直是劉姥姥進入了大觀園。58 面試官很不錯,很貼心,一場面試,一場交流,非常感謝。祝面試官早日晉升,超神吧~

面試內容:

  • 自我介紹、學歷說明。團隊規模多大,團隊角色。專案為什麼做的這麼雜?
  • Flutter 實際經驗有多久?有混編經驗嗎?
  • 和 RN 對比後怎麼會選擇的 Flutter?Flutter 相比 RN 有什麼優勢?Flutter 不支援熱更你怎麼看?
  • 如果現有專案想接入 Flutter,需要做一些什麼樣的前提準備?或者是否考慮混合方式?
  • 在 Flutter 中遇到過一些什麼問題?
  • Flutter 地獄巢狀有什麼好的解決方案?
  • Flutter 有涉及到狀態管理方面嗎?具體說下。
  • Flutter App 針對應用崩潰是如何監控的?
  • 假如說我們現在有款產品需要快速迭代,在不考慮人力成本的前提下,你是如何決策使用某種技術以及原因。
  • 你瞭解的大廠混編方式有哪兒些?
  • Java 遷移 Kotlin 是什麼時候進行?是你主導遷移嗎?基礎元件也遷移了嗎?你是如何說服領導進行技術升級?
  • 遷移過程中遇到過哪兒些問題,團隊怎麼磨合?升級過程中是否涉及到版本升級這塊內容,怎麼處理?
  • Kotlin 協程有用過嗎?簡單描述。
  • 協程掛起組裝和 RxJava 有什麼區別嗎?
  • 協程的掛起和我們平時使用的執行緒掛起有什麼區別嗎?
  • App 中有開啟多程式操作嗎?有多程式開發經驗嗎?
  • 外掛化、元件化了解過嗎?
  • 模組化是怎麼劃分的?劃分的模組複用率是怎樣的?
  • 頁面間的通訊是怎麼做的?
  • 效能上最佳化是怎麼操作的?
  • 記憶體最佳化以及統計怎麼處理的?
  • 記憶體洩漏怎麼處理的,什麼情況下導致洩漏?
  • 圖片最佳化怎麼做的?
  • Glide 原理底層是什麼樣的,說說簡單理解。
  • 關於圖片快取有沒有做過一些處理?
  • 你瞭解一張圖片在記憶體中和硬碟中所佔空間大小嗎?
  • 是否在佈局這塊有過最佳化?具體怎麼操作的?使用過約束佈局嗎?簡單描述。
  • 專案中有做過一些統計、埋點嗎?怎麼操作嗎?有研究過一些靜態 hook 方案嗎?
  • 關於 Android 中插樁、注入有了解過嗎?
  • Apk 瘦身具體是什麼操作嗎?
  • 關於自定義 View,有沒有比較做過比較好的?常用的方式是什麼樣的?
  • 個人 Github 大概內容是什麼樣型別的?

面試感受:

58 真的是有史以來體驗最棒的,全程面試官一直在試圖給我總結亮點,挖掘優勢,甚至多次提到,有什麼你擅長的東西我沒問到的嗎?很平易近人,很好,很貼心。老大也說過,好的面試官是回去挖掘你的優勢。聊了很多吧,發散面很廣泛,大廠老哥說話很精簡,基本是我囉囉嗦嗦廢話一通,老哥幾個關鍵詞概括,而且有理有據。給我提了很多建議,很不錯,很貼心的一個老哥。從 58 出來很開心,默默看了 58 好久,突然愛了。? 再次感謝面我的老哥~也希望網際網路多一些和老哥一樣的人。

真的是,知道而為實踐,終究還是紙上得來終覺淺。感謝老哥,學習到很多。強烈推薦去 58 看看,哪兒怕和我一樣被掛了,也能學到不少東西。

2021-3-17 微軟

微軟是直接下來一輪筆試,一幫人坐在會議室,刷刷寫。

當時旁邊有個小姐姐,上來一通寫,給我整懵了,感覺好強。然而好景不長,開始塗了,隨後各種唉聲嘆氣。整的我無語到了極限...

演算法貌似有四道,就記住兩道,剩下忘乾淨了,瞧我這腦子啊...

演算法內容:

  • 寫個方法,接受一個字串,輸出反轉後的字串。
  • 假定現在有 s1 和 s2 兩個字串,求最長公共值。
  • ...

Android 內容:

  • Android 動畫有幾種?區別是什麼?版本釋出前推薦使用什麼動畫?和使用者互動推薦使用什麼動畫?如果兩者都要兼顧呢?說明理由。
  • 如何實現程式碼封裝,如何保證團隊多人開發程式碼複用。
  • Android 中 UI 適配的方式有什麼?舉例說明。
  • 專案中的 Log 模組如何設計?
  • 手寫實現 event bus 關鍵部分。
  • MVP 是什麼?有什麼優勢?手寫關鍵部分。

面試感受:

環境蠻不錯,賊老大。可以和雞老大吹水了,我也是進過微軟的男人啦~

2021-3-18 汽車之家

前期發生了一些不愉快,門口保安大叔去熱飯了,折騰半天才進去。給 hr 打電話,hr 讓找前臺登記,找半天沒找到,問了一個同事,人直接說哪兒有前臺。無奈之下又打電話,又讓找水吧,最後得虧大爺熱飯回來了,給我帶過去了。賊鬱悶。還是建議郵件直接寫明較好吧。

面試內容:

  • 自我介紹。
  • 從你專案中列舉一個你覺得比較有成就感的專案來說說。
  • 從架構上、元件化、外掛化或者解決問題的角度上來介紹下你做了哪兒些工作,有什麼深刻印象積累?
  • 簡單說下常用的 support 包有哪兒些和 androidx 相關的。
  • 既然有 support 包的存在,為什麼還要出現 androidx 呢?
  • 對 App 大小最佳化是怎麼操作的?
  • 螢幕適配怎麼做的?
  • 比如說,現在有個需求,大解析度手機一行顯示 30 個,小螢幕手機一行顯示 20 個,如果是你的話,你會怎麼實現?
  • 常見的記憶體溢位場景有哪兒些?
  • 專案中列表使用 ListView 多還是 RecyclerView 比較多,簡單說說。
  • RecyclerView 如何更新一條資料?
  • MVVM 和 MVP 有什麼區別?你更喜歡用哪兒種模式,為什麼?
  • Retrofit 如何全域性監聽相應體,比如我現在需要把請求資訊全部列印出來。攔截其中具體是如何實現的?
  • Android 中的多執行緒是如何處理?如果多工情況下如何處理?
  • Android 中執行緒池你瞭解多少?
  • 你專案中全部遷移 Kotlin 了嗎?為什麼遷移?
  • 你感覺 Flutter 適合用於什麼專案型別/場景?
  • Flutter 列表高速滑動和原生列表有什麼效能差異性?
  • 你用 Flutter 做列表有沒有做過一些列表方面的效能最佳化?
  • 灰產 App 中主要用了哪兒些技術,解決了什麼問題?
  • 你是出於什麼想去破解逆向其它 App 的?有嘗試過破殼嗎?
  • 離職原因以及學歷說明。

面試感受:

相比其他家的 hr,汽車之家的多少讓人感覺比較無語。可能也是,畢竟我還是小渣渣,要是雞老大,可能會好很多吧。面試官很友好,問的很全面。就是面試環境不咋地,後期應該到吃飯時間,好多人,很吵,得趴著湊過去說話,回家聽錄音進行復盤,後期全是一個小姐姐狂野的笑聲。?

2021-3-19 亞洲創新集團(社交)⭐️⭐️⭐️⭐️⭐️

週五下午迷迷糊糊就接到電話了,想著去溜達溜達一圈,結果失策了。公司環境很不錯,從前臺小姐姐到 hr,再到面試官,最後直接給我整的老後悔了,被朋友一通 diss,哪兒來的膽子,不做任何準備,直接下雨殺過去...

面試內容:

  • 工作多久了,你覺得你和其它 Android 工程師相比,有什麼優勢。
  • 你的 GitHub 主要內容是什麼?
  • 假如當你帶小朋友,你是如何和他進行分享以及幫助等?
  • 你持續寫東西,輸出的動力是什麼?
  • Kotlin 用多久了,你認為你的 Kotlin 掌握水準在哪兒?初級、中級、高階?
  • var、val、let、apply 有什麼區別?
  • let 返回 it,apply 返回 this,它們有什麼區別?為什麼這麼設計。
  • lateinit 作用是什麼?
  • Kotlin 協程有用過嗎?用在什麼場景?
  • 協程是個什麼東西?
  • 有了解過協程如何切換執行緒原理嗎?
  • Retrofit 和 OkHttp 是什麼關係?
  • Retrofit 是如何透過註解來方便我們 api 呼叫?基於什麼原理。
  • JetPack 用過哪兒些?
  • ViewModel 用來做什麼的?
  • ViewModel 如何實現生命週期繫結?
  • ViewModel 為什麼存在?那我直接建立個類不可以嗎?如何實現資料繫結。
  • ViewModel 如何例項,如何使用的?
  • LiveData 如何實現的?
  • LiveData postValue 和 setValue 賦值,這兩個會不會丟失資料,有沒有遇到過?
  • MVC、MVP、MVVM 區別是什麼?
  • Rxjava 用的多麼?map 和 flatMap 有什麼區別。
  • RxJava 使用哪兒個運算子能保證順序執行?
  • 如果讓你自己設計一個 Glide 你會如何設計?
  • RGB_565 每個畫素點佔多少記憶體?
  • 為什麼會使用 RGB_565?
  • 為什麼要對圖片進行一些壓縮?那伺服器直接給我們直接裁剪指定尺寸大小不就好了。
  • 假設現在有一張 1MB 圖片,我直接設定給 ImageView,那麼它在記憶體中佔用空間有多大?
  • 效能最佳化都做過哪兒些內容?
  • 瘦身的話,我們都是怎麼做的呢?
  • armeabi 和 armeabi-v7a 有什麼區別?
  • so 庫可不可以動態載入,如何實現?
  • Android 版本從 5.0 到 12 都更新了什麼東西?
  • Android 5.0 ART 是個什麼東西,具有什麼優勢。
  • 今天的面試,自我感覺怎麼樣?

面試感受:

和麵試官聊著,聊著,突然很想去,如果我 Leader 是這樣的該多好。可惜啊,這裡奉勸大家一定要做好面試準備,不能浪費每一次面試機會。

超級喜歡這樣的 Leader!!!

2021-4-20 平行未來

面試內容:

  • 自我介紹,公司、團隊介紹、人員配比情況,簡單說下專案情況,學歷情況說明。
  • 直播用的哪兒家?有看過原始碼或者最佳化嗎?
  • 就你一個 Android 會不會感覺孤獨?
  • 離職原因是什麼?
  • 您擅長哪兒些?
  • 說下如何進行瘦身?
  • 微信資源壓縮,如果讓你實現,你能實現嗎?
  • 微信資源壓縮原理是什麼?
  • 啟動最佳化過哪兒些內容?
  • 記憶體做過哪兒些最佳化?
  • 非同步實現方式有哪兒些?
  • 簡單說下 Handler。
  • 在一個執行緒中,可以建立多個 Handler 嗎?
  • 一個執行緒中有兩個 Handler,那麼它有幾個訊息佇列?
  • 訊息佇列中如何判斷當前訊息是歸屬於哪兒個 Handler 得呢?
  • 我能在子執行緒中建立一個 Handler 嗎?
  • 子執行緒中為什麼可以彈 Toast?
  • Looper 更深層次原理你瞭解嗎?
  • 自定義 View 做過哪兒些?
  • 假設自定義 iOS 進度對話方塊,轉圈使用逐幀動畫,那麼在什麼時候銷燬呢?
  • 兩種實際業務考察以及最終佈局考察。

面試感受:

老哥人不錯,個人對基礎知識掌握不夠,還不深入,停留表面,就好像老大說的,僅僅掌握技術層面上的一層油,深入就完蛋。

2021-5-12 中廣創思(車載)

進去先做題,4 道題,看的出來算是公司專案常用的場景。個人建議還是取消做題環節吧,直接開面,我們們嘮起來,快速有效的進行面試,而且避免耽誤更多時間,有時候臨場反應更能代表個人真實水平(小白理解)。目前應聘 Android 崗位主要是負責將現有產品遷移車載平臺相關開發工作,剩下可能還有一些待立項的專案開發。

面試內容:

一面小哥哥:

  • 目前工作狀態?為什麼離職?
  • 專案為什麼做的這麼亂糟糟?公司核心業務是什麼?
  • 有沒有可以演示的作品(我嫌麻煩,沒帶,哈哈哈嗝)。
  • 在你開發過程中有沒有遇到什麼難點?可以詳細舉例說說麼?
  • 專案型別、團隊情況以及主要負責內容。
  • 你負責的專案,有什麼沒有比較好的技術亮點?
  • 你是如何進行 Apk 瘦身的?
  • 效能最佳化方面做過什麼操作?
  • 你是如何基於 lifecycle 進行日常元件封裝?
  • 你是如何進行日常專案架構設計實踐?
  • 模組化的情況下 Activity 之間資料傳遞以及資料持久化怎麼實現的?
  • 目前現有專案採用什麼架構?
  • 你覺得你更擅長做哪兒些方面嗎?比如業務落地、基礎庫維護、新技術引入等等。
  • 你在公司中有給公司做過相關操作麼?比如引入新技術等。
  • 可以談談你對 Flutter 的一個認知嗎?比如適用哪兒些場景、個人經驗?
  • 簡單談下你的學歷情況。什麼時候開始做的 Android 開發,自學的還是?
  • 啟動、記憶體最佳化做過什麼操作?
  • 什麼情況下會使用軟引用?
  • 記憶體洩漏一般會在什麼情況下會遇到?
  • 在平時開發中,有沒有注意過一些資料結構適用場景?
  • 平時開發過程中有沒有思考過方案更優思路?
  • 字串拼接 + 和 StringBuilder 有什麼區別?
  • 內部類如何訪問外部類呢?
  • 父類和子類同時擁有靜態程式碼塊和構造方法,它們執行順序是什麼?假設現在父類和子類又新增非靜態程式碼塊執行順序是什麼?
  • Activity 異常啟動的生命週期是什麼樣子的?
  • 如何保證 Service 不被殺死?
  • 如何在 Service 中長時間播放一個音樂呢?
  • 自定義 View 做過哪兒些內容?如何實現的?
  • ArrayList 裡面資料結構是什麼樣的?
  • 如果我使用 Arraylist 不斷地 add,它的底層擴容機制是什麼?
  • HashMap 底層資料結構是什麼?
  • HashMap 資料結構為什麼會是資料加連結串列,連結串列的作用是什麼?
  • HashMap 是儲存 key-value 形式,那麼 value 在 HashMap 中是以什麼形式進行儲存的?
  • 你之前有涉及過一些車載相關的專案麼?
  • 之前和藍芽是如何進行資料通訊的?
  • 機型以及螢幕適配是如何適配的?
  • 公司平時加班多嗎?你是怎麼看待加班的?
  • 公司有產品麼?
  • 公司加班會有加班費或者其他補貼嗎?(呵呵噠,有個錘子...)
  • 假如說領導在,讓你多寫一會兒,你會怎麼做?
  • 假如有這樣一個場景,領導給你評估的時間太短,這個時候你會怎麼做?
  • 你這幾家公司都在哪兒呢?

二面老大:

  • 在職還是離職,預計離職需要多久?
  • 曾經任職公司主要業務是什麼,你做的工作內容/範圍是什麼?
  • 你個人主要開發語言是什麼?哪兒個用的更多?
  • 有一些工作上的亮點嗎?你負責的功能或者亮點?
  • 你對音影片技術的瞭解有多少?實際當中使用過哪兒些?
  • 細節專案的介紹。
  • 你住哪兒?你是已婚嗎?
  • 對我們這邊有過了解嗎?
  • 來給你秀一下我們目前的 App。
  • 你有什麼想問我的嗎?(老哥說這話的時候,感覺是信心滿滿,來哇,開啟狂躁的問我吧,哈哈哈嗝)
  • 期望薪資這塊能給我一個範圍嗎?
  • 還有什麼其他方面想問我的嗎?

面試感受:

小哥哥思維很跳躍,幾乎從實際出發,整體來看蠻不錯的,公司真正面試的效率蠻高,除了做題等待期(哈哈哈嗝,小哥哥看到不要噴我)。技術老大聲音很有磁性,有一種莫名的振奮感,很不錯的 Leader。聊完將近 12 點,特意叫住兩個小姐姐幫忙送我出去,感謝啦~

2021-5-19 新文道教育

按照約定時間進公司,結果等半天,最後又主動找前臺,結果呢,給了好幾頁題,那種 n 年前的題,直接蒙圈了,頓時想走了,墨跡了會兒,hr 又過來催,簡單填寫完資料又讓全部填寫,明確說明簡歷都有,還說要求標明每傢俱體薪資待遇等等等一系列不爽,都打算直接走人了,結果就在旁邊,沒法跑。無奈跟著又上樓,又等,接近一個多小時全部都在等待,明確說明了下面還有面試,不行就下午或者改天再約,hr 非要聊,聊到所謂的技術總監出來,開始所謂的不知所云的面試...

面試內容:

  • 個人簡介,學歷說明,工作內容,團隊規模描述。
  • 簡單描述下你重構的方面以及重構新開的專案還是在老專案重構。
  • 重構採用了哪兒些架構技術等。
  • 瘦身主要用到了哪兒些技術?
  • 效能最佳化你主要做了哪兒些方面?
  • LeakCanary 底層如何實現,如何捕獲?
  • 造成記憶體洩漏情況有哪兒些以及如何解決?
  • Java 中的引用型別(強弱軟虛)作用以及常用場景。
  • 除了 LeakCanary,你還用過哪兒些,Android Studio 自帶工具有使用過嗎?
  • 針對重構,有考慮使用元件化和外掛化的方式嗎?
  • 元件化在不同模組是如何通訊的?
  • 阿里的路由框架有了解過嗎?
  • 簡單聊下 MVC、MVP 以及 MVVM 的優劣勢。
  • DataBinding 和 ViewBinding 區別,在專案中使用了哪兒些?
  • 專案中用到的網路框架是什麼?對它們的底層原始碼有了解嗎?
  • 介紹下 OkHttp 有幾大工具類嗎?
  • OkHttp 有幾大攔截器?
  • Retrofit 如何工作的原理。
  • Retrofit 採用的設計模式是什麼?
  • Retrofit 常用的幾個方法。
  • 對原始碼的掌握程度怎麼樣?
  • 簡單介紹如何實現一個懶載入。
  • Fragment 如何實現懶載入。
  • Fragment 常用的載入方式有哪兒些?
  • Fragment 常使用的方法或者類有哪兒些?
  • RecyclerView 多型別、分組如何實現?
  • Activity 生命週期以及 A 跳到 B 之間的生命週期是怎樣的?
  • 自定義 View 常用到哪兒些方法以及如何實現的。
  • 自定義 View 中對 requestLayout 理解有多少。
  • requestlayout 以及 invalidate 區別。
  • 簡單介紹下 Handler 訊息機制。
  • loop 在什麼時候建立的?你知道它是在什麼類中建立的嗎?
  • Handler 可以在很多地方都可以建立嗎?
  • 假如我現在建立 Handler A、B、C,訊息佇列怎麼知道是誰的?
  • loop 死迴圈為什麼不會造成卡死?
  • ANR 的引起的原因以及解決方案。
  • 假如我現在使用 Handler 延遲五秒後進行業務處理,那麼 Handler 內部是如何實現 5 秒後執行我的具體業務操作的呢?
  • Flutter 如何和原生互動?
  • Flutter 如何開啟一個服務?
  • 純 Flutter 可以呼叫原生嗎?
  • Flutter 通道如何編寫?通道的實現方式。
  • 為什麼選擇 Flutter 的原因。
  • Flutter 和 RN 的區別?談談個人理解。
  • 原生如何呼叫 Flutter?
  • 如何讓你設計一個專案架構,你會從哪兒幾個方面入手考慮,為什麼?
  • 架構中有哪兒些內容是可以抽取一個公共的東西,讓所有的模組都使用?
  • 你的 BaseActivity 中會放什麼東西?
  • 你是如何管理 Activity 棧?
  • Activity 啟動模式。
  • 頁面中如何預防使用者連續點選?如何在專案所有點選事件中使用呢?
  • AOP 知道實現原理嗎?適用於哪兒些場景。
  • 動態代理的使用場景有哪兒些?
  • AOP 主要解決哪兒些場景問題?
  • 如何實現一個自定義進度條?
  • 如何實現自定義 View 的漸變色效果?

面試感受:

害...直接拉出來幹一架多好,哈哈哈嗝

老大之問:

敲黑板,劃重點,的確大部分是我知識盲區了,汗顏,讓我一度不知道怎麼和老大開口...

  • 自定義 View onDraw 詳細怎麼操作,比如我現在要畫一個無毛邊的正方形。
  • 多邊形和 View 裡的動畫怎麼做?相交、疊加?
  • 一個 View 怎麼實現內容觸控滑動?
  • 兩個 View 怎麼同時消費一組觸控事件,A 動的時候 B 跟著動?
  • View 最終渲染到螢幕是什麼機制?比如處理為什麼物理螢幕會按你的程式碼需求如期畫你的圓。
  • 渲染的重新整理率是誰控制的,控制間隔是多少?
  • 為什麼當你切換應用的時候,UI 的視窗會跟隨應用的 app 切換。
  • 安卓可以跨程式渲染檢視嗎?
  • 為什麼不能在主執行緒裡做耗時操作?
  • 為啥耗時操作會導致 UI 卡頓?

面試的一些感受

最後在嘮叨幾句吧。

本文的初衷並不是提供對應的面試答案,更多的是將自己親身經歷的面試過程記錄,方便各位跳槽的小夥伴進行自我模擬,也歡迎一起交流學習。

其實,面試這麼久,對人的心理以及生理都是一種折騰,58 無緣以及經歷汽車之家無奈的面試,導致後續一段時間內的心態崩潰,可能有的老哥會嫌棄這兩家,可是對於我小公司出身,這就是蠻大的公司了。還是希望各位準備充分,心態放平,展示自己最好的一面就好了。

千萬別像我一樣,匆匆忙忙面試,對之前比較不錯的面試官道個歉吧...

另外,感謝我老大期間對我的幫助,感謝老大,老大萬歲~!!!

最後呢,說說張張吧,暴躁小夥兒,嫌我面試吊兒郎當,不好好準備,噴了我無數次,週末以約酒的名義去覆盤我簡歷,順便交流面試經驗,感謝~

有時候真的覺得自己蠻幸運的。雖然現實的確也很殘酷,但是呢,也希望能把自己的一點小幸運傳遞下去~

面試前系統複習路線準備好!

很多人在剛接觸這個行業的時候或者是在遇到瓶頸期的時候,總會遇到一些問題,比如學了一段時間感覺沒有方向感,不知道該從那裡入手去學習,對此我針對Android程式設計師,我這邊給大家整理了一套 學習寶典

  • Android學習路線圖

首先,對於沒有學習方向,知識不體系的人,我把我工作幾年整理的學習路線分享給大家,做一個借鑑作用,還不知道怎麼學習的人可以直接照著我這個學習路線一個個的去學習,知識不體系的人可以參考下我整理路線的方式,總之希望能夠幫到你們!

  • 模組化學習資源

接下來是每個模組我整理出來的文件學習資料,幫助大家更細緻化的學習。

除了上面的學習路線,還可以額外的配合以下方式學習,效果翻倍~

①看影片進行系統學習

前幾年的Crud經歷,讓我明白自己真的算是菜雞中的戰鬥機,也正因為Crud,導致自己技術比較零散,也不夠深入不夠系統,所以重新進行學習是很有必要的。我差的是系統知識,差的結構框架和思路,所以透過影片來學習,效果更好,也更全面。關於影片學習,個人可以推薦去B站進行學習,B站上有很多學習影片,唯一的缺點就是免費的容易過時。

另外,我自己也珍藏了好幾套影片,有需要的我也可以分享給你。

②讀原始碼,看實戰筆記,學習大神思路

“程式語言是程式設計師的表達的方式,而架構是程式設計師對世界的認知”。所以,程式設計師要想快速認知並學習架構,讀原始碼是必不可少的。閱讀原始碼,是解決問題 + 理解事物,更重要的:看到原始碼背後的想法;程式設計師說:讀萬行原始碼,行萬種實踐。

主要內含微信 MMKV 原始碼、AsyncTask 原始碼、Volley 原始碼、Retrofit原始碼、OkHttp 原始碼等等。

③面試前夕,刷題衝刺

面試的前一週時間內,就可以開始刷題衝刺了。請記住,刷題的時候,技術的優先,演算法的看些基本的,比如排序等即可,而智力題,除非是校招,否則一般不怎麼會問。

關於面試刷題,我個人也準備了一套系統的面試題,幫助你舉一反三:

④2020大廠面試高頻知識點

  • 圖片
  • 網路和安全機制
  • 資料庫
  • 外掛化、模組化、元件化、熱修復、增量更新、Gradle
  • 架構設計和設計模式
  • 效能最佳化
  • Android Framework
  • Android優秀三方庫原始碼

以上這些內容均免費分享給大家,需要完整版的朋友, 。或者點選 【 】 檢視獲取方式。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69983917/viewspace-2778048/,如需轉載,請註明出處,否則將追究法律責任。

相關文章