2018總結(jié)知名互聯(lián)網(wǎng)公司Android面試題

廢話不多說拧廊,直接上干貨


百度

一面:

1:算法匹配IP地址
2:用過哪些集合坟冲,區(qū)別是什么
3:類鎖和對象鎖的區(qū)別
4:volitile的作用翔怎,synchronized保證原子性
5: 序列化資源的大小
6:內(nèi)存優(yōu)化做過哪些裁眯,怎么優(yōu)化的
7:事件分發(fā)(父控件攔截讓子控件處理)
8:繪制流程
9:RelativeLayout和LinearLayout性能比較
10:一個activity啟動另一個activity的生命周期,特殊情況呢婴程?
11:比較難忘的開發(fā)經(jīng)歷
12:listview和RecyclerView的比較
13:RecyclerView的局部刷新,多種類型是怎么緩沖的
14:兩種序列化方式區(qū)別
15:hashmap和hashtable的比較
16:多態(tài)的內(nèi)存模型怎么調(diào)用的抱婉,相關(guān)棧信息
17:A,B兩個頁面不斷切換档叔,要求,很早的頁面銷毀

二面:

1:開源框架看過那些相關(guān)的源碼
2:設(shè)計一個類似迅雷的功能蒸绩,需要設(shè)計那些模塊兒衙四,
3:handler的機制,享原設(shè)計模式
4:手寫算法兩個有序列表合成一個
5:線程池有哪幾種患亿,區(qū)別是什么传蹈,核心線程和非核心線程的區(qū)別
6:遞歸遍歷的優(yōu)化
7:單例觀察者模式的廣播
8:進程間通信aidl押逼,為什么用binder
9:車機APP,電視APP的了解
10:微信圖片是怎么存儲的惦界,多個聊天組做適配
11:多線程下載挑格,怎么存數(shù)據(jù),怎么分段下載
12:廣播的底層原理
13:AMS的原理怎么管理四大組件的
14:一個APP中有大量的線程會出現(xiàn)什么情況
15:自己做Launcher獲取所有的apk信息
16:Android 當(dāng)App內(nèi)存不足或在后臺運行時回收部分activity的流程分析沾歪。

三面:

1:幾份職業(yè)離職的原因
2:職業(yè)規(guī)劃
3:職業(yè)穩(wěn)定性
4:職業(yè)晉升和別人競爭怎么辦
5:做過哪些底層的東西漂彤,開源過哪些東西
6:EXO,ijplayer原理了解么
7:有什么要問的問題
8:問有沒有offer
9:關(guān)于重復(fù)業(yè)務(wù)開發(fā)的思考
10:以往是怎么學(xué)習(xí)的


高德

電話面試:

1:activity的生命周期是如何執(zhí)行的灾搏,注意不是生命周期的執(zhí)行順序
2:主線程中既然是loop死循環(huán)為什么不會阻塞UI
3:handler的內(nèi)存泄漏為什么挫望,什么會持有handler對象,內(nèi)存泄漏的本質(zhì)是什么
4:多線程的問題
5:OKHTTP的優(yōu)點線程池原理狂窑,怎么提高OKHTTP中一個請求的優(yōu)先執(zhí)行
6:handlerThread是什么
7:intentService的原理士骤,
8:ActivityThread是什么,是一個線程么
9:service是在主線程么蕾域?會影響activity么
10:activity的啟動過程
11:匿名內(nèi)部類為什么外部類變量為final

1面:

1:listview中item中的button的點擊和move的事件分發(fā)
2:startService和bindService的區(qū)別
3:如何實現(xiàn)一個圓角的圖片
4:如實實現(xiàn)一個扇形
5:a,b,c,d,e,f……等任務(wù)拷肌,c,在ab后執(zhí)行,d,在f后執(zhí)行旨巷,最多開啟6個線程巨缘,怎么設(shè)計


小米

1面:

a:手寫快排
b:git在某次提交上修改代碼,git rebase 的使用
c:常用布局組件的注意事項
d:一些Linux的腳本
e:fragment的生命周期
f:多線程,線程等待另一個任務(wù)的完成才能執(zhí)行采呐,線程的打斷

2面:

1:設(shè)計模式若锁,觀察者模式
2:fragment和activity的數(shù)據(jù)傳值,fragment與fragment
3:全局crash的攔截
4:webview加載js代碼
5:mk,framework是否做過
6:進程間通信斧吐,線程間通信
7:okhttp的源碼
8: okhttp鏈接池的大小
9:內(nèi)存溢出和內(nèi)存泄漏又固,內(nèi)存抖動
10:啟動模式以及任務(wù)棧
11:事件分發(fā)
12:listview,兩個item一致的問題
13:fragment中的replace和add的區(qū)別
14:bundle可以傳遞的數(shù)據(jù)類型:基本數(shù)據(jù)類型+實現(xiàn)可序列化的數(shù)據(jù)類型(String 實現(xiàn)了Serializable)
15:為什么aidl的寫法是拷貝(按文件編寫的方式查找)
16:Java四種引用---強煤率、軟仰冠、弱、虛的知識點總結(jié)
17:熱修復(fù)蝶糯,熱更新的區(qū)別原理


知乎

1:兩種序列化的區(qū)別洋只,為什么Android提供的不能序列化到本地
2:可以將實現(xiàn)了Parcelable接口的類序列化后保存在本地嗎?
3:泛型昼捍,泛型擦除原理
4:類型擦除引起的問題及解決方法
5:Java ArrayList识虚、LinkedList、Vector的區(qū)別
6:手寫列表反轉(zhuǎn)
7:hashmap的原理如何擴容和hashset的區(qū)別
8:hashmap的時間復(fù)雜度
9:hashmap和hashset的區(qū)別以及arrayList妒茬、linkedList担锤、hashSet
10:什么是HashSet
11:Java ArrayList的自動擴容機制
12:進程間通信(Android重要的binder)
13:application和activity上下文的區(qū)別
14:gc,gcroot是什么
15:https和http的區(qū)別
16:RSA乍钻,MD5肛循,DES蛛株,Base64算法原理大全,應(yīng)用場景
17:列表環(huán)的判斷
18:堆棧溢出育拨,oom的場景谨履,內(nèi)存中堆和棧的區(qū)別,
19:學(xué)習(xí)的途徑
17:一個類設(shè)置hashcode的值的原理
19:進程和線程的區(qū)別
20:一個app中線程crash會出現(xiàn)什么情況熬丧,子進程crash會導(dǎo)致什么
21:同步鎖相關(guān)
22:接口和抽象類的區(qū)別
23:屏幕切換生命周期的變化笋粟,EditTextView中的數(shù)據(jù)恢復(fù)是怎么做到的?
24:接口可以被繼承么析蝴?
25:git刪除某個節(jié)點
26:5&6和5|6分別是多少害捕?
27:bitmap和drawable的區(qū)別
28:隊列和棧的區(qū)別
29:什么是DNS
30:每次都需要三次握手嗎?


玩吧

1面:

1:handler機制
2:ok的連接池闷畸,怎么復(fù)用
3:hashmap原理
4:message享元模式源碼
5:linkedhashmap原理
6:三次握手四次揮手原理
7:繪畫數(shù)據(jù)上傳的壓縮辦法
8:弱引用和需引用的區(qū)別
9:多線程的問題
10:im相關(guān)知識
11:類鎖對象鎖
12:sleep和wait的區(qū)別
13:view的繪制過程
14:launcher啟動一個app的過程
15:如何確定viewgroup的大小
16:泛型擦除尝盼,原理,佑菩,盾沫,自動類型轉(zhuǎn)換

2面:

1:以往的學(xué)習(xí)方法
2:新技術(shù)要考慮哪些方面
3:如何評價你的同事

3面

1:薪資
2:方向


陌陌

筆試:

1:內(nèi)部類知識
2:啟動模式
3:適配方案
4:斷點續(xù)傳實現(xiàn)代碼
5:網(wǎng)絡(luò)框架異常捕獲
6:內(nèi)存不夠殺死,數(shù)據(jù)保存
7:設(shè)計遍歷文件夾

1面:

1:sp結(jié)構(gòu)殿漠,優(yōu)缺點赴精,同步異步,異步數(shù)據(jù)怎么存儲的
2:數(shù)據(jù)庫插入10000條數(shù)據(jù)的優(yōu)化
3:快排偽代碼
4:看過哪些源碼绞幌,(okhttp,還說了一個eventbus)
5:tcp相關(guān)知識
6:Android 內(nèi)部的SparseArray和ArrayMap代替HashMap

2面:

1:hashMap原理
2:觀察者模式設(shè)計
3:binder機制
4:內(nèi)存泄露
5:anr的檢測(track)
6:listView滑動過程中出現(xiàn)卡頓的定位
7:object有哪些方法
8:AsyncTask的注意事項
9:handleThread內(nèi)部是否有Looper等
10:用過哪些鎖蕾哟,鎖有哪些
11:volatile的特性
12:http請求頭有哪些字段
14:三次握手過程,為什么要三次握手
15:項目中的難點莲蜘,你最擅長的是什么
17:代理設(shè)計模式

3面:

1:網(wǎng)路的阻塞谭确,解決方案
2:陌陌開源

4面:

1:HR聊價值觀
2:壓薪資


愛奇藝

一面

1:用過哪些設(shè)計模式,手寫觀察者
2:關(guān)于穩(wěn)定性
3:handler原理票渠,handlerThead的區(qū)別
4:兩種service的區(qū)別逐哈,生命周期的方法
5:exo和media player的比較
6:進程間

二面

1:手寫一個線程等待另一個線程執(zhí)行完才去執(zhí)行任務(wù)哪個是被觀察者哪個是觀察者?
2:工作經(jīng)歷的亮點
3:對象回收一個對象兩種引用庄新,強引用一定不會被回收么
4:用過哪些設(shè)計模式
5:進程間通信有哪些
6:Android中內(nèi)存模型鞠眉,加載的so是放在哪里
7:handler的機制
8:開源框架blockcanary的原理
9:分析native異常
10:設(shè)計一個app要考慮哪些,實際例子择诈,泛型可擴展
11:內(nèi)存不足保存數(shù)據(jù)的原理
12:掉幀,為什么16毫秒出皇,卡頓的原因
13:Android系統(tǒng)每隔16ms會發(fā)出VSYNC信號重繪我們的界面
14:雙緩沖機制

三面

1:大公司能帶給我們的是什么(很牛的開發(fā)人員羞芍,氛圍,規(guī)范)
2:單利模式郊艘,最優(yōu)的單利荷科,枚舉單利
3:以往經(jīng)歷中認(rèn)為重要的東西
4:內(nèi)存泄露的解決唯咬,實際開發(fā)怎么解決的
5:自己的優(yōu)勢在哪兒
6:離開幾家公司的原因
7:手寫一個單利
8:幾家公司的位置
9:用什么監(jiān)測內(nèi)存卡頓和泄露


美菜網(wǎng)

筆試

1:圖片放錯文件夾引起顯示大小不同的原因與屏幕適配原理
2:androidVM虛擬機中運行文件的后綴名
3:asset目錄下的網(wǎng)頁,加載方式file:///android_asset/html/hello.html
4:webView處理超鏈接
5:

public static void test(){
    String a = "123";
    changStr(a);
    LogUtils.i(a);//123
}
private static void changStr(String string){
    string = "456";
    LogUtils.i(string);//123
}

6:

public class Example {
    String string = new String("good");
        char[] ch = {'a', 'b', 'c'};
        public static void test() {
        Example example = new Example();
        example.change(example.string, example.ch);
        LogUtils.i(example.string + " and " + example.ch);
    }
    private void change(String string, char[] ch) {
       string = "test ok";
       ch[0] = 'g';
       }
}

7:快樂樹的算法

class Solution {
    public boolean isHappy(int n) {
        if(n == 1) return true;
        if(n == 4) return false;
    
        int newNum = 0;
        for(char c : Integer.toString(n).toCharArray()){
            int numChar = Character.getNumericValue(c);
            newNum += numChar * numChar;
        }
        return isHappy(newNum);
         }
}

1面

1:布局的優(yōu)化
2:dp和sp的區(qū)別(sp會根據(jù)系統(tǒng)字體的變化而變化)
3:ok
4:retrofit
5:多線程
6:工作后自己的收獲
7:內(nèi)存泄露畏浆,溢出胆胰,抖動解決方案
8:屏幕適配
9:線程池有哪幾種,核心線程和非核心線程的區(qū)別
核心線程 最大線程 非核心線程閑置60秒回收 任務(wù)隊列
10:eventbus的原理刻获,有什么問題
11:glide原理蜀涨,三級緩沖,bitmap的壓縮等
12:算法
13:http和https的區(qū)別蝎毡,socket用過么厚柳?
14:messager和AIDL的區(qū)別
15:薪資范圍
16:mvc和mvp,MVVM的區(qū)別, 如何解決MVP中類臃腫的問題
17:電視app適配
18:事件分發(fā)沐兵,幾個重要的函數(shù)别垮,作用
19:對象鎖和類鎖的區(qū)別:
20:一個頁面啟動另一個頁面的生命:onPause(A)-->onCreate(B)-onStart(B)-->onResume(B)-->onStop(A)
21:動態(tài)啟動模式的幾種標(biāo)記

2面

1:reteofit
2:廣播有哪些
3:Java的集合類,有什么區(qū)別
a:ArrayList的原理:數(shù)組實現(xiàn)
b:LinkedList的原理:雙向列表
c:HashMap的原理:
d:紅黑樹
4:AIDL
5:服務(wù)有哪些種類(前臺)
6:final修飾方法扎谎,類
7:list遍歷刪除的bug:遍歷刪除list(java.util.ConcurrentModificationException
8:fragment的生命周期碳想,加上activity后呢?

3面

HR毁靶,薪資福利


完美世界

1面

1:Android特有的集合
2:synchronized修飾方法和靜態(tài)方法的區(qū)別移袍,synchronized(.Class)是對象么
3:長按事件的實現(xiàn)(handler.postdelay())
4::Android中移動多少是滑動,小于多少是點擊//frameworks/base/core/res/res/values/config.xml::8dp
5::線程間的通信方式
6:看過哪些書(effictive java):高效的單例
7:實現(xiàn)異步任務(wù)有哪些方式
8:handler中message中的緩沖
9:說說開發(fā)中遇到最復(fù)雜經(jīng)歷
10:原子操作的類

2面

1:重寫可以改變的是什么(override是設(shè)么含義)
2:打包的流程
3:AIDL和messager的區(qū)別
4:git的開發(fā)流程
5:v4和v7的區(qū)別老充,有沒有聽說過v13
6:fragment的生命周期
8:什么是設(shè)計模式葡盗?為什么要使用設(shè)計模式?有什么好處啡浊?
9:Linux如何創(chuàng)建文件觅够,文件夾,常用的一些命令
10:ANR的解決方案巷嚣,為什么無響應(yīng)是5喘先,10,20秒呢
11:Java基礎(chǔ)不扎實廷粒,什么都做過窘拯,業(yè)務(wù)能力強

3面:HR

實習(xí)經(jīng)歷
校招經(jīng)歷
第一份工作經(jīng)歷
第二份工作經(jīng)歷


最后總結(jié)

今天是2018.12.25,圣誕節(jié)坝茎,即將進入2019年涤姊,入職現(xiàn)在公司之前,就想把自己的面試經(jīng)歷分享給更多的Android童鞋嗤放,一直比較忙思喊,這里說一聲抱歉啊,不管怎么樣次酌,算是實現(xiàn)了自己給大家的承若恨课,熬夜寫完了本文舆乔。
樓主2018年大大小小的面試差不讀30多家吧,本文是摘錄了一些比較重要的面試經(jīng)歷剂公,而且大部分是拿到了意向offer希俩,從技術(shù)上講,一直認(rèn)為自己很菜纲辽,但是有一顆努力的心颜武,我覺的從事Android開發(fā)的童鞋,若是能回答我上面記錄的百分之80文兑,我想知名的互聯(lián)網(wǎng)企業(yè)的offer是很好拿的盒刚,希望本文能幫到各位,祝好~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绿贞,一起剝皮案震驚了整個濱河市因块,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌籍铁,老刑警劉巖涡上,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拒名,居然都是意外死亡吩愧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門增显,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雁佳,“玉大人,你說我怎么就攤上這事同云√侨ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵炸站,是天一觀的道長星澳。 經(jīng)常有香客問我,道長旱易,這世上最難降的妖魔是什么禁偎? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮阀坏,結(jié)果婚禮上如暖,老公的妹妹穿的比我還像新娘。我一直安慰自己全释,他們只是感情好装处,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著浸船,像睡著了一般妄迁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上李命,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天登淘,我揣著相機與錄音,去河邊找鬼封字。 笑死黔州,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的阔籽。 我是一名探鬼主播流妻,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼笆制!你這毒婦竟也來了绅这?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤在辆,失蹤者是張志新(化名)和其女友劉穎证薇,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體匆篓,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡浑度,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鸦概。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片箩张。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖窗市,靈堂內(nèi)的尸體忽然破棺而出先慷,到底是詐尸還是另有隱情,我是刑警寧澤谨设,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布熟掂,位于F島的核電站,受9級特大地震影響扎拣,放射性物質(zhì)發(fā)生泄漏赴肚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一二蓝、第九天 我趴在偏房一處隱蔽的房頂上張望誉券。 院中可真熱鬧,春花似錦刊愚、人聲如沸踊跟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽商玫。三九已至箕憾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拳昌,已是汗流浹背袭异。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留炬藤,地道東北人御铃。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像沈矿,于是被迫代替她去往敵國和親上真。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

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