這幾天跳槽算色,面了幾家互聯(lián)網(wǎng)公司,說說我的面試經(jīng)歷吧以及一些面試題吧螟够。
樂視:
一面:先是筆試灾梦,比較基礎(chǔ),最后一道算法題-大數(shù)相乘沒答出來妓笙,然后與技術(shù)leader聊了1個(gè)小時(shí)若河;
二面:人事面試,聊了半個(gè)小時(shí)寞宫;
三面:半個(gè)小時(shí)數(shù)字推理(感覺主要時(shí)間花費(fèi)在理解題意上萧福,沒做完)
美團(tuán):
1、說說View的繪制流程辈赋;
2鲫忍、兩種序列化方式及對(duì)比優(yōu)缺點(diǎn);
3钥屈、Android的跨進(jìn)程通信機(jī)制(Binder機(jī)制)
4悟民、Activity的4種啟動(dòng)模式;
5篷就、Activity的生命周期(比如從Activity A 進(jìn)入 B射亏,生命周期是:A:onResume() -> onPause() -> B:onCreate() -> onStart() -> onResume() -> A: onStop())
6、Fragment傳值的幾種方式:
setArguments();
構(gòu)造函數(shù)傳參(這個(gè)要注意腻脏,數(shù)值可能丟失)
借助其他類如單例類(我們項(xiàng)目中用Application)暫時(shí)緩存數(shù)據(jù)鸦泳;
...
百度:
1、算法:1000個(gè)無(wú)序數(shù)中找出最大的10個(gè)數(shù)(我給出的思路是:分組各自找出最大的10個(gè)數(shù)永品,然后歸并做鹰,重復(fù)這個(gè)步驟,直到只剩10個(gè)數(shù))
2鼎姐、有哪些性能優(yōu)化方式钾麸;
3更振、圖片加載優(yōu)化,采樣等饭尝;還有放大圖片肯腕,怎么讓圖片顯示部分不模糊失真;
4钥平、自定義View实撒;
5、聊了下做的項(xiàng)目涉瘾;
6知态、自定義View中在onDraw()方法中可以設(shè)置padding嗎?答案是不能立叛,設(shè)置padding后负敏,View的布局改變,會(huì)重新進(jìn)行measure秘蛇,layout流程其做,然后draw,從而陷入死循環(huán)赁还,導(dǎo)致內(nèi)存溢出或泄漏妖泄;
7、二面的面試官不在等通知 (||)
宜信:
一面:
1秽浇、算法:n個(gè)Linear slot浮庐,向其中放球,要求相鄰兩球之間的空格大于2柬焕,可以不放任何球,求有多少個(gè)solution梭域?
實(shí)際就是斐波那契數(shù)列斑举,可惜沒答出來,然后用遞歸和循環(huán)實(shí)現(xiàn)病涨。
2富玷、Gc算法,以及引用計(jì)數(shù)法的問題既穆。
3赎懦、jvm模型。
4幻工、...
二面:android基礎(chǔ)
1励两、View繪制流程,margin和padding的處理流程在哪一步囊颅?
2当悔、四大啟動(dòng)模式傅瞻;
3、Handler機(jī)制盲憎;
4嗅骄、事件分發(fā)機(jī)制。
5饼疙、算法:一個(gè)字符串向右循環(huán)移位n位溺森,求各個(gè)字符新的位置,并用算法實(shí)現(xiàn)窑眯。
....
三面:
1屏积、還是算法,一個(gè)數(shù)字序列伸但,先遞增后遞減肾请,求出最大數(shù)字的下標(biāo)(實(shí)際就是結(jié)合二分查找),并寫出算法更胖,遞歸和循環(huán)兩種都寫了铛铁。
2、為什么跳槽却妨;
3饵逐、怎么學(xué)習(xí)android的;
4彪标、最近看了哪些博客倍权,說一說(從早上到下午三點(diǎn),還沒吃飯捞烟,大腦空白薄声,實(shí)在想不出來啊,就瞎扯了题画,建議各位千萬(wàn)不要空腹去面試)默辨;
5、等人事通知苍息。
京東:
一面:
1缩幸、開啟線程的方式以及android開啟異步線程的方式;
2竞思、線程和進(jìn)場(chǎng)的區(qū)別;
3盖喷、Java集合類爆办;
4传蹈、Java異常類步藕;
5、Java虛擬機(jī)模型挑格;
6、Android IPC漂彤;
7雾消、activity生命周期挫望;
8立润、Handler原理;
...
二面:
1媳板、線程和進(jìn)場(chǎng)的區(qū)別桑腮;
2、算法蛉幸,實(shí)際就是問HashMap的實(shí)現(xiàn)原理破讨;...
三面:
1、算法奕纫,循環(huán)隊(duì)列的實(shí)現(xiàn)提陶;
2、京東部門介紹匹层;...大概有兩題沒答好隙笆,表現(xiàn)中等偏上吧。