flutter全屏时钟!GitHub标星1w的安卓架构师必备技能,含BATJM大厂
前言
說起程序員人們的第一印象就是工資高、加班兇、話少錢多頭發(fā)少。再加上現(xiàn)在科技互聯(lián)網(wǎng)公司太吃香,bat、華為小米等公司程序員加班情況被廣泛傳播,程序員用生命在敲代碼的印象刻在了很多人的心里。
與其它行業(yè)一樣,凡是有高級(jí)和普通,雖然都是敲代碼但也有大牛和普通之分,大牛程序員,一個(gè)人比一個(gè)團(tuán)隊(duì)做項(xiàng)目都做得快,最為出名的當(dāng)屬十幾年前求伯君在做wps時(shí),一個(gè)人完成了微軟二十人團(tuán)隊(duì)沒有完成的項(xiàng)目需求,也讓wps在與微軟的競爭中站穩(wěn)了腳跟。程序員的能力差距真的比貧富的差距還要大。
一面(104min)
-
自我介紹。
-
線程和進(jìn)程的區(qū)別。
-
線程安全。面試官追問是否了解volite關(guān)鍵字,小金忘了沒回答出來。面試官追問是否了解自旋鎖,樂觀鎖,悲觀鎖等,小金回答了解但是沒用過。
-
http是用什么實(shí)現(xiàn)的。
-
TCP和UDP的區(qū)別。
-
TCP為什么是可靠的。注意擁塞機(jī)制涉及的算法(慢開始,擁塞避難,快重傳,快恢復(fù))。
-
Get請(qǐng)求和Post請(qǐng)求的區(qū)別。注意Get請(qǐng)求比Post請(qǐng)求效率高,Post請(qǐng)求需要服務(wù)器返回100再發(fā)送數(shù)據(jù)處理,Get請(qǐng)求直接是通過URL。面試官追問是否知道其他請(qǐng)求方式,Put,Delete,Head。
-
項(xiàng)目中詢問一個(gè) A Activity 跳到一個(gè) B Activity中,生命周期的走動(dòng),點(diǎn)擊Back返回呢。如果一個(gè) A Activity是透明的呢?如果 B Activity是一個(gè)Dialog呢?面試官追問橫豎屏切換生命周期走動(dòng),以及是否了解onConfigurationChanged。
-
HashMap的源碼,擴(kuò)容的條件。
-
算法兩道,一道是和并兩個(gè)有序鏈表,小金用的歸并排序合并過程的思路寫的(長時(shí)間用IDE,好多錯(cuò)誤,但是面試官很有耐心幫我糾錯(cuò))。一道是思路,將一段文本中的單詞逆序輸出,主要考察數(shù)據(jù)結(jié)構(gòu)的知識(shí),用到了棧和隊(duì)列。
-
詢問小金的基本情況,實(shí)習(xí)時(shí)間等。
-
反問環(huán)節(jié):其實(shí)沒問,面試官建議小金對(duì)常見的知識(shí)做深一步的理解,多看源碼,多用記事本寫代碼,多看看基本的數(shù)據(jù)結(jié)構(gòu)和算法。
二面(57min)
-
自我介紹。
-
Android靜態(tài)庫和動(dòng)態(tài)庫的區(qū)別。
-
Android中Binder機(jī)制。
-
Android進(jìn)程間的通信。
-
說說自旋鎖,內(nèi)部實(shí)現(xiàn)。
-
問了線程同步,小金又說了sychroized,還是參考那篇博客。
-
是否了解Java的atomic,以及好多很底層的東西,記不清了,大部分都沒有回答出來。
-
算法題:求解矩形起點(diǎn)到終點(diǎn)的最短路徑,只能向右或者向下走,這是一道簡單的動(dòng)態(tài)規(guī)劃題。
-
詢問小金的基本情況,實(shí)習(xí)時(shí)間等。
-
反問環(huán)節(jié):詢問小金想要加入還需要提升那部分的知識(shí),面試官建議多參加實(shí)際的項(xiàng)目。
三面(40min)
-
自我介紹。
-
項(xiàng)目中出現(xiàn)的難處以及解決。小金說的是使用addView達(dá)到彈出框的效果,但是耗時(shí)長。后來了解Fragment,使用Fragment代替addView。面試官追問能分析為什么這么慢嗎,小金就說了Android的Activity->PhoneWindow->DecorView->ContentView->WindowManager->RootViewImpl的繪制流程。面試官繼續(xù)追問ANR出現(xiàn)的類型,原因以及排查的方式。面試官繼續(xù)追問Fragment和Activity的區(qū)別以及Fragment的優(yōu)點(diǎn)。
-
說一下Android中多線程使用方式。面試官追問如何停止一個(gè)線程。
-
Handler的原理。Looper,MessageQueue,Message。面試官追問在一個(gè)Handler中給另一個(gè)Handler發(fā)送消息,小金其實(shí)沒太理解。
-
Java內(nèi)存,回收的搜索算法:引用計(jì)數(shù)和根搜索算法。
-
算法題:將一個(gè)32位的int型整數(shù)逆序,小金用的取整加取余獲取每一位保存在鏈表中,然后反轉(zhuǎn)鏈表。
-
詢問小金的基本情況,實(shí)習(xí)時(shí)間,職業(yè)規(guī)劃等。
Hr面(20min)
-
自我介紹。
-
詢問小金的基本情況,實(shí)習(xí)時(shí)間,職業(yè)規(guī)劃等。
-
給了口頭Offer。
其他重要知識(shí)點(diǎn)
下面是有幾位Android行業(yè)大佬對(duì)應(yīng)上方技術(shù)點(diǎn)整理的一些進(jìn)階資料。有**【Android架構(gòu)視頻+BATJ面試專題PDF+核心筆記等資料+源碼+思維導(dǎo)圖】。希望能夠幫助到大家提升技術(shù)。如果大家想要獲取的話,可以私信我【666】免費(fèi)獲取哦~**
高級(jí)進(jìn)階篇——高級(jí)UI,自定義View(部分展示)
UI這塊知識(shí)是現(xiàn)今使用者最多的。當(dāng)年火爆一時(shí)的Android入門培訓(xùn),學(xué)會(huì)這小塊知識(shí)就能隨便找到不錯(cuò)的工作了。不過很顯然現(xiàn)在遠(yuǎn)遠(yuǎn)不夠了,拒絕無休止的CV,親自去項(xiàng)目實(shí)戰(zhàn),讀源碼,研究原理吧!
- 面試題部分合集
外鏈圖片轉(zhuǎn)存中…(img-nPFkl9Nx-1611984533933)]
- 面試題部分合集
[外鏈圖片轉(zhuǎn)存中…(img-07f6oylK-1611984533934)]
總結(jié)
以上是生活随笔為你收集整理的flutter全屏时钟!GitHub标星1w的安卓架构师必备技能,含BATJM大厂的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML5 行业首款 3D 游戏及 VR
- 下一篇: 以太坊Gas费用计算方式(“伦敦”升级前