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

前言

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

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

PS:

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

今日頭條

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

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

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

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

小米

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

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

知乎/獵豹

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

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

網(wǎng)易

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

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