N久以來的第一次跳槽
2015畢業(yè)至今,已經(jīng)在搜狐工作兩年了释涛,這段時(shí)間也終于下定決心跳槽了。現(xiàn)在的幾個(gè)offer也在比較中倦沧,雖然都不是特別滿意唇撬,但是好在也算成功脫坑了,以后找一個(gè)更加professional的團(tuán)隊(duì)去好好工作吧刀脏。
一些記錄吧
這次主要是面Android 方向局荚,確實(shí)很多東西記得不清楚,而且也被多家公司問到愈污,留個(gè)記錄吧,以后面試可以看看轮傍。
1.Android生命周期暂雹,被問到了A切換到B,各個(gè)的生命周期如何
2.Java 對(duì)象的初始化過程创夜,以后復(fù)習(xí)的時(shí)候重新看看吧杭跪,坑還挺多的。
3.Binder機(jī)制,AIDL涧尿。好多人問到了系奉。
http://blog.csdn.net/huachao1001/article/details/51504469 //這個(gè)寫的更簡(jiǎn)單一點(diǎn)
http://blog.csdn.net/coding_glacier/article/details/7520199
為何binder只需要一次數(shù)據(jù)copy呢?
正常的IPC:source進(jìn)程->copy -> 內(nèi)核進(jìn)程 -> copy -> 目標(biāo)進(jìn)程 (2次)
binder:??
? ? 1.地址映射(內(nèi)核進(jìn)程和目標(biāo)進(jìn)程的內(nèi)存使用同一塊物理內(nèi)存地址)
? ? 2.source進(jìn)程->copy -> 內(nèi)核進(jìn)程(因?yàn)槟繕?biāo)進(jìn)程的內(nèi)存和內(nèi)核進(jìn)程內(nèi)存物理地址一樣姑廉,所以相當(dāng)于目標(biāo)進(jìn)程的內(nèi)存也有了這段數(shù)據(jù))
4.Touch事件缺亮,這個(gè)答的還不錯(cuò),問到的也多桥言。
5.Java 值傳遞和引用傳遞萌踱。
6.屬性動(dòng)畫吧,了解的比較淺号阿。
7.View的繪制過程
http://blog.csdn.net/qinjuning/article/details/7110211/
8.Linearlayout 里的weight并鸵,說實(shí)話我特么現(xiàn)在也不會(huì)用∪咏В看下邊這個(gè)吧园担。
http://blog.csdn.net/goodlixueyong/article/details/50004837
weight是指對(duì)父view中的額外空間(注意這個(gè)額外空間)按比例分配給每個(gè)view
尤其是matchParrent的時(shí)候,如果有多個(gè)matchParent的子view枯夜,額外空間是負(fù)數(shù)(父width-n*子width)
9.Handler的looper為什么不會(huì)阻塞主線程
10.通用的性能分析工具:overdraw弯汰,Traceview,Systrace卤档,到時(shí)候能說出幾個(gè)就行吧蝙泼,這玩意也沒啥問的。
http://blog.csdn.net/innost/article/details/9008691/
11.Launch Mode
12.SurfaceVIew 和 TextureView
13.RecyclerVIew
ItemDecoration:http://www.reibang.com/p/b46a4ff7c10a
14.JVM, GC等(其實(shí)感覺問的也不深劝枣,能說出引用計(jì)數(shù)汤踏,根搜算法,Concurrent Mark Sweep(CMS)舔腾,以及分代溪胶,堆棧,可能也就夠了稳诚,當(dāng)然哗脖,深入理解JAVA虛擬機(jī)那本書可以繼續(xù)看)
15.可以關(guān)注的源碼,說出來估計(jì)都是加分項(xiàng)吧:RxJava扳还,EventBus, Fresco才避,OkHttp,ORM氨距,ButterKnife等吧
16.mvc,mvp,mvvm
https://www.tianmaying.com/tutorial/AndroidMVC