面試造火箭要初級面高級,Android開發兩年,要不是基礎頂住了,就無緣大廠offer了

概述

感覺畢業後時間過得真快啊,從 19 年 7 月本科畢業入職後,到現在快兩年了,最近金三銀四期間想着找一個新的工作,前前後後花了一個多月的時間複習以及面試,最近基本上差不多了,把部分大廠的面試經驗分享給大家,祝想找工作的同學都能去自己心儀的公司!

A公司一面(1.5h)

  • 自我介紹
  • Android 生命週期中 onStart 裏面幹了啥?
  • 介紹一下 Activity 的四種啓動模式
  • android:styleandroid:theme 的區別
  • http 和 https 的區別,http 組成,http 請求的整個過程
  • 動畫種類及其工作原理
  • 線程啓動方式,線程池原理清楚不?
  • 講講 IntentService
  • 知道哪些 Jetpack 組件?挑一兩個講講原理
  • 有哪些 ipc 方式
  • Sp 怎麼支持跨進程?
  • Binder 原理流程介紹一下
  • window, view, activity 關係
  • 軟硬件繪製區別,性能比較,具體繪製任務(如複雜動畫)怎麼選擇?
  • 性能優化方式講一講
  • 查找算法有哪些?手寫二分查找
  • 瞭解哪些跨平臺方案?

A公司二面(1h)

  • 自我介紹
  • 主要是摳實際項目,然後從中引出一些問題

B公司一面(1h)

  • 自我介紹
  • 問項目的一些細節,優化方案等
  • SurfaceView, TextureView及View的區別。SurfaceView怎麼控制它處於的層級
  • Binder工作流程
  • 介紹一下MVC,MVP,MVVM,你們項目用的是哪個?
  • 對組件化的理解,你們是怎麼實現組件化的?功能模塊之間互相引用會有什麼問題?
  • 內存優化工具,LeakCanary和MAT的原理
  • JVM內存模型
  • Java同步機制有哪些,volatile和syncronized區別
  • HashMap和HashTable區別,ConcurrentHashMap分段加鎖的原理
  • 二叉樹的前中後遍歷
  • 算法:判斷一棵樹是否是平衡二叉樹
  • 算法題:給定一個鏈表L1、L2,每個元素是爲10以內的正整數,鏈表表示一個數字,表頭爲高位。 求兩個鏈表之差,以鏈表形式返回
  • Java和Kotlin的一些區別,Kotlin的缺點?
  • SurfaceView和TextureView的區別?
  • 瞭解過哪些插件化的實現?
  • 說說ARouter的原理
  • 兩個業務組件模塊之間,怎麼實現相互調用接口?
  • 讓你設計一個下載功能,實現多個大文件同時下載,考慮哪些(斷點續傳)?
  • 有沒有音視頻開發經驗?
  • 怎麼處理內存泄漏?強引用弱引用?LeakCanary原理說一下。

B公司二面(1h)

  • 問更熟悉Java還是Kotlin,答Java,所以問的都是Java相關的一些題
  • HashMap擴容機制
  • Java volatile原理和作用
  • 樂觀鎖,悲觀鎖區別
  • 線程池工作原理,各個參數的作用
  • Android 三緩存是什麼?爲什麼需要它
  • 講講做的業務開發中比較有挑戰的項目
  • 還有一些比較常規的Android方面的問題,具體想不起來了
  • 算法題:查找單鏈表中倒數第k個節點。做完後面試官問是不是刷過這道題,那我再出一道吧...
  • 題:給定一臺8核的手機,設計一個快速檢索出sdcard下所有文件名爲a的程序,返回一個列表

B公司三面(1.5h)

  • 主要深挖項目細節,有些不太清楚的最好別提,不然被挖到了很尷尬
  • 平時怎麼學習技術
  • 在之前的公司,你對自己的成長滿意嗎
  • 在面哪些公司,情況怎麼樣

C公司一面(1.5h)

  • 不記得了。。
  • 算法題:給定一個排好序的數組,找出最左邊的某個指定數字的下標。

C公司二面(40min)

  • 介紹項目,問一些細節。
  • 你認爲Java和Kotlin的不同點,在編程範式角度再介紹一下區別?Java的lamda和Kotlin函數對象區別?
  • Kotlin協程爲什麼能以同步代碼寫出異步邏輯?
  • 在協程上定義了一個局部變量,爲什麼在其中的其他線程裏的協程也能訪問到?
  • JetPack Compose有了解過沒?
  • 性能優化;ConstraintLayout爲什麼效果好?爲什麼多了層級,性能可能會差很多?

C公司三面(1h)

  • 依舊是項目細節,三面比較長的時間都是項目
  • 爲什麼要離職,家是哪裏的之類的問題

D公司一面(45min)

  • 主要聊項目細節
  • 線程池運行流程,你們平時怎麼使用線程池?一個線程池夠嗎?
  • 覺得工作經驗不長,說當應屆生面的,要求低。。。

D公司二面(1h)

  • 自我介紹
  • 不知道爲啥,跳過了第二輪技術面,直接來了 leader 面。聊人生,聊性格,聊成才和氛圍比薪資重要等等
  • 沒有技術問題

一些總結

畢業時選擇的是一家非一線大廠的公司,在這邊工作的近兩年時間裏,業餘學習了許多 Android 相關的專業知識(因爲不忙),但是由於業務原因,且公司發展一直在走下坡路,我在項目上的經驗比較欠缺,因此考慮進一家大廠繼續磨練磨練自己。

這次面試也暴露出了我的一些問題,最主要的話還是業務項目經驗上不太足,所幸面試到的公司基本上都通過了,可能是因爲我在 Android 基礎上還可以吧。面試也是一種能夠快速地發現自己缺點與不足的方法,可以更好地提高自己。

關於算法題:個人感覺有些八股了,也比較討厭刷題,只寫了劍指offer和leetcode上hot前百中所有easy難度的題,以及幾道中等題,總共估計不超過100道吧。。。面試的時候感覺算法題這塊都不是很難,大概也許可能是運氣好唄。

另外就是可以自己搞一些比較有亮點的地方,我的話是對 Android 圖形系統這塊比較熟悉,所以上面面試中有一些都涉及到了這個,像Surface這些,如果面試官也比較懂這塊知識的話,可以聊的很開心。

最後的話就是 Android, Java, Kotlin 中一些常問的知識點了,這種就跟考試一樣,有些東西可能有些八股味兒,不過還是得準備準備,其實也不用花太多時間,最主要的積累過程,都在於日常的工作和學習中。

面試前的一些準備

接下來分享的系統學習資源以詳解各大互聯網公司的 Android 常見面試題爲主線,從面試的角度帶你介紹必備知識點,以及該知識點在項目中的實際應用

幫你在現在的基礎上,重新梳理和建立 Android 開發的知識體系。無論是你短期內想提升 Android 內功實力,突破自己工作中的能力瓶頸,還是準備參加 Android 面試,都會在這份資料中有所一些收穫。

從架構基礎開始,分了8個模塊來逐步從基礎進階到架構師的環節:

多餘的話就不講了,接下來將分享面試的一個複習路線,如果你也在準備面試但是不知道怎麼高效複習,可以參考一下我的複習路線,有任何問題也歡迎一起互相交流,加油吧!

首先是超級詳細得不能再詳細的Android開發學習思維導圖,因爲圖片實在是太大了,所以我就只把二級目錄的內容放出來,更加詳細的你們可以點擊這裏

接下來就需要梳理知識,提升儲備了!(Android移動架構師七大專題學習資源)

  • 架構師築基必備技能:深入Java泛型+註解深入淺出+併發編程+數據傳輸與序列化+Java虛擬機原理+反射與類加載+動態代理+高效IO

  • Android高級UI與FrameWork源碼:高級UI晉升+Framework內核解析+Android組件內核+數據持久化

  • 360°全方面性能調優:設計思想與代碼質量優化+程序性能優化+開發效率優化

  • 解讀開源框架設計思想:熱修復設計+插件化框架解讀+組件化框架設計+圖片加載框架+網絡訪問框架設計+RXJava響應式編程框架設計+IOC架構設計+Android架構組件Jetpack

  • NDK模塊開發:NDK基礎知識體系+底層圖片處理+音視頻開發

  • 微信小程序:小程序介紹+UI開發+API操作+微信對接

  • Hybrid 開發與Flutter:Html5項目實戰+Flutter進階

知識梳理完之後,就需要進行查漏補缺,所以針對這些知識點,我手頭上也準備了不少的電子書和筆記,這些筆記將各個知識點進行了完美的總結。

然後再是通過源碼來系統性地學習

只要是程序員,不管是Java還是Android,如果不去閱讀源碼,只看API文檔,那就只是停留於皮毛,這對我們知識體系的建立和完備以及實戰技術的提升都是不利的。

真正最能鍛鍊能力的便是直接去閱讀源碼,不僅限於閱讀各大系統源碼,還包括各種優秀的開源庫。

刷大廠面試題備戰,增加大廠通過率

歷時半年,整理了這份市面上最全面的安卓面試題解析大全。

1.可以通過目錄索引直接翻看需要的知識點,查漏補缺。
2.五角星數表示面試問到的頻率,代表重要推薦指數

以上這些內容均免費分享給大家,需要完整版的朋友,點這裏可以看到全部內容。或者點擊 【這裏】 查看獲取方式。

最後還有耗時一年多整理的一系列Android學習資源:Android源碼解析、Android第三方庫源碼筆記、Android進階架構師七大專題學習、歷年BAT面試題解析包、Android大佬學習筆記等等,這些內容均免費分享給大家。

好了,暫時只能想到這些,後面如有想到其它東西再補充哈,祝想找工作的同學都能去自己心儀的公司,前程似錦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章