公司一
- 說下你所知道的設(shè)計模式與使用場景
- java語言的特點與是OOP思想
- 說下java中的線程創(chuàng)建方式,線程池的工作原理。
- 說下handle原理,為什么會出現(xiàn)內(nèi)存泄漏,為什么繼承Handle就不會出現(xiàn)能存泄漏
- 說下Activity的啟動方式,生命周期,兩個Activity跳轉(zhuǎn)的生命周期,如果一個Activity跳轉(zhuǎn)另一個Activity再按下Home鍵在回到Activity的生命周期是什么樣的
- 說下Activity的橫豎屏的切換的生命周期,用那個方法來保存數(shù)據(jù),兩者的區(qū)別。觸發(fā)在什么時候在那個方法里可以獲取數(shù)據(jù)等。
- 是否了SurfaceView,它是什么?他的繼承方式是什么?他與View的區(qū)別(從源碼角度,如加載,繪制等)。
- 如何實現(xiàn)進(jìn)程保活
- 說下冷啟動與熱啟動是什么,區(qū)別,如何優(yōu)化,使用場景等。
- Android中的線程有那些(我提到HandlerThread,AsyncTask又問了他們的原理與各自特點)
- 給定命題,一串字符串中有通配符與占位符,如何化簡優(yōu)化(方法忘記可以簡寫)
- 說下產(chǎn)生OOM,ANR的原因,三級緩存原理,如何優(yōu)化ListView。
- 說下你對Collection這個類的理解。
- 說下AIDL的使用與原理
- 說下你對廣播的理解
- 說下你對服務(wù)的理解,如何殺死一個服務(wù)。服務(wù)的生命周期(start與bind)。
- 是否接觸過藍(lán)牙等開發(fā)
- 設(shè)計一個ListView左右分頁排版的功能自定義View,說出主要的方法。
-說下binder序列化與反序列化的過程,與使用過程 - 是否接觸過JNI/NDK,java如何調(diào)用C語言的方法
-如何查看模擬器中的SP與SQList文件。如何可視化查看布局嵌套層數(shù)與加載時間。 - 你說用的代碼管理工具什么,為什么會產(chǎn)生代碼沖突,該如何解決
- 說下你對后臺的編程有那些認(rèn)識,聊些前端那些方面的知識。
- 說下你對線程池的理解,如何創(chuàng)建一個線程池與使用。
- 說下你用過那些注解框架,他們的原理是什么。自己實現(xiàn)過,或是理解他的工作過程嗎?
- 說下java虛擬機的理解,回收機制,JVM是如何回收對象的,有哪些方法等
- 一些java與Android源碼相關(guān)知識等
大學(xué)成績
大學(xué)那些專業(yè),你哪方面學(xué)得好
單片機,嵌入式,電子線路。
畢業(yè)設(shè)計什么,幾個人實現(xiàn)的,主要功能是什么
還有些其他硬件相關(guān)知識
自己的職業(yè)規(guī)劃與發(fā)展方向
公司二
- 數(shù)據(jù)結(jié)構(gòu)與算法相關(guān)
- 實際開發(fā)中的內(nèi)存優(yōu)化,APK體積優(yōu)化,代碼優(yōu)化,資源優(yōu)化,緩存,數(shù)據(jù)庫等
- 各大平臺打包上線的流程與審核時間,常見問題(主流的應(yīng)用市場說出3-4)
- 支付寶與微信的支付功能接入,常見問題
- 如何和后臺交互,post請求的數(shù)據(jù)格式定義在那里定義,手寫出來。
- http與https的理解與4層都是哪4層,在一個請求過程中都是什么時候走這些流程與各自的作用
- http的結(jié)構(gòu)有那些(請求頭,請求行之類的)
- session與cookie的區(qū)別
- 如何在后臺沒有給接口的情況下如何開發(fā)應(yīng)用
- 你是如何封裝網(wǎng)絡(luò)請求,數(shù)據(jù)緩存,優(yōu)化,文件下載,線程池,OKHttp3源碼的理解,如何提交
- post請求,如何處理返回數(shù)據(jù),異常處理,實體定義等實際開發(fā)中與后臺協(xié)作相關(guān)知識。
- 說下Android中特有的數(shù)據(jù)結(jié)構(gòu)與常見的java數(shù)據(jù)結(jié)構(gòu)(熟悉那個說那個),存儲過程,源碼與底層實
現(xiàn)。
公司三
- dp是什么,sp呢,有什么區(qū)別
- 自定義View,ViewGroup注意那些回調(diào)?
- 界面卡頓的原因以及解決方法
- android中的存儲類型
- service用過么,基本調(diào)用方法
- Handler機制
- LinearLayout、FrameLayout、RelativeLayout性能對比,為什么
- Activity的生命周期,finish調(diào)用后其他生命周期還會走么?
- FW層熟悉么,源碼看過么
- GC回收機制熟悉么,分代算法知道么
- Java的類類加載原理
- 內(nèi)存泄漏如何排查,MAT分析方法以及原理,各種泄漏的原因是什么比如
- Handler為什么會泄漏
- gradle熟悉么,自動打包知道么
- 介紹下先的app架構(gòu)和通信
- 自己負(fù)責(zé)過哪些模塊,跟同事相比自己的優(yōu)勢是什么
- 遇到過什么印象深刻的問題,怎么解決的
公司四
- 最近都做了哪些工作?
- 遇到了什么印象深刻的問題。A:會順著你介紹的項目問下具體實現(xiàn)。
- 推送消息有富文本么?
- 熱修復(fù)了解么,用的什么?
- apk包大小有限制么?怎么減少包大小?
- 工作中有沒有用過或者寫過什么工具?腳本,插件等等
比如:多人協(xié)同開發(fā)可能對一些相同資源都各自放了一份,有沒有方法自 動檢測這種重復(fù)之類的 - 寫過native的底層代碼么
- view的繪制熟悉么,介紹下
- gc相關(guān)的算法
- anr是因為什么產(chǎn)生的,怎么排查
- 界面上的話,有什么優(yōu)化措施么?比如列表展示之類的,平時遇到過內(nèi)存問題嗎,怎么優(yōu)化的?
- 平時用過哪些設(shè)計模式?
- 介紹下最近一年主要做了什么工作
- 會對簡歷上突出的技能進(jìn)行詳情的詢問:
比如:音頻合成的具體步驟,以及遇到的一些問題和細(xì)節(jié)處理。
會根據(jù)面試發(fā)散一些問題,問到,seek方法播放到末尾后重新播放會有一些卡頓的不流暢問題,怎么避免,從交互設(shè)計或者技術(shù)角度。(個人表示沒怎么關(guān)注這種)。 - 項目團(tuán)隊多少人,怎么分配工作
- 線程之間怎么通信的?
- app的架構(gòu)是怎么樣的,并且為什么這樣,有什么優(yōu)缺點?
- 算法熟悉么?給了一個二叉排序樹,出了一個給定節(jié)點找到它的下一個元素(指的是大小順序的下一個)的算法題。
- 為什么找工作,自己的優(yōu)勢是什么
- 介紹下自己主要負(fù)責(zé)的工作
- Activity的生命周期有哪些,知道onRestart么,介紹 savedInstanceState知道么,干什么用的,什么時候有值,什么時候為空,平時是怎么用的
View繪制熟悉么,介紹下,能說下是實現(xiàn)原理么? - 平時用過什么開發(fā)工具,分析工具?
- ANR是怎么回事?怎么查?Service會引起ANR么?
- Activity的啟動模式有哪些?棧里是A-B-C,先想直接到A,BC都清理掉,有幾種方法可以做到?這幾種方法產(chǎn)生的結(jié)果是有幾個A的實例?
- 有什么工具可以看到Activity棧信息么?多個棧話,有方法分別得到各個棧的Activity列表么
- 都熟悉哪些命令?知道怎么用命令啟動一個Activity么?
- SharedPrefrences的apply和commit有什么區(qū)別
- java里帶$的函數(shù)見過么,是什么意思
- MD5是加密方法么,Base64呢
- 有博客和github,主要是寫的什么?有哪些關(guān)注
- android 8.0 有哪些新特性
公司五
glide緩存策略?同一個圖片跟size有關(guān)么
android中的動畫有哪些
View事件傳遞機制
界面卡頓怎么排查和優(yōu)化?
Fragment的replace和end??的區(qū)別?
MVP,MVVM,MVC解釋和實踐
項目之外的,對技術(shù)的見解,拓展知識
微信跳一跳外掛怎么實現(xiàn),檢測怎么做的?
一張純色背景下怎么有效檢測各個矩形?
對接的so算法了解么,有接觸過相關(guān)的庫么?
三個算法題選一個并寫出測試用例:打印n-m之間所有的素數(shù);計算n-m之間1出現(xiàn)的次數(shù);指定數(shù)
字序列的排序;
android api層的源碼熟悉哪些?解釋一下
ACTION_CANCEL什么時候觸發(fā),觸摸button然后滑動到外部抬起會觸發(fā)點擊事件嗎,在+ + 滑動
回去抬起會么
怎么處理嵌套View的滑動沖突問題
熱修復(fù)相關(guān)的原理,框架熟悉么
gradle打包流程熟悉么
任意提問環(huán)節(jié):其實可以問之前面試中遇到的問題:比如,多模塊開發(fā)的時候不同的負(fù)責(zé)人可能會
引入重復(fù)資源,相同的字符串,相同的icon等但是文件名并不一樣,怎樣去重?
Canvas的底層機制,繪制框架,硬件加速是什么原理,canvas lock的緩沖區(qū)是怎么回事
surfaceview, suface,surfacetexure等相關(guān)的,以及底層原理
android文件存儲,各版本存儲位置的權(quán)限控制的演進(jìn),外部存儲,內(nèi)部存儲
上層業(yè)務(wù)activity和fragment的遇到什么坑??頁面展示上的一些坑和優(yōu)化經(jīng)驗
網(wǎng)絡(luò)請求的開源框架:OKHttp介紹,寫過攔截器么
公司六
數(shù)據(jù)層有統(tǒng)一的管理么,數(shù)據(jù)緩存是怎么做的,http請求等有提供統(tǒng)一管理么?
有用什么模式么,邏輯什么的都在Activity層?怎么分離的
如果用了一些解耦的策略,怎么管理生命周期的?
有什么提高編譯速度的方法?
對應(yīng)用里的線程有做統(tǒng)一管理么?
jni的算法提供都是主線程的?是不是想問服務(wù)類的啊
邊沿檢測用的啥?深度學(xué)習(xí)相關(guān)的有了解么?
上線后的app性能分析檢測有做么
進(jìn)程間通信方式?Binder的構(gòu)成有幾部分?
HttpClient和HttpConnection的區(qū)別
View的事件傳遞機制
MVC,MVP,MVVM分別是什么?
Android中常用的設(shè)計模式,說三個比較高級的?
內(nèi)存優(yōu)化,OOM的原因和排查方法
想改變listview的高度,怎么做
Https是怎么回事?
除了日常開發(fā),其他有做過什么工作?比如持續(xù)化集成,自動化測試等等
公司七:
ActivityA跳轉(zhuǎn)ActivityB然后B按back返回A,各自的生命周期順序,A與B均不透明。
Synchronize關(guān)鍵字后面跟類或者對象有什么不同。
單例的DCL方式下,那個單例的私有變量要不要加volatile關(guān)鍵字,這個關(guān)鍵字有什么用
JVM的引用樹,什么變量能作為GCRoot?GC垃圾回收的幾種方法
ThreadLocal是什么?Looper中的消息死循環(huán)為什么沒有ANR?
Android中main方法入口在哪里
jdk1.5?SparseArray和ArrayMap各自的數(shù)據(jù)結(jié)構(gòu),前者的查找是怎么
實現(xiàn)的,與HashMap的區(qū)別
Runnable與Callable、Future、FutureTask的區(qū)別,AsyncTask用到哪個?AsyncTask是順序執(zhí)行
么,for循環(huán)中執(zhí)行200次new AsyncTask并execute,會有異常嗎
IntentService生命周期是怎樣的,使用場合等
RecyclerView和ListView有什么區(qū)別?局部刷新?前者使用時多重type場景下怎么避免滑動卡頓。
懶加載怎么實現(xiàn),怎么優(yōu)化滑動體驗。
SQLite的數(shù)據(jù)庫升級用過么
開放問題:如果提高啟動速度,設(shè)計一個延遲加載框架或者sdk的方法和注意的問題。
Scroller有什么方法,怎么使用的。
分享下項目中遇到的問題
webwiew了解?怎么實現(xiàn)和javascript的通信?相互雙方的通信。@JavascriptInterface在?版本有
bug,除了這個還有其他調(diào)用android方法的方案嗎?
ReactiveNative了解多少
JNI和NDK熟悉么?Java和C方法之前的相互調(diào)用怎么做?
公司八:
fragment的生命周期
事件分發(fā)機制,以及涉及到的設(shè)計模式
onMeasure的測量模式與特點
線程間通信和進(jìn)程間通信
ArrayList刪除元素
寫出你認(rèn)為最優(yōu)的懶漢式單例模式
activity意外退出時信息的儲存與恢復(fù),onCreate正常進(jìn)入時的判斷。
談?wù)勑阅軆?yōu)化
JS的交互理解嗎?平時工作用的多嗎,項目中是怎么與Web交互的?
MVC -> MVP -> MVVM 這樣變化的原因,MVP的不足,MVVM為什么代替了MVP
MVC的情況下怎么把Activity的C和V抽離
各個網(wǎng)絡(luò)框架之間的差異和優(yōu)缺點,網(wǎng)絡(luò)框架代替進(jìn)化的原因
圖片緩存框架的差異和優(yōu)缺點,有沒有比Glide更好的圖片加載框架?
項目框架里有沒有Base類,BaseActivity和BaseFragment這種封裝導(dǎo)致的問題,以及解決方法
框架里是怎樣實現(xiàn)MVC的
Reftofit用過沒有,注解實現(xiàn)的好處?
項目中的的界面既然是基于View的,有沒有動畫的處理?
為什么不推薦軟引用,軟引用在dvm上的垃圾回收機制和jvm上一樣嗎?
LRUCache的刪除條件,LRU是什么意思
啟動頁緩存設(shè)計 白屏問題
網(wǎng)絡(luò)圖片怎么加載?Glide如何確定圖片加載完畢
項目框架中對多View的支持?
Http的request和response的協(xié)議組成
RecyclerView和ListView相比有哪些好處,為什么ListView被RecyclerView代替?
公司九
Java
- 多線程并發(fā)
sleep 和 wait 區(qū)別
join 的用法
線程同步:synchronized 關(guān)鍵字等
線程通信
線程池
手寫死鎖 - Java 中的引用方式,及各自的使用場景
- HashMap 的源碼
- GC(垃圾回收)是什么?如何工作的?回收算法有哪些
- Error 和 Exception 區(qū)別?
- 反射和注解了解嗎?項目中有使用過嗎?
- 網(wǎng)絡(luò)相關(guān):
http 狀態(tài)碼
http 與 https 的區(qū)別?https 是如何工作的? - Java 中 LRUCache 是如何實現(xiàn)的(源碼角度)?為什么要用 LinkedHashmap?
- 設(shè)計模式:
手寫單例,volitate 關(guān)鍵字的原理
手寫生產(chǎn)者消費者模式
項目中都使用過哪些設(shè)計模式?
編碼常遵循的設(shè)計原則:單一職責(zé)、開閉原則、里氏替換等 - ArrayList 和 LinkedList 區(qū)別?
Android - 源碼相關(guān):
Activity 啟動過程
事件分發(fā)源碼,以及由此衍生的事件攔截如何實現(xiàn)
消息機制:Handler 源碼(結(jié)合Looper、MessageQueue),以及取不到消息時會怎樣?
View.post 為什么可以拿到寬高? - 自定義 View
流程:onMeasure, onLayout, onDraw
onMeasure 中的 MeasureSpec 是如何計算的? - 優(yōu)化:
內(nèi)存泄漏,以及 LeakCanary 源碼
內(nèi)存優(yōu)化:大對象占用、內(nèi)存抖動
布局優(yōu)化:層級、過度繪制等
網(wǎng)絡(luò)優(yōu)化 - 如何捕獲應(yīng)用全局異常?
- Service 是使用,bind 和 start 的區(qū)別?
- Android 中的 IPC 機制有哪些?(接著往下問)
- 屬性動畫源碼?
- 大圖加載。
- ANR 如何定位,如何分析?(trace 日志)
- 項目中使用了哪些開源庫?挑一個說說源碼?
- MVC 和 MVP 區(qū)別?
- Activity:
A 啟動 B,生命周期是怎么走的?(注意區(qū)分B是否是透明的)
啟動模式 - AsyncTask 原理?
- Android 新特性(考察對新技術(shù)、新方向的觀察)
公司十
Service的源碼
Handler的實現(xiàn),Looper怎么終止。
項目是MVC,那根據(jù)自己負(fù)責(zé)的項目講下Model、View、Controller層
問了下晝夜模式、多語種、屏幕適配的問題,追問了下,如果要關(guān)閉晝夜模式功能怎么辦?很多類
的話,一個個去關(guān)嗎?
有沒有接觸過JNI和NDK?
ListView的錯位問題原因以及如何處理?
如何設(shè)計一個抽獎系統(tǒng),比如滿200抽20,滿500抽50
公司十一
Android:
1.內(nèi)存泄漏的場景,Handler機制
2.四大組件
3.進(jìn)程間通信
4.自定義view
5.Binder的使用
6.性能優(yōu)化
Java:
1.接口和抽象類區(qū)別
2.繼承和重寫
3.ArrayList和LinkedList區(qū)別
4.死鎖產(chǎn)生條件和應(yīng)用場景
5.Java的修飾符的使用,static final修飾原理
6.多線程空指針解決方法
7.異常處理流程,何時必須要catch
操作系統(tǒng)
1.進(jìn)程和線程區(qū)別
2.多線程同步和異步問題
3.同步死鎖應(yīng)用場景
設(shè)計模式
1.代理模式
2.單例模式以及雙重鎖原理
3.觀察者模式應(yīng)用場景
數(shù)據(jù)結(jié)構(gòu)和算法
1.無序數(shù)組建立二叉搜索樹
2.前序和中序遍歷二叉樹(我寫了遞歸和非遞歸)
1.四大引用區(qū)別和引用場景
2.內(nèi)存泄漏的場景,Handler內(nèi)存泄漏的原因以及解決方法
3.Handler機制,主線程如何向子線程發(fā)送消息,Handler能否多進(jìn)程通信
4.多線程并發(fā),sychronized,類鎖和對象鎖
5.線程安全類,StringBuffer和StringBuilder
6.jvm工作內(nèi)存和主內(nèi)存,volatile原理,jvm的靜態(tài)塊,內(nèi)存屏障的實現(xiàn)原理
7.一個m*n的棋盤,一個蟲子從左上走到右下方,只能向右或者向下,有多少種走法,可以用組合
數(shù)學(xué)的知識解答
8.靜態(tài)廣播和動態(tài)廣播區(qū)別,service啟動的兩種方式區(qū)別
1.將知道的操作系統(tǒng)說一遍,引入操作系統(tǒng)的最終目的(計算的功能),進(jìn)線程區(qū)別,虛擬地址的
原理和作用,指針是物理地址還是虛擬地址,指針的地址長度的影響因素,32位系統(tǒng)是4個字節(jié),
64位系統(tǒng)是8個字節(jié)。
2.Java的三大特性,寫一個多態(tài)的例子,注意命名的規(guī)范
3.一個很大的數(shù)組,其中有一個數(shù)出現(xiàn)的次數(shù)是奇數(shù)次,其他都是偶數(shù)次。求這個數(shù)。除了異或?qū)?br>
另外一種方法
1.Android的體系架構(gòu),深入到framework,native層
2.單例模式的幾種實現(xiàn)具體的區(qū)別,工廠模式的種類以及區(qū)別
3.對C語言的理解
4.Android的觸摸事件分發(fā)流程
5.Android第三方框架的源碼實現(xiàn)原理
公司十二
1.講一下項目,主要是深入框架的源碼
2.Java忘記問啥了,Android問啟動模式的時候,對四種啟動模式的實際運用問得比較深,還有觸
摸事件的細(xì)節(jié)問得深
3.sp的commit和apply區(qū)別
4.左連接和右連接區(qū)別
5.算法:輸出二叉樹每層的最大值
1.集合類,線程安全如何實現(xiàn),寫一個算法ArrayList刪除所有值是50的。
這里有坑:http://blog.csdn.net/lazy_p/article/details/7365324
除了遍歷還有更優(yōu)的方法嗎?想不出來。換成LinkedList性能如何?
2.異常類的繼承結(jié)構(gòu),如何捕捉異常,如何全局捕捉異常并上報
3.數(shù)據(jù)的存儲方式與其的應(yīng)用場景,ContentProvider的底層實現(xiàn),如何保證多進(jìn)程讀寫安全
4.類加載,jvm內(nèi)存模型
5.自旋鎖
6.Linux的fork
7.數(shù)據(jù)庫的ACID
8.手寫反轉(zhuǎn)鏈表
1.intent是什么來的?為什么不是動作,用來干什么的?
(什么向什么表現(xiàn)什么意圖)
2.為什么設(shè)置tcp三次握手,四次揮手
3.hashmap的底層實現(xiàn)
4.場景題分析:手機掃網(wǎng)頁端的二維碼如何提起的登錄的過程,是如何實現(xiàn)的?
公司十三
一面(Android Leader)
請舉出你認(rèn)為你在工作中挑戰(zhàn)最大的事例;
RecyclerView 一個適配器如何適配多種布局,不考慮根據(jù)不同 Type 設(shè)置不同 ViewHolder;
用過數(shù)據(jù)庫么?如何防止數(shù)據(jù)庫讀寫死鎖?
可以考慮采用 ContentProvider && 單例實現(xiàn)。
CardView 真的好么?除了 CardView 還能用什么方式實現(xiàn)圓角等?假設(shè)我們有上千個 Shape 文
件,如何維護(hù)?
了解過 MVVM 么?它和 MVP 有什么差距?
是否用過 DataBinding?ButterKnife 是怎么做到布局綁定的?
使用過什么圖片加載庫,Glide 的源碼設(shè)計哪里很微妙?
知道 Linux 的線程間通信么? Android 為啥會采用 Binder?Binder 的機制又是怎樣的?
講講 AIDL。
如何能保證隨時隨地都能拿到一個 Activity 的當(dāng)前生命周期?
會用 Kotlin 么?
可見 Kotlin 自從成為了谷歌首推語言后,確實還挺重要的,必須學(xué)習(xí)一下了。
Android 7.0 都適配了什么?
你還有什么想問我的?
二面(移動端 Leader)
講講 HTTPS 是怎么做加密的?講講非對稱加密算法。
Android 8.0 都有些什么新特性?
畫中畫;
自適應(yīng) icon?
WebView 增強;
通知分類別,增加圓點,通知延后,通知增加背景,同樣增加歷史,通知超時自動清除;
自動填充信息(類似瀏覽器的選擇保存的賬號密碼功能)
后臺執(zhí)行增加限制(主要是服務(wù)和廣播);
藍(lán)牙提升。支持藍(lán)牙低功耗 5.0 標(biāo)準(zhǔn);
智能文本選擇與智能共享;
WLAN 感知;
取消屏幕縱橫比限制;
多顯示器支持;
可下載字體、XML 定義字體;
自適應(yīng) TextView,統(tǒng)一布局邊框;
更豐富的色彩管理功能;
可以聲明應(yīng)用類別。
使用過 Gradle 的哪些功能。
RecyclerView 滑動卡頓,請分析原因,并提供解決方案。TraceView 都能看到哪些成分?
操作系統(tǒng)里面的一個「虛擬內(nèi)存」是指的什么?
虛擬內(nèi)存指的是一個對內(nèi)存和外存進(jìn)行調(diào)度,只是從邏輯上擴充了內(nèi)存,但實際上不存在的內(nèi)存存
儲器。
原理是:基于局部性原理,在程序裝入的時候,可以將程序的一部分裝入內(nèi)存,而在其余部分留在
外存,就可啟動程序執(zhí)行;在程序執(zhí)行時,當(dāng)所訪問的信息不在內(nèi)存的時候,由操作系統(tǒng)所需要的
部分調(diào)入內(nèi)存,然后繼續(xù)執(zhí)行程序;操作系統(tǒng)再將內(nèi)存中暫時不使用的內(nèi)容換出到外存上,從而騰
出空間存放將要調(diào)入內(nèi)存的信息。
Android 是如何做的性能調(diào)優(yōu)?
講講適配器模式中適配器是干嘛的?在開發(fā)中都在哪里有用到?
都用過哪些開源庫?
會用 KotLin 么?
你還有什么想問我的?
三面:技術(shù)總監(jiān)
為什么大多數(shù) API 會選擇短連接而不是長連接?
為什么會選擇用 RxJava?
MVVM 模式到底有什么好處?
詳細(xì)講講 Android 8.0 新特性。
Kotlin 學(xué)習(xí)的怎么樣了?
你的職業(yè)規(guī)劃是怎么樣的?
你有什么想問我的?
四面:HR
你目前是在職還是已經(jīng)離職?
你為什么離職?
對咕咚 APP 的了解?
你是一個自律的人么?
你的職業(yè)規(guī)劃是怎么樣的?
五面:CT0
先做個自我介紹。
你在原來公司發(fā)展挺好的,但你為什么離職?
你們的 APP 采用藍(lán)牙協(xié)議了么?
公司十四
一面(Android 技術(shù))
講講你工作開發(fā)的項目是干嘛的。
手寫快排;
手寫二分查找,并分析時間復(fù)雜度;
講講 APK 是如何做瘦身的?
說說你項目中挑戰(zhàn)最大的一件事。
講講 HTTPS 是如何做加密的,說下非對稱加密算法;
說一下 HTTP 協(xié)議請求頭我們常用的 3 個字段;
講講你這個圖片壓縮庫是怎么做的?
進(jìn)程保活怎么做?進(jìn)程拉活現(xiàn)在還可以做么?
用過線程池么?講講 AsyncTask 的原理。
講講 HashMap 的原理。
講講 Android 如何做性能調(diào)優(yōu)?
你們是如何做 UI 的機型適配的?
講講你們的多渠道打包是怎么做的?
bugly 是干嘛用的?Handler 怎么處理內(nèi)存泄漏,除了使用弱引用。你還知道哪些地方需要注意內(nèi)
存泄漏?
Bitmap 使用需要注意哪些問題?Bitmap.recycle() 會立即回收么?什么時候會回收?如果沒有地方
使用這個 Bitmap,為什么垃圾回收不會直接回收它?
如何存儲一個大圖,但顯示在 UI 上的是小圖。
官方為什么會把 HttpClient 和 HttpUrlConnection 替換為 OkHttp 默認(rèn)實現(xiàn)?它有什么好處?
你的 GitHub 上都開源了些什么東西?都為哪些開源庫貢獻(xiàn)了源碼?ImagePicker 為啥會出現(xiàn)有些
圖片拿不到?
了解二叉樹的遍歷么?講一講他們。
講講 SVN 和 Git 的差別,Git 的優(yōu)勢是什么。
講講 MVVM,主要是為了解決 MVP 和 MVC 的什么問題?
equals() 和 hashCode() 的區(qū)別是什么?平時有重寫過它們么?什么情況下會去重寫。
講下為什么在 Android 下推薦使用 ArrayMap,相比 HashMap 它到底有什么優(yōu)勢?
整理來自公眾號 秦子帥