溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日

發(fā)布時間:2020-08-07 11:22:45 來源:ITPUB博客 閱讀:170 作者:yilian 欄目:移動開發(fā)

由于眾所周知的原因,原生android開發(fā)如今已經(jīng)日漸凋敝,

作為一個Android程序員,不僅要會Java,Kotlin,JavaScript,Css,Html,還要會Flutter,C++,FFmpeg,Linux等相關(guān)知識。

我有個朋友面試了n家公司,終于面上了騰訊
前前后后面試了快二十家公司,既有外包,也有中小型企業(yè),也有準(zhǔn)備D輪甚至上市的C輪企業(yè),更有BAT等知名企業(yè)。
接下來就一一說一下他去面試各家公司的面試題。
也建議各位面試的時候不要上來就直奔BAT等,大廠面試官的技術(shù)廣度與深度也不是剛出來面試的你,能搞定的。
最好先去一些小公司看看他們問的哪些東西,自己回去在查漏補缺一下,最后去大廠。
最后祝各位能進(jìn)入自己心儀的公司。

按照面試的時間順序來一一羅列他記住的面試題

凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日
image

武漢佰鈞成(外包OPPO,自家面試官)

兩輪面試

  • Activity的啟動流程
  • Activity的啟動模式,應(yīng)用場景
  • 如何減少對第三方框架的耦合
  • hashmap的基本原理
凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日
image

博彥科技(外包OPPO,OPPO面試官)

兩輪面試

  • Handler機制
  • Binder機制
  • 寫一個單例模式,DCL為什么要加V關(guān)鍵字
  • 直接在Activity Sleep 5000ms,再post一個runable會不會ANR。
  • 如何監(jiān)聽ANR
  • View的繪制流程,每個都是干什么的
  • 事件傳遞機制
凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日
image

Insta360 (C輪公司)

三輪面試

  • 組件化如何實現(xiàn)組件通信
  • HashMap基本原理 如何減少hash沖突 如何增大hash沖突
  • 安裝包怎么優(yōu)化的
  • 如果有A,B,C,D,E五個步驟,每個步驟都需要操作對應(yīng)請求,用哪種設(shè)計模式。
凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日
image

華為外包

兩輪技術(shù)面試

  • 安裝包優(yōu)化做了哪些工作
  • 對加班怎么看的

本來一面完了就讓等著二面的,等了十分鐘后跟說二面面試官暫時不在,等下次再約時間,

出門等了10分鐘的公交,離家還有20分鐘的時候,又給他打電話讓他回去參加第二面,

然后就沒去了,太折騰人。

凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日
image

綠網(wǎng)科技

三輪技術(shù)面

  • hashmap原理
  • MVP,MVVM,MVC的區(qū)別是什么
  • Java Memory Model的內(nèi)存模型
  • 如果讓你設(shè)計一個app,打算怎么設(shè)計
  • JVM垃圾回收有哪幾種算法,有哪幾種垃圾回收處理器
  • Serial使用的哪一種回收算法
  • JVM的內(nèi)存模型
  • Android主線程是怎么啟動的
  • dex是如何轉(zhuǎn)為機器碼的
  • llvm編譯是如何優(yōu)化代碼的
  • 說一個你自己的缺點。
凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日
image

同洲電子

四輪技術(shù)面

  • Activity的啟動流程
  • 靜態(tài)類的靜態(tài)方法能不能被子類重寫(不能,走的invoke-static指令,只有走invoke-virtual指令的才可能實現(xiàn)多態(tài))
  • Linux的啟動流程
  • 對Native層有沒有興趣
  • 對做智能家居有沒有興趣
  • 招一個應(yīng)屆生進(jìn)來做app也是做,招你也是做,為什么要招你
凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日
image

順豐科技

一輪技術(shù)面 總共三輪面試

  • handler機制
  • looper的喚醒是在Java還是Native層,怎么做到的
  • HashMap,ConcurrentHashMap,HashTable有什么異同
  • Binder通信機制
  • 跨平臺開發(fā)熟不熟悉
  • 如何提高海外用戶的訪問速度,假設(shè)服務(wù)器在深圳。
  • 如何學(xué)習(xí)一個新東西,有哪些執(zhí)行步驟
凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日
image

百度

  • 紅包隨機算法 是怎么做到的
  • 寫一個二叉樹的深度優(yōu)先遍歷,遞歸 非遞歸
  • Android中LocalServerSocket是干什么用的
  • binder的Native層代碼看過嗎
  • Linux有哪些RPC機制
  • 為什么android使用了Binder機制沒采用共享內(nèi)存
  • 如果讓你設(shè)計一套進(jìn)程間通信的機制,你會怎么設(shè)計
  • Linux的模塊動態(tài)加載機制是怎么實現(xiàn)的
  • 一個物理屏劃分為三個邏輯屏,是靠誰來分發(fā)事件的。
  • ConcurrentHashMap是不是絕對的線程安全。(final,絕對線程安全,相對線程安全,線程不安全)
  • 線程池是如何管理線程狀態(tài)的
凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日
image

大宇無限(C輪公司 前身是豌豆莢)

他第二心儀的一家公司,辦公環(huán)境,氛圍,福利都特別好 總共七輪面試 五輪技術(shù)面

  • Kotlin的訪問權(quán)限
  • Koltin為什么比Java更安全
  • Koltin比Java好在哪
  • JVM的內(nèi)存模型
  • JMM的內(nèi)存模型
  • 為什么操作數(shù)棧是Thread-Private
  • 計算二叉樹的深度
  • ArrayList跟LinkeList區(qū)別
  • ArrayList如何擴(kuò)容的,如何提高ArrayList的效率
  • 動態(tài)代理靜態(tài)代理區(qū)別
  • 啟動優(yōu)化怎么做的。
  • 如果給你個IOS APP,你打算怎么優(yōu)化。
  • http有哪幾種版本,版本間有什么區(qū)別。https跟http有什么區(qū)別。
  • apk為什么要簽名,v1跟v2簽名的區(qū)別
  • apk從編譯打包都安裝的流程
  • dex到odex為什么不能在編譯期優(yōu)化
  • 熱修復(fù)原理
  • 你的優(yōu)勢是什么
凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日
image

平安

三輪面試

  • http2.0 1.1 1.0的區(qū)別
  • http如何保證安全性
  • 安裝包優(yōu)化有哪幾種方式
  • 啟動優(yōu)化有哪幾種方式
  • View的繪制流程,每個方法干什么的,如果要獲取View的寬高,在哪個方法里獲取
  • 如何應(yīng)對弱網(wǎng)環(huán)境
  • android數(shù)據(jù)存儲方式
  • 如果一個app無法訪問網(wǎng)絡(luò),你怎么做數(shù)據(jù)存儲。
  • DVM跟JVM的區(qū)別
  • React Native跟原生開發(fā)的優(yōu)劣
凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日
image

騰訊

三輪面試 一面

  • 算法題 通電小球
  • Android 沉浸式狀態(tài)欄 怎么實現(xiàn)的
  • 事件處理函數(shù)有哪幾個,父View 子View 監(jiān)聽同一個事件,重寫哪些方法。在哪個View重寫?
  • ViewRootImpl接受事件嗎?
  • apk編譯打包流程 V1,V2 簽名區(qū)別
  • 利用logging監(jiān)聽方法耗時,會不會讓app增大延遲。
  • eventbus為什么要用CopyOnWriteList?
  • 插件化怎么加載資源的?
  • JVM怎么保證gc效率跟線程運行效率的 ?
  • 如果android沒用對應(yīng)的view,flutter能運行嗎? 手寫單例模式,volatile 跟 synchronized區(qū)別?
  • 接口暴露,但是不讓別人調(diào)用,有哪些辦法?

二面

  • 為什么采用flatbuffer? 比Json好在哪里?
  • 如何處理Crash,NativeCrash呢?Google是怎么做到的?如果上報過程中再次產(chǎn)生Crash能不能捕捉到?
  • uncaughtException是被誰調(diào)用的,如果再次崩潰能不能捕獲到?
  • Linux是怎么知道app崩潰的,如果想要在被kill前 做一些耗時操作,該怎么做?
  • 考慮設(shè)計一個crash捕捉模塊。
  • 100萬個數(shù)字求100個最大值。
  • 手寫快速排序算法。

三面 (GM面)

  • kotlin比Java好在哪里,是函數(shù)式編程嗎?
  • 如何防止DNS劫持?
  • 如果讓你實現(xiàn)一個調(diào)試器,你會怎么設(shè)計?靜態(tài)調(diào)試?動態(tài)調(diào)試呢?

總結(jié)

大廠基本上不太看重具體的技術(shù),無論你是Java還是C++,比較看重思路與抽象的解決方案

如果看到這里的同學(xué),想在技術(shù)上有精進(jìn)的話,推薦幾本書跟專欄

強烈推薦《深入理解JVM(周志明)》《Android開發(fā)藝術(shù)探索》《Android內(nèi)核剖析》

推薦 《Linux鳥哥私房菜》《unix環(huán)境高級編程》
凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日
image
凜冬已至,一個android碼農(nóng)面進(jìn)了騰訊,終于到達(dá)2020的春日
image

這幾本有PDF版,需要可以私信我【書籍】查看

https://shimo.im/docs/x9X6TTW6KqqhHGy6

強烈推薦 極客時間專欄: 《張紹文-Android開發(fā)高手課》

這篇專欄非常非常吊 不過要求要有C++跟Linux基礎(chǔ) 而且張紹文自己也在后面講了,如果把他的文章里講的內(nèi)容全部摸透,熟悉過了之后,再刷點算法題,基本上沒有進(jìn)不去的大廠

還有更多的面試題和算法題,可以私信我【安卓】或者查看這篇文章: https://zhuanlan.zhihu.com/p/98027083

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI