歡迎掘金的小夥伴們訪問我的個人部落格 ,原文連結:wensibo.top/2017/10/29/…
前言
距離上次更新文章已經過去一個多月了,實在是很抱歉沒有按照進度更新部落格。最近主要是在忙秋招,前幾天也剛剛結束,所以這篇文章就來和大家一起分享我的秋招之路。
或許大部分朋友都是從這篇文章————2017騰訊實習生Android客戶端開發面試總結開始認識我的吧,在那篇文章中我也講到自己是非科班出身,同時學校也是非985非211的普通一本學校,這也就是標題中講到的“三非”,這篇文章主要是記錄一下我的秋招歷程,在文章中我也會分享自己準備秋招的一些經驗,希望對大家有所幫助。話不多說讓我們開始吧!
先來說一下我目前的情況吧,截止到這篇文章釋出的時候,我手上是拿到了4個offer,分別是實習的公司,珍愛網,久邦數碼,租租車,在等待最終結果的是還有1個。像我這種實力是拿不到大廠offer的啦,請大神們輕噴。
回顧整個秋招,從8月底開始,先後總共投了11份簡歷,8份過了筆試來到了面試,在這8箇中有2個一面掛分別是騰訊和4399,剩下6個都到了終面,最後有1個終面掛,剩下5個就是上面說到的5個。很多朋友會問為什麼只投了11份呢?因為個人的關係,我選擇在廣東省內工作,其實主要就是廣州和深圳,再加上本身投遞的崗位是Android開發,所以選擇的公司就少了很多了,其實我也很羨慕那些能夠到外省工作的同學,當然這個是個人自己的選擇啦!下面我就來細講一下這些面試的過程。
面試總結
體驗最好的面試————CVTE
CVTE是我第一個去面試的公司,三輪面試下來總共是兩天,不過兩天不連續,這兩天的面試都是到地鐵站附近等候公司的班車過來,然後坐班車前往公司面試,一面二面安排在同一天,從等待面試的人數就可以看出CVTE很受歡迎。當天我是早上11點到的公司,然後工作人員安排我們到電影院稍作休息,等候面試通知,從公司的基礎設施以及環境就可以看出CVTE還是挺有錢的,工作人員也十分的熱情,整個面試流程也是盡然有序。
CVTE一面
一面的時候是兩個面試官同時面試我,一個問問題的時候另一個做記錄,另外一個問問題再由另一個做記錄,這輪面試總共40分鐘,面完之後感覺快要虛脫,因為面試節奏很快,如果腦袋不夠用就可能當場gg,不過問的問題都是很基礎的知識,只要基礎夠紮實基本沒問題。下面是我被問到的一些問題:
從ActivityA跳轉到ActivityB的生命週期呼叫順序?
Activity的四種啟動方式?
Android多執行緒的通訊方式有什麼?做簡要介紹。
Android中的訊息機制?
HandlerThread的原理?
Window的工作原理和作用?
自定義View的流程以及需要注意哪些地方?
自定義View的時候如何實現wrap_content屬性?
View事件分發機制?
滑動衝突的解決方法有哪些?子View如何通知父View去攔截某事件?
Volley原理?
retrofit原理?
JAVA的四種元註解是什麼?主要作用有哪些?
okhttp原理?
老年代與新生代的區別?
JVM中的複製演算法是什麼?
java加鎖機制有哪些方法?原理分別是什麼?
wait()和sleep()的區別是什麼?
synchronized關鍵字的四種用法和區別?
onCopyWriteArrayList的原理?
Hashmap實現原理?
concurrentHashmap原理?
反射機制原理?
動態代理原理?
單例模式有哪些實現方法?
手寫演算法題————字串反轉的有哪些方法?複製程式碼
一面大概歷時40分鐘,時間也來到12點多,結束之後就等待二面,因為怕面試官通知面試所以就沒去吃午飯,話說CVTE的零食和飯堂都是挺不錯的,可惜沒有去嘗一下。差不多一點多的時候就是二面。
CVTE二面
二面應該是總監面,問題主要偏向專案,有一些問題已經忘記了,只能列出一些還記得的:
做了哪些專案?詳細說一下專案。
講一下RXJava原理;subscribeOn()與observeOn()哪一個方法多次切換執行緒只有第一次有效?為什麼?
Volley原理?
Retrofit原理?
Volley與Retrofit快取機制有哪些區別?
簡單工廠,工廠方法,抽象工廠三種設計模式的優缺點?
什麼是記憶體洩露,什麼是記憶體溢位?
平常使用什麼分析工具來優化APP的效能?
手寫演算法題————實現一個棧
Java的集合類包括哪些?各自有什麼特點?
為什麼寫部落格?
今後想要往哪些方面發展?複製程式碼
二面其實發揮得不好,尤其是講到RxJava的時候,因為沒有仔細看RxJava原始碼,後續會寫關於這個開源庫原始碼解析的文章。
過了幾天之後面試狀態變成了終面,然後就前往CVTE的第二產業園進行HR面,一般是兩個面試官同時面三個同學,不過因為我面的那一批人數不夠,所以只是2對2。不得不說CVTE的HR真的很專業,把我從小到大的事情都扒出來了,問的問題大體如下:
對自己兩輪面試打一下分
都面試了哪些公司,拿到哪些offer?
小時候印象最深刻的一件?
說說自己的家庭情況?
說說對自己影響最大的人?
父母的性格都是怎麼樣的?
從小什麼事情對自己的影響最大?
期望的工作地點,每天期望的工作時間?一週期望工作多久?
有什麼理由會讓你拒絕CVTE的offer?
說說你對薪資的要求?
覺得什麼是自己不喜歡的?
說一下自己的優點和缺點?
夢想是什麼?
有什麼問題想問我?複製程式碼
全程還是挺嚴肅的,大概30分鐘,不過因為之前對一些問題做了準備,所以沒有遇到太大的難題。HR面之後過了幾天官網顯示已經通過終面,不過終面過了並不表示能夠順利拿到offer啦,按照CVTE的慣例,順利通過終面的學生一般是需要經歷一週的考核,考核的專案完成之後會進行再一輪的HR面,最後才會給結果。也就在前兩天我剛剛結束了為期一週的實習,實習期間我的導師,同事,老大都很nice,有什麼問題都可以向這些同事們請教,他們都會很耐心的幫忙解答,更重要的是CVTE給實習生的待遇很好,除了很好吃的一日三餐以及宵夜之外還會安排公司的公寓式酒店給實習生入住,相信去實習的同學對這點應該都很清楚。說了這麼多好的那也該說一下不是特別好的地方,首先就是工作強度會稍微有點大,不過因為我是短期實習生,同時也要這3~4天內完成一個專案,所以壓力相對大,每天幾乎都是8點半左右上班工作到晚上9點多,中午12點多吃午飯,下午兩點上班,如果你覺得這樣的工作強度適應的了的話那來CVTE肯定是很好的選擇,最後再說一下專案考核之後的HR面吧:
實習的這一週有什麼不適的嗎?
對公司的安排有什麼意見嗎?
覺得哪方面還沒有達到你的預期?
跟家裡人說了來實習的情況了嗎?家裡人都說了些什麼?
父母對你未來的期望是什麼?
未來對父母有什麼打算?
家裡情況怎麼樣?
父母對你的影響是什麼?
從小到大對你造成的負面影響最大的事情是什麼?
哪一段時間是自己壓力最大的時候?
給自己的實習考核打個分?
覺得自己能不能夠通過此次的考核?為什麼?
期望的薪資是多少?最低的薪資要求是多少?
如果考核評估覺得你無法達到這樣的薪資水平你該怎麼辦?
如果沒有通過CVTE的考核你該怎麼辦?
手裡都拿到哪些Offer了?薪資水平都怎麼樣?
都拿到這麼多offer了為什麼還來實習?
為什麼會選擇CVTE?
有什麼理由讓你拒絕CVTE的offer?
什麼情況下你會從CVTE離職?
還想對我們說什麼?用一句話表達。複製程式碼
講真,經歷了這麼多次面試,CVTE的HR面給我的印象是最深刻的,當然這次的面試壓力也是最大的,跟我一起面試的另一個小夥伴也頂著很大的壓力,我們兩個面試結束之後都大口的舒了口氣,這次的HR是相對比較高層的,經驗可以說相當豐富啊,對每個問題都會挖得很深直擊要害,如果沒有提前做好充分的準備可能會被問哭。總之這個星期的實習確實是個非常不錯的經歷。
體驗最糟的面試————4399
其實這樣黑4399也不是很好,那就當成是我個人的片面之見吧,寫出來只是與大家分享而已,完全沒有惡意。4399的面試是在華工中心酒店,去之前就聽說今年的面試有點水,一面似乎都是20分鐘草草而過,聽去面試的同學講起問的技術問題不多,主要聊人生。本來也不是很想去的,因為同時間也趕著去另外一家公司面試,不過為了給自己多一次機會,所以也來到現場。話說4399的人氣不是蓋的,會議室裡坐滿了人,到了現場不到3分鐘就被叫去一面。
4399一面
自我介紹
問了一下專案
說說ListView與RecyclerView的區別
說說以後的發展方向
為什麼寫部落格
用過什麼設計模式?問說需不需要詳細說一下面試官說不用。
有優點和缺點?
覺得自己什麼情況下會離職?
怎麼學習Android的?複製程式碼
大概就這些問題了,面完之後面試官叫我出去等一下,然後前臺的工作人員過了一陣子叫我先回去等訊息,接著另一個工作人員叫我稍等一下,然後在電腦上處理了3分鐘左右,接著另外一個工作人員又叫我去面二面,不過剛才那個工作人員說他在處理我的,又過了2分鐘他叫我回去等訊息了。聽到這個回覆就知道gg了。
總體評價一下這次的面試,感覺4399確實很多人想去,不過不知道今年是不是不怎麼招人,感覺面試都很水,也有可能面試官覺得我很渣,然後隨便問問過一下流程吧!不過我一直覺得面試是一個互相瞭解的過程,雙方都應該尊重彼此,不然怎麼體現這個公司的形象呢?
最輕鬆幽默的面試————珍愛網
珍愛網簡歷是在8月份就投了,10月13號的時候在華工進行了現場筆試,最後HR面的時候面試官跟我說其實我的筆試成績有點低(尷尬臉),當初做的時候覺得除了演算法題之外都答得挺好的呀,可能有些題目考慮的不是很全面吧。現在想想覺得自己還是挺幸運的。當天就收到一面的簡訊,一面面試官給我留下的印象十分深刻,無論是開口的第一句話:“我們不用搞得那麼嚴肅,輕鬆點就行(哈哈)”,還是面試過程中對我回答的不好的問題耐心的糾正,到最後離開的時候站起來跟我握手。整體給面試者的印象都十分深刻,相信有面過珍愛網Android的同學都會倍感親切和輕鬆吧!
珍愛網一面
介紹一下做過的專案,面試官問我手機上有沒有安裝做過的APP,自己的APP當然得裝在手機上啦,於是面試過程基本都是圍繞著這個專案展開的。
介紹一下RecyclerView的原理以及優點。
為什麼會選用Material Design?
Android 5.0之後的版本和之前的版本有什麼區別?
DVM與ART的區別?(回答得不好)
為什麼要寫部落格?
怎麼學習Android的?
專案中遇到過哪些困難?如何去解決的?
MVP與MVC有什麼區別?
Custom-Tabs-Client是什麼?(因為在專案中用到這個開源庫)作用是什麼?
Handler機制?Looper原理?
如果在主執行緒中同時建立10個Handler,會發生什麼事?(回答得不好)
HandlerThread實現原理?
Activity的啟動流程?
ActivityThread的main方法主要做了哪些操作?
對團隊有什麼要求嗎?
有哪些問題要問他的?(去面試之前使用了珍愛網的APP,發現有一個頁面有點卡頓,然後使用AS的dump View Hierarchy for UI automator觀察了這個Activity的實現元件是webview,但不是傳統的webview,而是基於騰訊的X5核心,同時注意到這個頁面需要連線網路,如果沒有網路連線的話就無法顯示內容,後來通過使用分析知道這個頁面的卡頓有一部分原因是網路連線造成的。基於這個問題與面試官進行了一番討論。)
還有什麼問題要問他的嗎?(請教了一下面試官在珍愛網工作最大的收穫是什麼)複製程式碼
面試結束之後面試官主動站起來跟我握手,我都有點受寵若驚了。分析了一下這次面試,覺得自己的技術問題上大部分答得都還行,不過有兩個問題基本屬於知識盲區,所以回答的不好。能過一面我覺得除了運氣好之外,可能是我問的兩個問題也加了不少分,第一個問題主要是我有去使用他們的產品,並且對其中的問題有自己的思考和深入的瞭解,這可能是面試官更加看中的吧;第二個問題能夠體現出我很想去珍愛網的熱情。
珍愛網二面
二面應該是總監面或者總裁面吧,面試官懂技術,會問一些技術問題,估計是CTO之類的高管。主要的問題記錄如下:
介紹一下專案,面試官同樣也拿著我的手機看專案。
專案中有沒有做一下效能的優化?優化工具有哪些?
瞭解過哪些設計模式?分別詳細說一下優缺點?
什麼情況下使用單例模式?
java中的加鎖有哪些方法?
說一下網路連線的狀態碼的含義?
說一下長連線的優點和缺點?
如何看待Android未來的發展?
為什麼會選擇學習Android?
如何學習Android?
自己有什麼優勢?
為什麼寫部落格?
專案中遇到過哪些困難?如何去解決的?
遇到過最大的坎是什麼?
有什麼問題要問他的?(面試前看了一下珍愛網的官網,注意到對應屆生有一個培養計劃————純珍計劃,於是就向面試官提問)複製程式碼
二面感覺發揮還可以,個人還是覺得問的問題還是比較重要的,要讓面試官覺得你是一個有心的人,覺得你很想來公司工作,所以從官網瞭解公司是最直接的啦!二面緊接著就是HR面了,HR小姐姐很有趣,這一輪問的問題就是對一些基本問題的瞭解了,如實回答即可。過幾天之後就收到offer通知了。
最真誠的面試————租租車
這裡說的最真誠當然不是說我自己啦,我對待每次面試都是十分真誠的啦,這裡的真誠就是指租租車的面試官們,因為公司已經經過了B+融資,今年應該是首次校招,不過從規模上來看招聘會辦的十分好,招的人數也不少。一面的面試官挺負責任的,在面試之前先瀏覽了我的部落格,以下是面試的一些問題。
租租車一面
自我介紹
介紹一下專案
說一下Retrofit原理
說一下java中4種元註解?
說一下@Retention元註解的三個取值的使用範圍和場景分別是什麼?
說一下Volley的原理
說一下Retrofit與Volley的區別和使用場景
說一下Android中的多執行緒通訊機制
說一下Android中的Binder機制原理
自定義View的流程
MeasureSpec是什麼?
View事件的分發機制
Android如何實現圖片的高效載入
java中的四種引用以及使用場景
專案中有做過效能優化嗎?如何優化的?
JVM的記憶體模型?
java有什麼垃圾回收演算法?分別是怎麼實現的?
java多執行緒的三個特性?原理分別是什麼?
java多執行緒的鎖機制有什麼實現方式?原理分別是什麼?
說說java中的集合類?
寫一下單例模式?
為什麼靜態內部類不會造成記憶體洩漏?
說一下TCP與UDP的區別?
說一下網路連線的三次握手和四次揮手?
為什麼寫部落格?
寫部落格給你帶來什麼成長?
有什麼問題想問我的嗎?(面試前使用了公司的APP,發現有一個頁面出現了bug,然後就基於這個問題與面試官展開了討論。)複製程式碼
租租車二面
租租車的二面是HR面,問的問題基本和其他的HR面相同,下面就列舉一些還記得的
家是哪裡的啊?父母對未來的工作有什麼要求啊?
有什麼優缺點嗎?
為什麼想要寫部落格呢?
覺得自己性格怎麼樣?
對未來的團隊有什麼要求嗎?
拿到哪些Offer了嗎?
對薪資方面有什麼要求嗎?
對自己未來幾年的打算是什麼?
學校什麼時候發三方啊?
還有什麼問題要問我嗎?複製程式碼
租租車的工作環境是我比較喜歡的,地點在天河大廈,辦公樓雖然只是一棟三四層的寫字樓但都是自己的,而且裝修十分講究,從門外往裡看就能明顯感受到與其他公司的差別。兩次面試加上一開始的筆試體驗都挺不錯的,去剛剛起步的初創公司確實能夠學到很多當然對自己也是一種歷練,更讓我喜歡的一點則是公司員工大部分都是年輕人,跟他們工作會相對的輕鬆些。當然最後還是很開心能夠順利拿到租租車的offer啦!
Android秋招如何準備?
其實每個人都有自己特有的學習方法,我們都需要尋找到最適合自己的,在這裡我只是列舉出我複習的技巧,大家只需要選擇適合自己的就行。
書籍和網站
我覺得看書真的是十分的重要,每一本書都有自己的知識體系,但是好書確實不多,需要經歷一番挑選;關於網站則是對一些體系較小的知識進行彙總,這裡推薦的是設計模式。以下我列舉一些個人覺得不錯的一些書籍和網站:
- Android 相關
- 《Android開發藝術探索》
- 《深入理解Android虛擬機器》
- 《Android原始碼設計模式解析與實戰》
- Java相關
- 《Java程式設計思想》
- 《深入理解Java虛擬機器》
- 《圖解Java多執行緒設計模式》
- 網路相關
- 《計算機網路》(謝希仁 編著)
- 《網路是怎麼連線的》
- 資料結構與演算法相關
- 《演算法導論》
- 《演算法》(第4版)
- 設計模式相關
- 練習相關
知識總結
看了這麼多書籍和網站之後需要對這些知識做一個比較系統的整理,這裡推薦使用思維導圖工具,不過市面上的這類工具已經足夠多了,有的收費有的免(po)費(jie),大家可以根據自己的使用習慣自行選擇,我個人使用的是mindjet,下圖則是我總結的Android複習體系圖,完整的版本大家可以點選這裡下載。
面試技巧
面試前需要對自己總結的知識重新回顧一遍,以便在被問及時能夠快速並且全面的回答問題。
面試前對該公司稍做了解,可以從官網或者從產品等方面瞭解,如果有產品的話還可以使用,看看有沒有存在一些bug,當面試官要你提問題的時候可以跟他一起討論。
面試完之後做稍做記錄,記下自己回答的不好的問題,方便查漏補缺。複製程式碼
關於簡歷
我覺得簡歷真的十分重要,如果你的學歷和能力都不是很有優勢的情況下那麼簡歷很可能就決定了你是否有面試的機會了。當然我的簡歷做得也不是很好,在這裡只是與大家一起分享我在準備簡歷過程中的一些收穫,下面一一與大家分享。
為每個公司準備一份簡歷
如果你不是去一些大型招聘會,不知道都有哪些企業過來招人,那麼你大可以用一份普遍適用的簡歷投遞出去,但如果你已經明確知道今天要去哪家公司面試了,那最好能夠為這個企業準備一份專屬的簡歷。最基本的就是在簡歷的頁首部分加上這個公司的logo,其次簡歷的文字主題色與logo相呼應,例如給騰訊的簡歷大概長這樣
要不要放照片?
首先需要宣告的是技術崗一般不看顏值,如果你能力棒棒噠同時顏值高高噠,那基本上就穩了,但如果你跟我一樣都是屌絲,那得分兩種情況討論咯。首先如果你願意花錢的話,可以到靠譜點兒的相館拍張好的證件照,記得跟老闆要電子版哦;如果你不願意花錢的話,那我建議你還是不要放照片吧。
簡歷最好要彩印
其實我在簡歷上還是很捨得花錢的,今年學校換了列印店,彩印一面需要兩塊錢,每次列印心裡都在流血啊,不過想到要給面試官留下一個好的印象,還是忍下心了。對了列印一定要用比較硬一點的紙,不要像普通A4紙那樣軟哦,這樣手感才好喲!還有最好還是單面彩印,如果你的簡歷不止一面那就打幾張用訂書機釘起來!
推薦一些實用的工具和網站
這裡並不是推薦大傢什麼簡歷模板,講真我也沒用過這些,對於技術崗的同學簡歷不需要花哨,只要條理清晰版面整潔即可,基本都是可以用我的(word)哥做。這裡推薦的是一款獲取圖片顏色的工具,還記得剛才我說簡歷的文字主題色最好與logo相呼應,那就得知道logo的RGB屬性值了,使用這款GetRGB工具則可以讓你輕鬆獲取圖片的RGB引數。使用方式見下圖哦!
另外推薦的則是一個圖示庫網站——阿里巴巴向量圖示庫,在上面幾乎可以找到你所需要的圖示,並且可以自定義顏色與大小,還是免費的哦!以後媽媽都不用擔心我找不到圖示了。
後記
作為一個Android本科渣渣,在秋招中雖然也經歷過失利與彷徨,但對最終的結果還是很滿意的。這段時間很感謝身邊人對我的幫助,感謝我實習的領導給我的意見和幫助,感謝面試過程中遇到的所有面試官以及結識的朋友們,也感謝我的老師同學朋友一直以來對我的幫助,當然也要感謝我爸媽對我的培養,最後的感謝留給自己,感謝自己學習Android一路來的堅持和努力。希望這篇文章對你有用,同時也祝大家能夠實現自己的目標找到心儀的工作!