字節(jié)跳動(dòng)秋招一二三面涼經(jīng)(android客戶端)
我面試字節(jié)也是三顧茅廬了屬于,每次都有新體驗(yàn),現(xiàn)在面試已經(jīng)很佛系了,只希望記錄下來能對(duì)自己有所提高。
- Activity的生命周期?什么時(shí)候調(diào)用onResume方法,onSaveInstance怎么使用?
- Activity的啟動(dòng)模式?舉例singleTask的使用場(chǎng)景,singleTask復(fù)用時(shí)都調(diào)用什么方法?
- fragment的生命周期,onAttach和onDetach的調(diào)用時(shí)機(jī)。
- 假如有一個(gè)Activity中有兩個(gè)fragment,它們?cè)趺催M(jìn)行通信?(答了可以往fragment中傳入回調(diào)方法,面試官說也行)
- Handler內(nèi)存泄漏的原理(為什么Handler的生命周期會(huì)比Activity長)
- 簡單介紹一下Service以及它的用途,Service怎么和Activity進(jìn)行通信?
- 簡單介紹一下廣播以及它的用途。
- android序列化有哪幾種方式?為什么Parcelable的效率要比Serializable高?(這個(gè)真不知道)
- android事件分發(fā)機(jī)制?
- 場(chǎng)景題:有一個(gè)ViewGroup中有若干個(gè)View,此時(shí)想讓左右滑動(dòng)交給View處理,上下滑動(dòng)交給ViewGroup處理,怎么做?(答了外部攔截法,重寫ViewGroup的onInterceptTouchEvent方法,重寫View的onTouch方法)
- 如果此時(shí)上下滑動(dòng)結(jié)束后,未抬起繼續(xù)左右滑動(dòng),則事件交給誰處理(此時(shí)ViewGroup將不再執(zhí)行onInterceptTouchEvent方法,所以ViewGroup繼續(xù)處理事件)
- Java線程同步機(jī)制?synchroized的原理?鎖計(jì)數(shù)器是否可能大于1?(答了可重入鎖可以大于1,不知道對(duì)不對(duì))
- 場(chǎng)景題:使用synchoized手寫一個(gè)阻塞隊(duì)列(類似生產(chǎn)者消費(fèi)者模型)
- tcp和udp的區(qū)別?tcp怎么保證可靠性?
- 介紹一下?lián)砣刂坪土髁靠刂疲?
- http和https的區(qū)別?為什么需要證書?
- https的請(qǐng)求過程?
- 用過什么設(shè)計(jì)模式?場(chǎng)景題:寫一個(gè)常見的設(shè)計(jì)模式(寫了動(dòng)態(tài)代理)
- 算法題:判斷鏈表是否是回文鏈表?
總結(jié):有的知識(shí)只是了解個(gè)大概,對(duì)于細(xì)節(jié)部分需要自己親自試驗(yàn)并進(jìn)行記錄。許愿二面
二面
總體感覺沒有一面難,問了一些項(xiàng)目的問題
- 項(xiàng)目中的難點(diǎn),如何解決?
- java的集合體系?HashMap,LinkedHashMap,HashTable,ConCurrentHashMap的區(qū)別
- synchronized和volatile的區(qū)別?
- 垃圾回收機(jī)制?
- Tcp可靠性原理?
- RecyclerView的復(fù)用機(jī)制?
- 自定義view流程?有沒有做過一些比較復(fù)雜的自定義view?
- 有沒有了解過kotlin,和java的區(qū)別在哪里?
- 算法題:二叉樹的右視圖
反問:java選手如何轉(zhuǎn)kotlin?部門有沒有跨平臺(tái)的需求?
三面(好涼涼)
- 算法題:手寫堆排序?
- 判斷是否是完全二叉樹?(有思路但是用例不對(duì),有沒有大佬給我解答一下)
- Tcp的擁塞控制?
- 說一下java的反射機(jī)制?項(xiàng)目中有沒有用到過?
反問:新人培養(yǎng)機(jī)制?應(yīng)屆生怎么才能快速適應(yīng)企業(yè)的實(shí)際開發(fā)?
總結(jié):兄弟萌,算法很重要!算法很重要!算法很重要!