面試那些事

最近在忙著換工作,每天查缺補漏,每天頂著8月的驕陽去面試,每天面試還要遭受各種虐,這種心情有時候讓人不禁懷疑人生。究竟自己還能不能行?為何和別人那么大差距,是自己真的不夠努力還是怎么回事。不知道求過職的人是不是有過跟我一樣的心情,我現(xiàn)在只想記錄一下這段經(jīng)歷,不為別的。

8月1號開始第一次面試,在這之前準備了大概有一個月時間,主要是讀了一遍《安卓開發(fā)藝術(shù)探索》,讀了80%《android源碼設(shè)計模式解析與實戰(zhàn)》,讀了大概1/4的《Thinking in Java》,另外一個月前讀完了《Effective Java》。說老實話,讀技術(shù)書對技術(shù)的掌握幫助非常有限,因為我現(xiàn)在已經(jīng)幾乎忘掉《Effective Java》這本書講了哪些內(nèi)容,《安卓開發(fā)藝術(shù)探索》里面View原理和launchMode我都忘了差不多了,(⊙﹏⊙)b。以后不能再這么看書了,一定要結(jié)合實踐去看書,最好形成文字記錄下來。讀書最好是帶著問題去讀,沒有目的亂讀效果也是非常不好。就比如,你在看Handler Looper Thread MessageQueue的時候,感覺書上說得明明白白,似乎自己搞清楚了,但是面試官問你這些問題,恐怕你回答不好。那么如果面試回來,你回頭再去看這部分內(nèi)容,可能就能更深理解了。

第一場面試是面C廠的高級安卓開發(fā)(好像自不量力了),前臺填完表領(lǐng)了一套試題,第一道四種啟動模式的區(qū)別,嗯,也是常考的一道題,但是像singleInstance和singleTop他們的具體使用場景,我答不上來,盡管我多次看過這部分內(nèi)容,然而還是記不住??磥碜鲞^跟沒做過的差別還是蠻大的。間接經(jīng)驗遠沒有直接經(jīng)驗牢固啊。第一道題第二問是Activity如何恢復(fù)數(shù)據(jù),擦,我印象中知道onCreate方法里面有個savedInstanceState,但是我還想起來有個onSaveInstance方法什么的。我就答了,2種恢復(fù)界面數(shù)據(jù)的方式。后來回去查了資料才知道,那是針對2種不同的場景的,(⊙﹏⊙)b。第二道是問ListView的緩存機制的,都是很普通的題目,但是我其實并不知道它緩存是怎么實現(xiàn)的,面試官和我聊的時候,我說不上來,蛋疼了,水平深淺一問便知。第二題第二問是RecyclerView怎么實現(xiàn)分組,怎么添加header和footer,我用RecyclerView也并不是很多,就最近用了一下,并不知道header和footer是怎么加的,其實現(xiàn)在想一想也是可以答一下的,根據(jù)type類型就可以實現(xiàn)。第三道是問怎么自定義控件,事件處理機制,怎么解決滑動沖突。這問題在《安卓開發(fā)藝術(shù)探索》里,作者將得非常清楚的,但是由于實踐比較少,我特么都沒法自洽地回答這個問題了,汗,太渣了。第四道是讓寫一個單例模式,這個在《android源碼設(shè)計模式》這本書的第一章里講得非常全面了,我都背會了,不難(這特么是高級開發(fā)題目?)。第五個是寫一個方法求N的階乘,不難,感覺答得還行。

答完題,就被叫去和面試官聊,哎,現(xiàn)在面試我的人年齡甚至比我小了,悲哀。自我介紹,我基本上把簡歷里面的東西簡單摘要一下,真心不知道咋介紹。估計面試官看我的項目介紹沒啥亮點,就直接和我聊知識性的東西了,String/StringBuffer/StringBuilder三者的區(qū)別,前不久我剛看了下源碼,記得注釋里面就說StringBuffer被StringBuilder替換了,我就這么答了,但是顯然沒法讓面試官滿意,他想聽到的是線程安全方面的回答,我對這個有印象,但是沒說出來。然后又問了Handler這個問題,問我子線程中的Handler能不能處理消息。然后,面試官問了一個讓我吃驚的問題,數(shù)組怎么刪除其中元素,他是把List當(dāng)成數(shù)組了,擦。最后一個問題是ListView和ViewPager怎么解決滑動沖突,我沒有回答好。最后被面試官判為“基礎(chǔ)不牢”。哎,沒想到第一次面試就出師未捷。不過,也沒多難過,感覺那家公司做的東西還不如我現(xiàn)在這家公司做的。

面試回去之后趕緊把相關(guān)的知識點擼了一遍,第二天約了L廠下午的面試。中午我趁同事休息的時候我溜出去面試了,第一次來L廠,感覺環(huán)境也沒有我現(xiàn)在這家高大上,里面亂糟糟的,印象不是很好。面試官直接搬了個小板凳和我直接聊,主要是針對簡歷上的信息來問問題,我的回答似乎激不起面試官的興趣,到后面問了批量打渠道包的問題,我一下子栽倒在這上面了,估計這里面有玄機。對于一個工作3年的面試者來說,打渠道包都不清楚,很可能這人的簡歷有水分,擦。半個小時很快就完事了,自我感覺很一般,應(yīng)該是沒什么戲了。(到寫這篇文章時我還沒弄明白打渠道包是怎么回事)

今天早上約了L廠的另一個事業(yè)部,辦公地點在另一個地方,到了之后感覺更加失望,又黑又亂。面試我的哥們,感覺水平也挺一般的,問的問題他似乎也理解不是很深,都是泛泛地問一些概念性的很淺的問題。我介紹了我們項目中用的牛逼的框架和比較新的開源庫,這哥們似乎也了解不是很多,然后問了所謂的算法的問題,我硬著頭皮寫了一段二分查找的算法。然后,就問期望薪資了,簡歷流轉(zhuǎn)到HR,HR又找另一個技術(shù)和我進一步聊,有些地方我自己打臉了,簡歷中有些點沒有Holde住,MVVM和RxJava的東西我特么回答不上來,估計會減分了。

昨天找閱文的人幫我內(nèi)推了簡歷,今天接到閱文北京技術(shù)負責(zé)人的電話,2點半的時候電話聊了一下,問的問題都讓我非常尷尬,幾乎沒有能答的。Bitmap怎么計算占用內(nèi)存?我對bitmap了解挺淺的,我答不上來,不過后來我想起來一個叫Matrics的東西,但是也僅僅是知道這么回事,以前我記得了解過怎么計算,然而電話面試時我都沒想起來。然后又問bitmap有幾種類型,我又懵了,估計他是希望我回答ARGB_8888什么的,我雖然知道這玩意,但是我當(dāng)時一點都想不起來。然后又問gradle打渠道包,我又懵逼。然后又針對簡歷問IM具體怎么實現(xiàn)的,IM SDK是另一個團隊開發(fā)的,我還沒來得及看他們的代碼,然后又問HTTP協(xié)議相關(guān)的問題,長連接怎么建立的,懵。最后,又問MVVM和熱修復(fù)的原理,熱修復(fù)我很久以前只看過幾篇博客,沒實踐過,還是懵逼。給跪了!

感覺,好被動啊,現(xiàn)在離我預(yù)想的情況差別好大,真不知道該怎么辦了。項目經(jīng)驗實在是太單薄了,盡管書沒少看,但是沒太大卵用。

補充:

每天早上6點起來做功課已經(jīng)是我的日常。我四五點就醒了,突然想起昨天編輯的文字好像沒保存就關(guān)機了,起來后急忙打開看有沒有自動保存,to my suprise,一個字都沒少。簡書,絕好的寫作體驗。

剛才在床上突然想起來昨天閱文還問了HTTP基于什么協(xié)議,我特么當(dāng)時傻逼啊,我說基于socket,現(xiàn)在我想起來了HTTP是面向連接的協(xié)議,估計面試官期望我答TCP吧。特么的這個問題,我很久以前就在知乎上看過,哎。沒辦法,大概就是基礎(chǔ)不牢吧。

今天,我打算調(diào)整戰(zhàn)略了,以項目為中心,去挖掘面試可能考察的所有范圍。反正我們的項目足夠大,覆蓋的足夠廣,基本上一般面試都可以cover了。God, bless me。

圖片處理?

批量打渠道包

熱修復(fù)原理

MVP和MVVM

自定義控件

滑動沖突

Leak & OOM

Hybrid開發(fā)

一個IM的實現(xiàn)

視頻SDK

第三方支付接入

Realm的實現(xiàn)原理

RecyclerView源碼解析

Handler源碼剖析工作原理

How databinding works?

Realm的實現(xiàn)原理

經(jīng)典查找&排序算法

網(wǎng)絡(luò)協(xié)議

設(shè)計模式

還有什么,后面想到再加。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容