2017Android面試回憶錄「下」(今日頭條/小米/網(wǎng)易/知乎...)

前言

這是 緊接著 2017Android面試回憶錄「上」(騰訊/阿里/滴滴/美團...)的后續(xù)分享,希望對大家有幫助!

面試合集 之 滴滴、美團、騰訊、阿里、頭條、小米、網(wǎng)易... 提供答案(逐步更新中)

PS:

  • 時間周期:【2017/6 -- 2017/7】
  • 來源: 【本部分由「洛廷」和「劍膽詩魂」提供】
  • 沒有嚴格按照面試輪次來區(qū)分

今日頭條

  • ? 快速排序
  • ? JSON字符串解析算法及優(yōu)化
  • ? ABC三個線程,C線程要等A和B線程的結(jié)果,AB并行,問,跟什么數(shù)據(jù)結(jié)構(gòu)類似....,不是問生產(chǎn)者消費者或者信號量什么的,>
  • ? 線程同步的問題,常用的線程同步
  • ? 問項目,根據(jù)項目引申:主要有Asynctask和線程池,多進程以及IPC,GC相關(guān)(四種引用,怎么判斷哪些內(nèi)存該GC,GC算法),why,when,how 這些都是要從項目里面舉出來例子
  • ? 圖片加載三級緩存,有一個功能,做一個能放大縮小的圖片查看器,加載一張巨大的圖片,怎么做
  • ? 圖片加載框架優(yōu)劣比較,以及之前項目選用加載框架時候的考慮
  • ? 網(wǎng)絡請求相關(guān),主要是網(wǎng)絡請求優(yōu)化。網(wǎng)絡請求的時候遇到的問題

總結(jié):一般一面主要考基礎(chǔ)知識,以及基于基礎(chǔ)知識解決問題的能力

  • ? ListView性能優(yōu)化,以及ListView的各種原理
  • ? RecyclerView優(yōu)點,原理
  • ? 怎么做上傳下載的斷點續(xù)傳
  • ? EventBus原理
  • ? 四種線程池區(qū)別,以及常見應用場景,線程池的深入了解
  • ? CoordinatorLayout、CollapsingToolbarLayout原理以及使用
  • ? 數(shù)據(jù)庫性能優(yōu)化
  • ? ManiFest原理,APP啟動流程,APK打包流程

總結(jié):二面主要是看著做的APP問的,APP里涉及到的技術(shù),不管是不是自己負責的模塊,只要面試官感興趣都會問。各種問題最終都要問到底層實現(xiàn)或者原理。

小米

  • ? 求一個字符串的最長回文
  • ? 給定一個數(shù),以及有序數(shù)組,求出來數(shù)組里面兩個數(shù)的和等于給定數(shù)的下標
  • ? 二叉樹中序遍歷,深度優(yōu)先廣度優(yōu)先,不用遞歸算法的方法
  • ? 求二叉樹第k層節(jié)點個數(shù);
  • ? 實現(xiàn)一個棧push,pop,getMaxElementValue,時間復雜度要求0(1)
  • ? 有序數(shù)組0(n)時間復雜度求一組和為sum的數(shù)組下標
  • ? AsyncTask內(nèi)部實現(xiàn),關(guān)注默認線程池是一個串行的線程池;
  • ? 事件的傳遞方式,View,ViewGroup
  • ? 講解Activity和Window,View的關(guān)系,以及DecorView結(jié)構(gòu)
  • ? 自定義View里面OnMeasure參數(shù)的意義
  • ? 講解一下HandlerThread

總結(jié):小米每一面都會至少有一個算法題

知乎/獵豹

  • ? Activity的四種啟動模式以及相關(guān)概念,Activity棧,常見情境下的生命周期分析,異常關(guān)閉頁面之后的恢復
  • ? Service基礎(chǔ)概念,生命周期,通信。四大組件是基礎(chǔ),常見問題都要掌握
  • ? IPC
  • ? 同步的問題,常見的那些,鎖機制,sychronized關(guān)鍵字,concurrent包下的數(shù)據(jù)結(jié)構(gòu),atom包下的數(shù)據(jù)結(jié)構(gòu)
  • ? HashMap原理
  • ? Handler,包括Looper,MessageQueue,ThreadLocal這些類要詳細的看
  • ? ArrayList,LinkedList源碼要看
  • ? View的事件傳遞機制,要徹底弄透徹,可問的問題很多
  • ? Asynctask和線程池
  • ? JVM GC算法,問得比較淺
  • ? JVM 類加載過程,問得比較淺
  • ? DexClassLoader和PathClassLoader的區(qū)別

總結(jié):兩家面試差不多,都是基礎(chǔ)問題,各種常見套路

網(wǎng)易

  • ? 求笛卡爾積
  • ? 單詞反轉(zhuǎn)
  • ? 兩個有序數(shù)組,時間復雜度最好的情況下,合并成一個數(shù)組
  • ClassLoader,類加載相關(guān)問題,例如繼承、static修飾的這些在類加載時候的實際應用
  • 內(nèi)部類,靜態(tài)內(nèi)部類,匿名內(nèi)部類在加載時候的相關(guān)過程
  • 直接引用和符號引用相關(guān)
  • android dalvik虛擬機里的類加載
  • scrollview和listview的區(qū)別
  • 熱修復/插件化(因為簡歷上寫了這兩個,所以導致面試官非常有興趣,一個勁地問,后來才發(fā)現(xiàn)面試官就是搞這一塊的,教訓是,一定要非常了解才能寫啊,千萬不要亂寫T T)

總結(jié):Android基礎(chǔ)知識問的較少,主要問的Java基礎(chǔ)和JVM基礎(chǔ)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,113評論 25 709
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,734評論 18 399
  • 轉(zhuǎn)自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帥199207閱讀 8,806評論 3 93
  • 本教程代碼位于我的github,參考的英文教程講解的比我好很多,推薦大家看一下。 這篇課程我們來實現(xiàn)z-buffe...
    看到了是吧閱讀 3,256評論 0 1
  • 忙碌了一天,最舒服的狀態(tài)就是癱軟在沙發(fā)上,打開電視,放空自己。有的時候覺得電視節(jié)目很無趣,一些讓人不感興趣的新聞,...
    茹小茹啊閱讀 156評論 0 0

友情鏈接更多精彩內(nèi)容