前言
這是 緊接著 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ǔ)
- 我的CSDN博客地址:http://blog.csdn.net/s003603u
- 我的GitHub地址:https://github.com/soulrelay
- 我的簡(jiǎn)書(shū)地址:http://www.lxweimin.com/u/514ca03bbc17
- 我的個(gè)人網(wǎng)站:SuS' World