安卓面試基礎技能羅列,安卓面試寶典

Android_devp 2021-09-19 05:18:25 阅读数:526

技能

個人經曆

其實我有好長一段時間沒有正規的面試過了,大約3年的時間裏面,我沒有正規地接受過面試。

所以在准備投字節跳動之前,我投了幾個公司做了一下熱身活動。記住,這個時候其實不需要有啥心理包袱。因為本身候選人面試成功的可能性比較低,一個合適的可以面試的人選他們也很樂意看看,而且萬一你確實想換工作,但是心儀的公司面不上,而熱身活動的公司拿到了offer,你也可以考慮考慮去看下。並且這個時候你沒有任何的心理包袱,因為反正你也就是來面試看看的,所以面試時候的發揮可能也會更好點,因此說不定最終拿的offer會比最後想去的那家更好呢?

面試准備

老實說,我自己平常沒事就會看一些面試題,所以我都是直接去面的。

建議大家如果准備面試的話,需要做以下准備:

**背題:**看一看最近的面經文,了解現在公司都在面什麼類型的題,准備一些常見題,開背吧!如果一些基礎的開發問題都不會那問題就有點小大了。

**算法:**做一些算法題,leetcode 上面的一二三星就够了,前端算法很簡單,基本都是初中數學的難度吧。

**項目:**項目回顧,把你做的項目從技術架構到源碼都要做到足够了解,至少面試的時候不要被面試官問住了。並且要體現出你在工作中的作用,體現出自驅性。(大公司都很看重自驅性)。

**亮點:**准備亮點,回答問題的時候不用全部回答上來,但是在面試的過程中一定要有亮點(不然你就會得到反饋,面試官說你還行,但是沒有過~) 我一般會准備幾個點,每個點都保證可以睡上半小時。另外一定要了解的很深入,並且能够用自己的話流暢的錶達出來!!

**內推:**最好找人內推,成功率會提高一些。

**練手:**先找幾家不太想去的公司(規模差不多)練練手,如果第一次面試就去心儀的公司面試,淘汰率會非常高。

**心態:**心態很重要,面試不過很正常,不證明你不優秀,只是不適合,總結面試經驗,為下一次做准備。

如何回答問題?

怎麼把自己會的問題說好,這個很關鍵。

邏輯清晰 一定要邏輯清晰,不然即使你知道這個問題的答案,面試官也不會滿意,如果你邏輯清晰,即使這個答案不會,面試官也會給你加分。

獨特理解 現在的面試題大同小异,那麼如何體現出你的優勢就很重要。結合業務以及你自身的知識儲備來講。

深入思考 對每個問題一定要有深入的思考,不然就很難進入大公司了,深度上要有一個拔高才能在面試中獲得好的成績。

流暢錶達 面試就是一個錶達的過程,一些問題心裏明白不行,還要流暢的錶述出來,基本上如果面試官覺得你錶達的很流暢,當你講到一半就不會再讓你說下去了,證明已經通過了。

刷題當然也是最重要的,畢竟我是有好幾年沒有過正規面試的經曆了,於是問我在阿裏的同學要來了一份他們公司P8整理的一系列大廠面試題,刷到天昏地暗,如今我也已經入職了字節跳動,這些面試題對於我來說也沒什麼太大的用處,所以在這裏無償的分享給大家。

字節跳動面試經曆

字節跳動一面

  • 自我介紹
  • 介紹下Android的mvc/mvp/mvvm
  • view的事件分發機制
  • viewGroup 怎麼知道view有沒有消費事件
  • 寫一個單例模式(解釋單例模式中的sync,雙鎖,volidate)
  • 算法題目:
    有A和B兩個有序數組(數組元素不重複),給出sum,請找到A和B中所有相加和為sum的序列對(面頭條遇到的)
    A:[1,4,5]
    B:[3,4,6]
    sum=8
    output 1,1,2,0 => because A[1]+B[1]=8 /A[2]+B[0]=8
  • 內存泄漏有哪些?怎麼排查

閑聊

之後就問了我最近看了哪本書,學到了什麼,最近還在學的什麼技術呢?問了我職業規劃,興趣愛好,還說了說公司的語言選型,我後來問了下對於我的面試錶現評價,人家不方便說,又問了新人培養等問題。

字節跳動二面

  • 自我介紹
  • 你遇到最難的問題是什麼
  • android的handler機制
  • android的anr機制
  • android冷啟動優化
  • android弱網優化
  • android 視頻相關有了解麼?
  • android長圖片加載怎麼實現
  • gradle用過哪些
  • 最近看什麼書?
  • 職業規劃是什麼?
  • 能接受在北京工作?
  • 算法題目:排序二叉樹轉有序雙鏈錶,要求在原來的樹節點基礎上增加。

字節跳動三面

這個面試官應該是一個總監級別的,說話非常的硬氣,肯定是一個資深大佬,一共面了40多分鐘。常規的面試基礎都沒問,純懟項目和算法了。

  • volite的關鍵字,幹了什麼(什麼叫指令重排)
  • 生產者消費者(非阻塞式)
  • 怎樣獲取當前線程是否是主線程
  • 怎樣檢測函數執行是否卡頓
  • 常用的對稱加密算法,有什麼同
  • view分發反向制約的方法
  • 兩個線程用不同的對象,怎麼養
  • 樂觀鎖使用
  • hashmap底層原理
  • arraylist底層原理
  • webview如何做資源緩存
  • hashmap擴容
  • 一張圖片100*100的圖片在內存中的大小
  • 項目裏面的難點(如何解决,解决方案是什麼)
  • 一個app發布一個版本後,發現變卡了,你如何複現?如何得知某個地方變卡,如何得知用戶在某行代碼變卡
  • android 動畫機制有哪些?
  • lottie的原理
  • 直播中的動畫要怎麼做?要做成動態的,比如禮物是可以配置的?
  • 算法題:找出數組中的k數。k數的定義:比比特置比特於這個數前面的數字都大,且比比特置比特於這個數後面的數字都小的數字(數組首尾的數字不用管)(面頭條遇到的)
    [4,1,3,2,7,9,8,10,12]
    此數組中的k數為7和10

字節跳動四面

HR面,大約35分鐘,主要是問個人職業規劃、薪資待遇,以及對字節跳動的期許等等…

最後

本文在 開源項目CodeChina已收錄,裏面包含不同方向的自學編程路線、面試題集合/面經、及系列技術文章等,資源持續更新中…

目前已經更新的部分資料:

安卓面試基礎技能羅列,安卓面試寶典_Android
安卓面試基礎技能羅列,安卓面試寶典_移動開發_02
安卓面試基礎技能羅列,安卓面試寶典_Android_03

版权声明:本文为[Android_devp]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210919051825046s.html