面試干貨:2017年秋季校招面經(jīng)(華為、騰訊、360、網(wǎng)易)
來源:
奇酷教育 發(fā)表于:
2016-11-21 10:55:30
這篇文章記錄的是2016年8月中旬至9月下旬期間一位同學(xué)參加的校招,這位同學(xué)將過程記錄下來給需要的人看,奇酷教育整理如下,希望能讓正
這篇文章記錄的是2016年8月中旬至9月下旬期間一位同學(xué)參加的校招,這位同學(xué)將過程記錄下來給需要的人看,奇酷教育整理如下,希望能讓正在求職的同學(xué)們有所啟發(fā):
華為提前批(跪在性格測試):
介紹我之前項目,針對我的項目中的點詢問是如何實現(xiàn)的
Activity生命周期?為什么Activity要這么設(shè)計?這樣設(shè)計有什么好處?
Android與iOS運行機制上有哪些不同?
為什么Android用起來沒有iOS流暢?為了讓Android系統(tǒng)更流暢,應(yīng)該從哪些方面做好?
如何讓Service不被殺死?
Android系統(tǒng)分層?Library層起什么作用?
如果一個應(yīng)用要升級需要注意哪些方面?(我回答服務(wù)端api要兼容,如果只是小bug就通過補丁方式,但是貌似面試官不滿意,就引導(dǎo)我說數(shù)據(jù)方面的,我才知道原來是想要我說本地數(shù)據(jù)的兼容)
問我有什么要問他的?
還有其他的一些問題,記不太清了….
二面:
二面是一個中年男人,一開始很嚴肅,聊了幾句后它就笑嘻嘻了。
首先叫我介紹自己
本科在哪讀的(普通二本)
家里有多少人,是農(nóng)村的還是城市的,家里生活水平怎么樣?
有沒有女朋友、女朋友是哪里人、女朋友有沒有工作?
為什么不留武漢(我簡歷填杭州),不留武漢你女朋友同意嗎?
選一個你收獲最大的項目來談?wù)??(后面就是針對我的項目一直聊~)
二面大概30分鐘左右,后面說我的性格測試沒通過,讓我重新再做一次。然而,第二次性格測試還是沒通過,最終我還是因為性格測試沒通過的原因,與華為無緣。。。。
騰訊內(nèi)推TST(已拿到offer):
1.自我介紹
2.跟我提簡歷里面的項目,如何實現(xiàn)的?具體原理?如果出現(xiàn)XXX情況,會不會出現(xiàn)XXX問題?
3.Android 消息機制,Looper、消息隊列等
4.Android事件分發(fā)機制
5.自定義過View嗎?回答有自定義過,然后談了下(普通View)onMeasure、onDraw。針對ViewGroup談了下onLayout,然后還有就是需要注意onDraw不要做過于耗時的任務(wù),防止卡頓。
6.Java中的多線程:Thread、Runnable
7.Java中的同步問題?Lock、Synchronized
8.類的加載過程?五步
9.TCP與UDP區(qū)別 10.10萬個整數(shù)中找出排序后的前10個數(shù)(Top N 問題),及其對應(yīng)算法復(fù)雜度
11.10萬個整數(shù)中,每個整數(shù)取值[0,99],找出排序后的中間位置的數(shù)(中位數(shù))
12.堆排序的算法復(fù)雜度
13.面試官說,大概就這些了。緊接著想要掛電話的樣子,我趕緊說,我可以問您幾個問題嗎?面試官說當然可以。我就問了以我當前的水平能否符合您們的要求?面試官說我覺得你還不錯。緊接著問了一下大概等多久才能進入下一場面試,面試官說會盡快安排,可能會再周末。
現(xiàn)場二面
面試官非常nice,整個過程很挺順利。
1.針對項目詢問
2.TCP擁塞機制
3.手寫代碼,針對Top k問題
4.如何做到多個線程訪問同一個數(shù)組,既要線程安全,同時提高讀寫效率(我是通過分段鎖的思想,說了一下自己的想法),后面還讓我手寫代碼實現(xiàn)。
5.還有很多內(nèi)容,忘記了。。。
現(xiàn)場三面
三面面試官據(jù)說是總監(jiān),反正我是被打壓的抬不起頭。不得不說,總監(jiān)級的人物技術(shù)確實牛逼。首先看了我的簡歷,然后說簡歷里面的項目經(jīng)驗太簡單了。。。。
1.什么是內(nèi)存對齊?
2.C++內(nèi)存分為幾種類型?(我對C++不熟,就說了JVM中的內(nèi)存分類)
3.如何壓縮一篇文章?
4.java類加載過程?(這個我很熟,里面滔滔不絕,然而,得到的回應(yīng)是:背的倒是挺熟)
5.Java那些類是final?(除了String,我真的不知道還有哪些),只回答了String,面試官說,還有呢?(回答不出來了。。。)后面查了下,其實Math類也是final,面試官說日期類有很多,但是我回頭查了下,還是沒查到哪個日期類是final。
6.快結(jié)束時,面試官說,就到這里吧,你很幸運,我沒有讓你現(xiàn)場手寫代碼。因為我當時覺得這次面試面的很差,我就回答,我愿意嘗試手寫代碼。然后面試官出了2道題:如何逆轉(zhuǎn)字符串?如何實現(xiàn)“ I am Student”轉(zhuǎn)為“Student am I”?兩道題都很簡單,劍指offer里面都有。我一聽到這個問題心里就呵呵一笑了,立馬說出如何實現(xiàn)。然后,面試官說行,就到這了。
雖然炮轟式的提問,但是我的記憶力確實很差。。。目前只記得這些。。。后面想到再補充。二面完了之后,我覺得直接都掛了,因為好多跟C++相關(guān)問題我都回答不出來(畢竟我只搞Java 、Android),在面試官面前,自己確實很菜。
現(xiàn)場HR面
1.家在哪?
2.本科是哪個學(xué)校?
3.有沒有親戚在騰訊?
4.有沒有女朋友?
5.你來深圳了,女朋友怎么辦?(回答跟我一起來)
6.你實習(xí)過嗎?回答實驗室不允許我們實習(xí),然后HR說,那相比那些實習(xí)過的人,你的優(yōu)勢是什么?
7.你有什么問題問我嗎?
奇虎360:
下午2:00開始,到4:30,一共面了3面:一面、二面、HR面。不得不說,360辦事效率真的很高,覺得你OK,就立馬給你安排下一面。360整體感覺比較偏向詢問項目中的問題,所以有好的項目經(jīng)驗比較重要。
一面:
其實之前有整理一面的問題,但是是寫在紙上,然后那張紙被我一不小心當垃圾扔了。。。。所以現(xiàn)在回想的起來的問題很少。。。
手寫ListView(可能是考我會不會想到ViewHolder)
記性真的很差。。。想不起來了。。??傊?,一面一般問的比較基礎(chǔ),大部分人都能通過。
二面:
你知道B樹嗎?B樹用到哪些場景?
用過JNI嗎?
生活中有沒有遇到一些事情,你通過程序來解決的?
針對項目問了很多問題….
其他很多問題忘記了。。。。
HR面:
先是自我介紹。大致介紹了一些后,居然發(fā)現(xiàn)不知道該說什么了。有點尷尬!HR姐姐就一直看著我。。。實在看不下去了,就說,那你介紹下你做的項目吧~。
大致說一下做過的項目
本科學(xué)校是哪里?我回答桂電,數(shù)學(xué)專業(yè)!然后HR姐姐就說,你學(xué)數(shù)學(xué)的跟我們學(xué)計算機的槍飯碗啊!我回答第一臺計算機是數(shù)學(xué)家發(fā)明的,所以不能說我是搶計算機飯碗~
為什么要來北京?(其實我并不想去北京,只是360沒其他地方可選~)
你了解360的產(chǎn)品嗎?用過哪些產(chǎn)品?
你覺得360靠什么盈利?
假設(shè)一個場景,你正在做一個app,deadline快到了,但是產(chǎn)品設(shè)計提出新的需求你會怎么辦?新功能到底加不加?(加的話可能有新BUG,不加的會如何跟產(chǎn)品設(shè)計解釋?)
其他問題忘記了。。。。
后面得到通知,成功稱為360的備胎。。。。
網(wǎng)易:
吐個槽,原本安排5:20開始面的,想著那么晚,提前過去看看能不能提前面試。從2:30就趕過去,結(jié)果直到6點才輪到我。硬是坐了一下午!
一面
如何讓Service不被Kill
Volley框架原理?
除了Volley你還了解哪些框架?
點擊事件機制?
簡單的算法:打印100以內(nèi)的所有質(zhì)數(shù)(PS:沒有比這個更簡單的面試手寫算法題了)
熱補丁技術(shù)?
插件化技術(shù)?
如何判斷對象的生死?
垃圾回收算法?
新生代,老年代?
http與https區(qū)別?
加密算法你學(xué)過哪些?
hashcode與equals區(qū)別?
HashMap里面的hash映射?如何實現(xiàn)根據(jù)Key的hashcode找到下標?HashMap做了哪些優(yōu)化?
二面
二面的面試官基本沒有準備問題,都是拿著簡歷對著問,所以不同人的簡歷可能問的差別很大。
把你所知道的設(shè)計模式說出來
C語言中的編譯和鏈接過程?
Java NIO是啥?
進程和線程區(qū)別?
其他問題基本是圍繞項目問的。
HR面
總結(jié)3個你的性格缺點
如何看待阿里搶月餅事件?如果是你你也會去寫插件搶嗎?
如何看待百度貼吧事件?
家庭情況?
本科是什么專業(yè)?
為什么當初會考研?為什么會選擇考武漢大學(xué)?
有女朋友嗎? 女朋友是做什么的?
最讓你有成就感的事情是什么?
后面還有其他公司的面試嗎?
現(xiàn)在手上有其他公司的offer嗎?
網(wǎng)易最后還是跪了,主要是二面沒面好。二面面試官從我剛進門就沒有給好臉色,聊不到一塊去,后面我回答問題時,面試官沒有正眼看過我。所以找工作這件事,運氣也很重要,遇到聊得來的面試官,一切都好辦。
滴滴(已拿offer):
一面
一開始一面面試官沒正眼看我一眼,瞬間我就覺得,糟了,這肯定要跪了!剛開始問了幾個簡單的問題,我回答了后,他依然沒有重視我。然后他就讓我說說binder機制,我把《簡單明了,徹底地理解Binder》 這篇文章跟面試官說了一遍,瞬間面試官眼睛亮了!他突然好激動,他說,今天我面了一天了,你是我面的最好的。然后立馬加了我微信。后面面試官說,二面你不用面了,直接去綜面。
二面
因為一面面試官說二面免了,所以直接去綜面了。
綜面
綜面面試官沒有問android相關(guān)問題,就是一直問算法、考算法。算法題目我忘記了,大致記得就是一個數(shù)組,只有2個數(shù)是相同的,其他各個數(shù)是不同的,找出這個相同的數(shù),并且要求時間復(fù)雜度和空間復(fù)雜度都是O(n)。還有其他算法題,記不住了。
樂視(已拿offer):
一面:
相隔時間比較久,記憶的內(nèi)容也不多,樂視一面面的挺久,大概1個小時。跟面試官討論的主要問題是Binder跨進程問題,其實也就是我把我寫的《簡單明了,徹底地理解Binder》 這篇文章跟面試官說了一遍。然后再一起討論設(shè)計模式什么的,當然了,面試內(nèi)容也不僅僅這點,大部分問題跟前面重復(fù),具體我也想不起來了。
二面
二面面試官是負責(zé)樂視的基于webkit瀏覽器開發(fā)。能記下的內(nèi)容不多,我記得的問題有:你覺得瀏覽器難點在那?然后還有就是問了一下項目相關(guān)的問題。最后給了個智力題:在平面上畫線,最多能將屏幕劃分為多少個區(qū)域,比如一條直線能將平面分為2個區(qū)域,2條直線最多分為4個區(qū)域,那么n條直線最多分為多少區(qū)域?
HR面
拿了哪些公司offer了呀?
為什么選擇樂視呀?
去北京離你家那么遠,你能接受嗎?
你都拿到其他公司offer了,怎么還來面樂視呢?
其他問題。。。
樂視后面還給我加面了,專門打電話讓我去加面。加面的面試官居然不知道我是加面的,以為我是來二面,我特意提醒了下后,他才知道。后面簡單聊了下后,就讓我回去了。很遺憾,雖然加面了,我最終拿到的樂視薪資依然是白菜價。
雖然好多問題我都忘記了,但是其實各個公司面試官問的android基礎(chǔ)問題就那些。二面基本上都是問項目,所以建議大家一定要準備好項目,要不然二面就很難通過。另外有些二面面試官喜歡問算法,問智力題。大部分二面面試官不會問android基礎(chǔ)。