公司一
- 說(shuō)下你所知道的設(shè)計(jì)模式與使用場(chǎng)景
- java語(yǔ)言的特點(diǎn)與是OOP思想
- 說(shuō)下java中的線程創(chuàng)建方式,線程池的工作原理。
- 說(shuō)下handle原理,為什么會(huì)出現(xiàn)內(nèi)存泄漏嗤军,為什么繼承Handle就不會(huì)出現(xiàn)能存泄漏
- 說(shuō)下Activity的啟動(dòng)方式残黑,生命周期馍佑,兩個(gè)Activity跳轉(zhuǎn)的生命周期,如果一個(gè)Activity跳轉(zhuǎn)另一個(gè)Activity再按下Home鍵在回到Activity的生命周期是什么樣的
- 說(shuō)下Activity的橫豎屏的切換的生命周期梨水,用那個(gè)方法來(lái)保存數(shù)據(jù)拭荤,兩者的區(qū)別。觸發(fā)在什么時(shí)候在那個(gè)方法里可以獲取數(shù)據(jù)等疫诽。
- 是否了SurfaceView舅世,它是什么?他的繼承方式是什么奇徒?他與View的區(qū)別(從源碼角度雏亚,如加載,繪制等)摩钙。
- 如何實(shí)現(xiàn)進(jìn)程卑盏停活
- 說(shuō)下冷啟動(dòng)與熱啟動(dòng)是什么,區(qū)別胖笛,如何優(yōu)化网持,使用場(chǎng)景等。
- Android中的線程有那些(我提到HandlerThread长踊,AsyncTask又問(wèn)了他們的原理與各自特點(diǎn))
- 給定命題功舀,一串字符串中有通配符與占位符,如何化簡(jiǎn)優(yōu)化(方法忘記可以簡(jiǎn)寫)
- 說(shuō)下產(chǎn)生OOM身弊,ANR的原因辟汰,三級(jí)緩存原理列敲,如何優(yōu)化ListView。
- 說(shuō)下你對(duì)Collection這個(gè)類的理解莉擒。
- 說(shuō)下AIDL的使用與原理
- 說(shuō)下你對(duì)廣播的理解
- 說(shuō)下你對(duì)服務(wù)的理解酿炸,如何殺死一個(gè)服務(wù)。服務(wù)的生命周期(start與bind)涨冀。
- 是否接觸過(guò)藍(lán)牙等開發(fā)
- 設(shè)計(jì)一個(gè)ListView左右分頁(yè)排版的功能自定義View填硕,說(shuō)出主要的方法。
-說(shuō)下binder序列化與反序列化的過(guò)程鹿鳖,與使用過(guò)程 - 是否接觸過(guò)JNI/NDK扁眯,java如何調(diào)用C語(yǔ)言的方法
-如何查看模擬器中的SP與SQList文件。如何可視化查看布局嵌套層數(shù)與加載時(shí)間翅帜。 - 你說(shuō)用的代碼管理工具什么姻檀,為什么會(huì)產(chǎn)生代碼沖突,該如何解決
- 說(shuō)下你對(duì)后臺(tái)的編程有那些認(rèn)識(shí)涝滴,聊些前端那些方面的知識(shí)绣版。
- 說(shuō)下你對(duì)線程池的理解,如何創(chuàng)建一個(gè)線程池與使用歼疮。
- 說(shuō)下你用過(guò)那些注解框架杂抽,他們的原理是什么。自己實(shí)現(xiàn)過(guò)韩脏,或是理解他的工作過(guò)程嗎缩麸?
- 說(shuō)下java虛擬機(jī)的理解,回收機(jī)制赡矢,JVM是如何回收對(duì)象的杭朱,有哪些方法等
- 一些java與Android源碼相關(guān)知識(shí)等
大學(xué)成績(jī)
大學(xué)那些專業(yè),你哪方面學(xué)得好
單片機(jī)吹散,嵌入式弧械,電子線路。
畢業(yè)設(shè)計(jì)什么空民,幾個(gè)人實(shí)現(xiàn)的刃唐,主要功能是什么
還有些其他硬件相關(guān)知識(shí)
自己的職業(yè)規(guī)劃與發(fā)展方向
公司二
- 數(shù)據(jù)結(jié)構(gòu)與算法相關(guān)
- 實(shí)際開發(fā)中的內(nèi)存優(yōu)化,APK體積優(yōu)化袭景,代碼優(yōu)化唁桩,資源優(yōu)化闭树,緩存耸棒,數(shù)據(jù)庫(kù)等
- 各大平臺(tái)打包上線的流程與審核時(shí)間,常見(jiàn)問(wèn)題(主流的應(yīng)用市場(chǎng)說(shuō)出3-4)
- 支付寶與微信的支付功能接入报辱,常見(jiàn)問(wèn)題
- 如何和后臺(tái)交互与殃,post請(qǐng)求的數(shù)據(jù)格式定義在那里定義单山,手寫出來(lái)。
- http與https的理解與4層都是哪4層幅疼,在一個(gè)請(qǐng)求過(guò)程中都是什么時(shí)候走這些流程與各自的作用
- http的結(jié)構(gòu)有那些(請(qǐng)求頭米奸,請(qǐng)求行之類的)
- session與cookie的區(qū)別
- 如何在后臺(tái)沒(méi)有給接口的情況下如何開發(fā)應(yīng)用
- 你是如何封裝網(wǎng)絡(luò)請(qǐng)求,數(shù)據(jù)緩存爽篷,優(yōu)化悴晰,文件下載,線程池逐工,OKHttp3源碼的理解铡溪,如何提交
- post請(qǐng)求,如何處理返回?cái)?shù)據(jù)泪喊,異常處理棕硫,實(shí)體定義等實(shí)際開發(fā)中與后臺(tái)協(xié)作相關(guān)知識(shí)。
- 說(shuō)下Android中特有的數(shù)據(jù)結(jié)構(gòu)與常見(jiàn)的java數(shù)據(jù)結(jié)構(gòu)(熟悉那個(gè)說(shuō)那個(gè))袒啼,存儲(chǔ)過(guò)程哈扮,源碼與底層實(shí)
現(xiàn)。
公司三
- dp是什么蚓再,sp呢滑肉,有什么區(qū)別
- 自定義View,ViewGroup注意那些回調(diào)对途?
- 界面卡頓的原因以及解決方法
- android中的存儲(chǔ)類型
- service用過(guò)么赦邻,基本調(diào)用方法
- Handler機(jī)制
- LinearLayout、FrameLayout实檀、RelativeLayout性能對(duì)比惶洲,為什么
- Activity的生命周期,finish調(diào)用后其他生命周期還會(huì)走么膳犹?
- FW層熟悉么恬吕,源碼看過(guò)么
- GC回收機(jī)制熟悉么,分代算法知道么
- Java的類類加載原理
- 內(nèi)存泄漏如何排查须床,MAT分析方法以及原理铐料,各種泄漏的原因是什么比如
- Handler為什么會(huì)泄漏
- gradle熟悉么,自動(dòng)打包知道么
- 介紹下先的app架構(gòu)和通信
- 自己負(fù)責(zé)過(guò)哪些模塊豺旬,跟同事相比自己的優(yōu)勢(shì)是什么
- 遇到過(guò)什么印象深刻的問(wèn)題钠惩,怎么解決的
公司四
- 最近都做了哪些工作?
- 遇到了什么印象深刻的問(wèn)題族阅。A:會(huì)順著你介紹的項(xiàng)目問(wèn)下具體實(shí)現(xiàn)篓跛。
- 推送消息有富文本么?
- 熱修復(fù)了解么坦刀,用的什么愧沟?
- apk包大小有限制么蔬咬?怎么減少包大小沐寺?
- 工作中有沒(méi)有用過(guò)或者寫過(guò)什么工具林艘?腳本,插件等等
比如:多人協(xié)同開發(fā)可能對(duì)一些相同資源都各自放了一份混坞,有沒(méi)有方法自 動(dòng)檢測(cè)這種重復(fù)之類的 - 寫過(guò)native的底層代碼么
- view的繪制熟悉么狐援,介紹下
- gc相關(guān)的算法
- anr是因?yàn)槭裁串a(chǎn)生的,怎么排查
- 界面上的話究孕,有什么優(yōu)化措施么咕村?比如列表展示之類的,平時(shí)遇到過(guò)內(nèi)存問(wèn)題嗎蚊俺,怎么優(yōu)化的懈涛?
- 平時(shí)用過(guò)哪些設(shè)計(jì)模式?
- 介紹下最近一年主要做了什么工作
- 會(huì)對(duì)簡(jiǎn)歷上突出的技能進(jìn)行詳情的詢問(wèn):
比如:音頻合成的具體步驟泳猬,以及遇到的一些問(wèn)題和細(xì)節(jié)處理批钠。
會(huì)根據(jù)面試發(fā)散一些問(wèn)題,問(wèn)到得封,seek方法播放到末尾后重新播放會(huì)有一些卡頓的不流暢問(wèn)題埋心,怎么避免,從交互設(shè)計(jì)或者技術(shù)角度忙上。(個(gè)人表示沒(méi)怎么關(guān)注這種)拷呆。 - 項(xiàng)目團(tuán)隊(duì)多少人,怎么分配工作
- 線程之間怎么通信的疫粥?
- app的架構(gòu)是怎么樣的茬斧,并且為什么這樣,有什么優(yōu)缺點(diǎn)梗逮?
- 算法熟悉么项秉?給了一個(gè)二叉排序樹,出了一個(gè)給定節(jié)點(diǎn)找到它的下一個(gè)元素(指的是大小順序的下一個(gè))的算法題慷彤。
- 為什么找工作娄蔼,自己的優(yōu)勢(shì)是什么
- 介紹下自己主要負(fù)責(zé)的工作
- Activity的生命周期有哪些,知道onRestart么底哗,介紹 savedInstanceState知道么岁诉,干什么用的,什么時(shí)候有值跋选,什么時(shí)候?yàn)榭仗檠ⅲ綍r(shí)是怎么用的
View繪制熟悉么,介紹下野建,能說(shuō)下是實(shí)現(xiàn)原理么属划? - 平時(shí)用過(guò)什么開發(fā)工具,分析工具候生?
- ANR是怎么回事同眯?怎么查?Service會(huì)引起ANR么唯鸭?
- Activity的啟動(dòng)模式有哪些须蜗?棧里是A-B-C,先想直接到A目溉,BC都清理掉明肮,有幾種方法可以做到?這幾種方法產(chǎn)生的結(jié)果是有幾個(gè)A的實(shí)例缭付?
- 有什么工具可以看到Activity棧信息么柿估?多個(gè)棧話,有方法分別得到各個(gè)棧的Activity列表么
- 都熟悉哪些命令陷猫?知道怎么用命令啟動(dòng)一個(gè)Activity么?
- SharedPrefrences的apply和commit有什么區(qū)別
- java里帶$的函數(shù)見(jiàn)過(guò)么秫舌,是什么意思
- MD5是加密方法么,Base64呢
- 有博客和github绣檬,主要是寫的什么足陨?有哪些關(guān)注
- android 8.0 有哪些新特性
公司五
glide緩存策略?同一個(gè)圖片跟size有關(guān)么
android中的動(dòng)畫有哪些
View事件傳遞機(jī)制
界面卡頓怎么排查和優(yōu)化娇未?
Fragment的replace和end墨缘??的區(qū)別零抬?
MVP镊讼,MVVM,MVC解釋和實(shí)踐
項(xiàng)目之外的平夜,對(duì)技術(shù)的見(jiàn)解狠毯,拓展知識(shí)
微信跳一跳外掛怎么實(shí)現(xiàn),檢測(cè)怎么做的褥芒?
一張純色背景下怎么有效檢測(cè)各個(gè)矩形嚼松?
對(duì)接的so算法了解么,有接觸過(guò)相關(guān)的庫(kù)么锰扶?
三個(gè)算法題選一個(gè)并寫出測(cè)試用例:打印n-m之間所有的素?cái)?shù)献酗;計(jì)算n-m之間1出現(xiàn)的次數(shù);指定數(shù)
字序列的排序坷牛;
android api層的源碼熟悉哪些罕偎?解釋一下
ACTION_CANCEL什么時(shí)候觸發(fā),觸摸button然后滑動(dòng)到外部抬起會(huì)觸發(fā)點(diǎn)擊事件嗎京闰,在+ + 滑動(dòng)
回去抬起會(huì)么
怎么處理嵌套View的滑動(dòng)沖突問(wèn)題
熱修復(fù)相關(guān)的原理颜及,框架熟悉么
gradle打包流程熟悉么
任意提問(wèn)環(huán)節(jié):其實(shí)可以問(wèn)之前面試中遇到的問(wèn)題:比如甩苛,多模塊開發(fā)的時(shí)候不同的負(fù)責(zé)人可能會(huì)
引入重復(fù)資源,相同的字符串俏站,相同的icon等但是文件名并不一樣讯蒲,怎樣去重?
Canvas的底層機(jī)制肄扎,繪制框架墨林,硬件加速是什么原理,canvas lock的緩沖區(qū)是怎么回事
surfaceview犯祠, suface旭等,surfacetexure等相關(guān)的,以及底層原理
android文件存儲(chǔ)衡载,各版本存儲(chǔ)位置的權(quán)限控制的演進(jìn)搔耕,外部存儲(chǔ),內(nèi)部存儲(chǔ)
上層業(yè)務(wù)activity和fragment的遇到什么坑痰娱?度迂?頁(yè)面展示上的一些坑和優(yōu)化經(jīng)驗(yàn)
網(wǎng)絡(luò)請(qǐng)求的開源框架:OKHttp介紹,寫過(guò)攔截器么
公司六
數(shù)據(jù)層有統(tǒng)一的管理么猜揪,數(shù)據(jù)緩存是怎么做的惭墓,http請(qǐng)求等有提供統(tǒng)一管理么?
有用什么模式么而姐,邏輯什么的都在Activity層腊凶?怎么分離的
如果用了一些解耦的策略,怎么管理生命周期的拴念?
有什么提高編譯速度的方法钧萍?
對(duì)應(yīng)用里的線程有做統(tǒng)一管理么?
jni的算法提供都是主線程的政鼠?是不是想問(wèn)服務(wù)類的啊
邊沿檢測(cè)用的啥风瘦?深度學(xué)習(xí)相關(guān)的有了解么?
上線后的app性能分析檢測(cè)有做么
進(jìn)程間通信方式公般?Binder的構(gòu)成有幾部分万搔?
HttpClient和HttpConnection的區(qū)別
View的事件傳遞機(jī)制
MVC,MVP官帘,MVVM分別是什么瞬雹?
Android中常用的設(shè)計(jì)模式,說(shuō)三個(gè)比較高級(jí)的刽虹?
內(nèi)存優(yōu)化酗捌,OOM的原因和排查方法
想改變listview的高度,怎么做
Https是怎么回事?
除了日常開發(fā)胖缤,其他有做過(guò)什么工作尚镰?比如持續(xù)化集成,自動(dòng)化測(cè)試等等
公司七:
ActivityA跳轉(zhuǎn)ActivityB然后B按back返回A哪廓,各自的生命周期順序狗唉,A與B均不透明。
Synchronize關(guān)鍵字后面跟類或者對(duì)象有什么不同撩独。
單例的DCL方式下,那個(gè)單例的私有變量要不要加volatile關(guān)鍵字账月,這個(gè)關(guān)鍵字有什么用
JVM的引用樹综膀,什么變量能作為GCRoot?GC垃圾回收的幾種方法
ThreadLocal是什么局齿?Looper中的消息死循環(huán)為什么沒(méi)有ANR剧劝?
Android中main方法入口在哪里
jdk1.5?SparseArray和ArrayMap各自的數(shù)據(jù)結(jié)構(gòu)抓歼,前者的查找是怎么
實(shí)現(xiàn)的讥此,與HashMap的區(qū)別
Runnable與Callable、Future谣妻、FutureTask的區(qū)別萄喳,AsyncTask用到哪個(gè)?AsyncTask是順序執(zhí)行
么蹋半,for循環(huán)中執(zhí)行200次new AsyncTask并execute他巨,會(huì)有異常嗎
IntentService生命周期是怎樣的,使用場(chǎng)合等
RecyclerView和ListView有什么區(qū)別减江?局部刷新染突?前者使用時(shí)多重type場(chǎng)景下怎么避免滑動(dòng)卡頓。
懶加載怎么實(shí)現(xiàn)辈灼,怎么優(yōu)化滑動(dòng)體驗(yàn)份企。
SQLite的數(shù)據(jù)庫(kù)升級(jí)用過(guò)么
開放問(wèn)題:如果提高啟動(dòng)速度,設(shè)計(jì)一個(gè)延遲加載框架或者sdk的方法和注意的問(wèn)題巡莹。
Scroller有什么方法司志,怎么使用的。
分享下項(xiàng)目中遇到的問(wèn)題
webwiew了解降宅?怎么實(shí)現(xiàn)和javascript的通信俐芯?相互雙方的通信。@JavascriptInterface在钉鸯?版本有
bug吧史,除了這個(gè)還有其他調(diào)用android方法的方案嗎?
ReactiveNative了解多少
JNI和NDK熟悉么?Java和C方法之前的相互調(diào)用怎么做贸营?
公司八:
fragment的生命周期
事件分發(fā)機(jī)制吨述,以及涉及到的設(shè)計(jì)模式
onMeasure的測(cè)量模式與特點(diǎn)
線程間通信和進(jìn)程間通信
ArrayList刪除元素
寫出你認(rèn)為最優(yōu)的懶漢式單例模式
activity意外退出時(shí)信息的儲(chǔ)存與恢復(fù),onCreate正常進(jìn)入時(shí)的判斷钞脂。
談?wù)勑阅軆?yōu)化
JS的交互理解嗎揣云?平時(shí)工作用的多嗎,項(xiàng)目中是怎么與Web交互的冰啃?
MVC -> MVP -> MVVM 這樣變化的原因邓夕,MVP的不足,MVVM為什么代替了MVP
MVC的情況下怎么把Activity的C和V抽離
各個(gè)網(wǎng)絡(luò)框架之間的差異和優(yōu)缺點(diǎn)阎毅,網(wǎng)絡(luò)框架代替進(jìn)化的原因
圖片緩存框架的差異和優(yōu)缺點(diǎn)焚刚,有沒(méi)有比Glide更好的圖片加載框架?
項(xiàng)目框架里有沒(méi)有Base類扇调,BaseActivity和BaseFragment這種封裝導(dǎo)致的問(wèn)題矿咕,以及解決方法
框架里是怎樣實(shí)現(xiàn)MVC的
Reftofit用過(guò)沒(méi)有,注解實(shí)現(xiàn)的好處狼钮?
項(xiàng)目中的的界面既然是基于View的碳柱,有沒(méi)有動(dòng)畫的處理?
為什么不推薦軟引用熬芜,軟引用在dvm上的垃圾回收機(jī)制和jvm上一樣嗎莲镣?
LRUCache的刪除條件,LRU是什么意思
啟動(dòng)頁(yè)緩存設(shè)計(jì) 白屏問(wèn)題
網(wǎng)絡(luò)圖片怎么加載涎拉?Glide如何確定圖片加載完畢
項(xiàng)目框架中對(duì)多View的支持剥悟?
Http的request和response的協(xié)議組成
RecyclerView和ListView相比有哪些好處,為什么ListView被RecyclerView代替曼库?
公司九
Java
- 多線程并發(fā)
sleep 和 wait 區(qū)別
join 的用法
線程同步:synchronized 關(guān)鍵字等
線程通信
線程池
手寫死鎖 - Java 中的引用方式区岗,及各自的使用場(chǎng)景
- HashMap 的源碼
- GC(垃圾回收)是什么?如何工作的毁枯?回收算法有哪些
- Error 和 Exception 區(qū)別慈缔?
- 反射和注解了解嗎?項(xiàng)目中有使用過(guò)嗎种玛?
- 網(wǎng)絡(luò)相關(guān):
http 狀態(tài)碼
http 與 https 的區(qū)別藐鹤?https 是如何工作的? - Java 中 LRUCache 是如何實(shí)現(xiàn)的(源碼角度)赂韵?為什么要用 LinkedHashmap娱节?
- 設(shè)計(jì)模式:
手寫單例,volitate 關(guān)鍵字的原理
手寫生產(chǎn)者消費(fèi)者模式
項(xiàng)目中都使用過(guò)哪些設(shè)計(jì)模式祭示?
編碼常遵循的設(shè)計(jì)原則:?jiǎn)我宦氊?zé)肄满、開閉原則、里氏替換等 - ArrayList 和 LinkedList 區(qū)別?
Android - 源碼相關(guān):
Activity 啟動(dòng)過(guò)程
事件分發(fā)源碼稠歉,以及由此衍生的事件攔截如何實(shí)現(xiàn)
消息機(jī)制:Handler 源碼(結(jié)合Looper掰担、MessageQueue),以及取不到消息時(shí)會(huì)怎樣怒炸?
View.post 為什么可以拿到寬高带饱? - 自定義 View
流程:onMeasure, onLayout, onDraw
onMeasure 中的 MeasureSpec 是如何計(jì)算的? - 優(yōu)化:
內(nèi)存泄漏阅羹,以及 LeakCanary 源碼
內(nèi)存優(yōu)化:大對(duì)象占用勺疼、內(nèi)存抖動(dòng)
布局優(yōu)化:層級(jí)、過(guò)度繪制等
網(wǎng)絡(luò)優(yōu)化 - 如何捕獲應(yīng)用全局異常捏鱼?
- Service 是使用执庐,bind 和 start 的區(qū)別?
- Android 中的 IPC 機(jī)制有哪些穷躁?(接著往下問(wèn))
- 屬性動(dòng)畫源碼耕肩?
- 大圖加載因妇。
- ANR 如何定位问潭,如何分析?(trace 日志)
- 項(xiàng)目中使用了哪些開源庫(kù)婚被?挑一個(gè)說(shuō)說(shuō)源碼狡忙?
- MVC 和 MVP 區(qū)別?
- Activity:
A 啟動(dòng) B址芯,生命周期是怎么走的灾茁?(注意區(qū)分B是否是透明的)
啟動(dòng)模式 - AsyncTask 原理?
- Android 新特性(考察對(duì)新技術(shù)谷炸、新方向的觀察)
公司十
Service的源碼
Handler的實(shí)現(xiàn)北专,Looper怎么終止。
項(xiàng)目是MVC旬陡,那根據(jù)自己負(fù)責(zé)的項(xiàng)目講下Model拓颓、View、Controller層
問(wèn)了下晝夜模式描孟、多語(yǔ)種驶睦、屏幕適配的問(wèn)題,追問(wèn)了下匿醒,如果要關(guān)閉晝夜模式功能怎么辦场航?很多類
的話,一個(gè)個(gè)去關(guān)嗎廉羔?
有沒(méi)有接觸過(guò)JNI和NDK溉痢?
ListView的錯(cuò)位問(wèn)題原因以及如何處理?
如何設(shè)計(jì)一個(gè)抽獎(jiǎng)系統(tǒng),比如滿200抽20适室,滿500抽50
公司十一
Android:
1.內(nèi)存泄漏的場(chǎng)景嫡意,Handler機(jī)制
2.四大組件
3.進(jìn)程間通信
4.自定義view
5.Binder的使用
6.性能優(yōu)化
Java:
1.接口和抽象類區(qū)別
2.繼承和重寫
3.ArrayList和LinkedList區(qū)別
4.死鎖產(chǎn)生條件和應(yīng)用場(chǎng)景
5.Java的修飾符的使用,static final修飾原理
6.多線程空指針解決方法
7.異常處理流程捣辆,何時(shí)必須要catch
操作系統(tǒng)
1.進(jìn)程和線程區(qū)別
2.多線程同步和異步問(wèn)題
3.同步死鎖應(yīng)用場(chǎng)景
設(shè)計(jì)模式
1.代理模式
2.單例模式以及雙重鎖原理
3.觀察者模式應(yīng)用場(chǎng)景
數(shù)據(jù)結(jié)構(gòu)和算法
1.無(wú)序數(shù)組建立二叉搜索樹
2.前序和中序遍歷二叉樹(我寫了遞歸和非遞歸)
1.四大引用區(qū)別和引用場(chǎng)景
2.內(nèi)存泄漏的場(chǎng)景蔬螟,Handler內(nèi)存泄漏的原因以及解決方法
3.Handler機(jī)制,主線程如何向子線程發(fā)送消息汽畴,Handler能否多進(jìn)程通信
4.多線程并發(fā)旧巾,sychronized,類鎖和對(duì)象鎖
5.線程安全類忍些,StringBuffer和StringBuilder
6.jvm工作內(nèi)存和主內(nèi)存鲁猩,volatile原理,jvm的靜態(tài)塊罢坝,內(nèi)存屏障的實(shí)現(xiàn)原理
7.一個(gè)m*n的棋盤廓握,一個(gè)蟲子從左上走到右下方,只能向右或者向下嘁酿,有多少種走法隙券,可以用組合
數(shù)學(xué)的知識(shí)解答
8.靜態(tài)廣播和動(dòng)態(tài)廣播區(qū)別,service啟動(dòng)的兩種方式區(qū)別
1.將知道的操作系統(tǒng)說(shuō)一遍闹司,引入操作系統(tǒng)的最終目的(計(jì)算的功能)娱仔,進(jìn)線程區(qū)別,虛擬地址的
原理和作用游桩,指針是物理地址還是虛擬地址牲迫,指針的地址長(zhǎng)度的影響因素,32位系統(tǒng)是4個(gè)字節(jié)借卧,
64位系統(tǒng)是8個(gè)字節(jié)盹憎。
2.Java的三大特性,寫一個(gè)多態(tài)的例子铐刘,注意命名的規(guī)范
3.一個(gè)很大的數(shù)組陪每,其中有一個(gè)數(shù)出現(xiàn)的次數(shù)是奇數(shù)次,其他都是偶數(shù)次滨达。求這個(gè)數(shù)奶稠。除了異或?qū)?br>
另外一種方法
1.Android的體系架構(gòu),深入到framework捡遍,native層
2.單例模式的幾種實(shí)現(xiàn)具體的區(qū)別锌订,工廠模式的種類以及區(qū)別
3.對(duì)C語(yǔ)言的理解
4.Android的觸摸事件分發(fā)流程
5.Android第三方框架的源碼實(shí)現(xiàn)原理
公司十二
1.講一下項(xiàng)目,主要是深入框架的源碼
2.Java忘記問(wèn)啥了画株,Android問(wèn)啟動(dòng)模式的時(shí)候辆飘,對(duì)四種啟動(dòng)模式的實(shí)際運(yùn)用問(wèn)得比較深啦辐,還有觸
摸事件的細(xì)節(jié)問(wèn)得深
3.sp的commit和apply區(qū)別
4.左連接和右連接區(qū)別
5.算法:輸出二叉樹每層的最大值
1.集合類,線程安全如何實(shí)現(xiàn)蜈项,寫一個(gè)算法ArrayList刪除所有值是50的芹关。
這里有坑:http://blog.csdn.net/lazy_p/article/details/7365324
除了遍歷還有更優(yōu)的方法嗎?想不出來(lái)紧卒。換成LinkedList性能如何侥衬?
2.異常類的繼承結(jié)構(gòu),如何捕捉異常跑芳,如何全局捕捉異常并上報(bào)
3.數(shù)據(jù)的存儲(chǔ)方式與其的應(yīng)用場(chǎng)景轴总,ContentProvider的底層實(shí)現(xiàn),如何保證多進(jìn)程讀寫安全
4.類加載博个,jvm內(nèi)存模型
5.自旋鎖
6.Linux的fork
7.數(shù)據(jù)庫(kù)的ACID
8.手寫反轉(zhuǎn)鏈表
1.intent是什么來(lái)的怀樟?為什么不是動(dòng)作,用來(lái)干什么的盆佣?
(什么向什么表現(xiàn)什么意圖)
2.為什么設(shè)置tcp三次握手往堡,四次揮手
3.hashmap的底層實(shí)現(xiàn)
4.場(chǎng)景題分析:手機(jī)掃網(wǎng)頁(yè)端的二維碼如何提起的登錄的過(guò)程,是如何實(shí)現(xiàn)的共耍?
公司十三
一面(Android Leader)
請(qǐng)舉出你認(rèn)為你在工作中挑戰(zhàn)最大的事例虑灰;
RecyclerView 一個(gè)適配器如何適配多種布局,不考慮根據(jù)不同 Type 設(shè)置不同 ViewHolder征堪;
用過(guò)數(shù)據(jù)庫(kù)么瘩缆?如何防止數(shù)據(jù)庫(kù)讀寫死鎖关拒?
可以考慮采用 ContentProvider && 單例實(shí)現(xiàn)佃蚜。
CardView 真的好么?除了 CardView 還能用什么方式實(shí)現(xiàn)圓角等着绊?假設(shè)我們有上千個(gè) Shape 文
件谐算,如何維護(hù)?
了解過(guò) MVVM 么归露?它和 MVP 有什么差距洲脂?
是否用過(guò) DataBinding?ButterKnife 是怎么做到布局綁定的剧包?
使用過(guò)什么圖片加載庫(kù)恐锦,Glide 的源碼設(shè)計(jì)哪里很微妙?
知道 Linux 的線程間通信么疆液? Android 為啥會(huì)采用 Binder一铅?Binder 的機(jī)制又是怎樣的?
講講 AIDL堕油。
如何能保證隨時(shí)隨地都能拿到一個(gè) Activity 的當(dāng)前生命周期潘飘?
會(huì)用 Kotlin 么肮之?
可見(jiàn) Kotlin 自從成為了谷歌首推語(yǔ)言后,確實(shí)還挺重要的卜录,必須學(xué)習(xí)一下了戈擒。
Android 7.0 都適配了什么?
你還有什么想問(wèn)我的艰毒?
二面(移動(dòng)端 Leader)
講講 HTTPS 是怎么做加密的筐高?講講非對(duì)稱加密算法。
Android 8.0 都有些什么新特性丑瞧?
畫中畫凯傲;
自適應(yīng) icon?
WebView 增強(qiáng);
通知分類別嗦篱,增加圓點(diǎn)冰单,通知延后,通知增加背景灸促,同樣增加歷史诫欠,通知超時(shí)自動(dòng)清除;
自動(dòng)填充信息(類似瀏覽器的選擇保存的賬號(hào)密碼功能)
后臺(tái)執(zhí)行增加限制(主要是服務(wù)和廣播)浴栽;
藍(lán)牙提升荒叼。支持藍(lán)牙低功耗 5.0 標(biāo)準(zhǔn);
智能文本選擇與智能共享典鸡;
WLAN 感知被廓;
取消屏幕縱橫比限制;
多顯示器支持萝玷;
可下載字體嫁乘、XML 定義字體;
自適應(yīng) TextView球碉,統(tǒng)一布局邊框蜓斧;
更豐富的色彩管理功能;
可以聲明應(yīng)用類別睁冬。
使用過(guò) Gradle 的哪些功能挎春。
RecyclerView 滑動(dòng)卡頓,請(qǐng)分析原因豆拨,并提供解決方案直奋。TraceView 都能看到哪些成分?
操作系統(tǒng)里面的一個(gè)「虛擬內(nèi)存」是指的什么施禾?
虛擬內(nèi)存指的是一個(gè)對(duì)內(nèi)存和外存進(jìn)行調(diào)度脚线,只是從邏輯上擴(kuò)充了內(nèi)存,但實(shí)際上不存在的內(nèi)存存
儲(chǔ)器拾积。
原理是:基于局部性原理殉挽,在程序裝入的時(shí)候丰涉,可以將程序的一部分裝入內(nèi)存,而在其余部分留在
外存斯碌,就可啟動(dòng)程序執(zhí)行一死;在程序執(zhí)行時(shí),當(dāng)所訪問(wèn)的信息不在內(nèi)存的時(shí)候傻唾,由操作系統(tǒng)所需要的
部分調(diào)入內(nèi)存投慈,然后繼續(xù)執(zhí)行程序;操作系統(tǒng)再將內(nèi)存中暫時(shí)不使用的內(nèi)容換出到外存上冠骄,從而騰
出空間存放將要調(diào)入內(nèi)存的信息伪煤。
Android 是如何做的性能調(diào)優(yōu)?
講講適配器模式中適配器是干嘛的凛辣?在開發(fā)中都在哪里有用到抱既?
都用過(guò)哪些開源庫(kù)?
會(huì)用 KotLin 么扁誓?
你還有什么想問(wèn)我的防泵?
三面:技術(shù)總監(jiān)
為什么大多數(shù) API 會(huì)選擇短連接而不是長(zhǎng)連接?
為什么會(huì)選擇用 RxJava?
MVVM 模式到底有什么好處蝗敢?
詳細(xì)講講 Android 8.0 新特性捷泞。
Kotlin 學(xué)習(xí)的怎么樣了?
你的職業(yè)規(guī)劃是怎么樣的寿谴?
你有什么想問(wèn)我的锁右?
四面:HR
你目前是在職還是已經(jīng)離職?
你為什么離職讶泰?
對(duì)咕咚 APP 的了解咏瑟?
你是一個(gè)自律的人么?
你的職業(yè)規(guī)劃是怎么樣的峻厚?
五面:CT0
先做個(gè)自我介紹响蕴。
你在原來(lái)公司發(fā)展挺好的谆焊,但你為什么離職惠桃?
你們的 APP 采用藍(lán)牙協(xié)議了么?
公司十四
一面(Android 技術(shù))
講講你工作開發(fā)的項(xiàng)目是干嘛的辖试。
手寫快排辜王;
手寫二分查找,并分析時(shí)間復(fù)雜度罐孝;
講講 APK 是如何做瘦身的呐馆?
說(shuō)說(shuō)你項(xiàng)目中挑戰(zhàn)最大的一件事。
講講 HTTPS 是如何做加密的莲兢,說(shuō)下非對(duì)稱加密算法汹来;
說(shuō)一下 HTTP 協(xié)議請(qǐng)求頭我們常用的 3 個(gè)字段续膳;
講講你這個(gè)圖片壓縮庫(kù)是怎么做的?
進(jìn)程笔瞻啵活怎么做坟岔?進(jìn)程拉活現(xiàn)在還可以做么?
用過(guò)線程池么摔桦?講講 AsyncTask 的原理社付。
講講 HashMap 的原理。
講講 Android 如何做性能調(diào)優(yōu)邻耕?
你們是如何做 UI 的機(jī)型適配的鸥咖?
講講你們的多渠道打包是怎么做的?
bugly 是干嘛用的兄世?Handler 怎么處理內(nèi)存泄漏啼辣,除了使用弱引用。你還知道哪些地方需要注意內(nèi)
存泄漏御滩?
Bitmap 使用需要注意哪些問(wèn)題熙兔?Bitmap.recycle() 會(huì)立即回收么?什么時(shí)候會(huì)回收艾恼?如果沒(méi)有地方
使用這個(gè) Bitmap住涉,為什么垃圾回收不會(huì)直接回收它?
如何存儲(chǔ)一個(gè)大圖钠绍,但顯示在 UI 上的是小圖舆声。
官方為什么會(huì)把 HttpClient 和 HttpUrlConnection 替換為 OkHttp 默認(rèn)實(shí)現(xiàn)?它有什么好處柳爽?
你的 GitHub 上都開源了些什么東西媳握?都為哪些開源庫(kù)貢獻(xiàn)了源碼?ImagePicker 為啥會(huì)出現(xiàn)有些
圖片拿不到磷脯?
了解二叉樹的遍歷么蛾找?講一講他們。
講講 SVN 和 Git 的差別赵誓,Git 的優(yōu)勢(shì)是什么打毛。
講講 MVVM,主要是為了解決 MVP 和 MVC 的什么問(wèn)題俩功?
equals() 和 hashCode() 的區(qū)別是什么幻枉?平時(shí)有重寫過(guò)它們么?什么情況下會(huì)去重寫诡蜓。
講下為什么在 Android 下推薦使用 ArrayMap熬甫,相比 HashMap 它到底有什么優(yōu)勢(shì)?
整理來(lái)自公眾號(hào) 秦子帥