百度三面
過年放假下學期沒啥事情不用去學校啦,想著找找實習機緣巧合下獲得了百度的面試機會這里分享下經驗(面的百度鳳巢部門iOS開發崗位)
一面
一面的面試官好像不是個iOS(他用的電腦不是Mac)所以他問的問題大部分都屬于在學校學習的部分我以為面試完就和小伙伴玩耍去了所以問題有些忘了但是盡量回憶(?本來是在一面二面三面的切換的時間記下來了但面試結束他把我的紙拿走了我又不要意思要回來。。。)
一面問題:
- 自我介紹(這就是有啥說啥唄)
- 講下關于自己做的項目(我說了一個在學校和老師合作的物聯網項目)
面試這些問題大家都懂的都必須要說的
- 講下關于HTTP/UDP/TCP 的區別
- 講下關于socket和http的區別(因為項目用到了socket)
這里問的主要是關于網絡相關的因為好久沒有看過其實答得并不是很好
- 說下關于線程和進程
操作系統部分的
- 談些平時用的設計模式(我說了下MVC然后又簡單提了下MVVM)
設計模式
- 寫一下怎么實現一個工廠類(工廠模式)說實話我還真不知道怎么去表達這個工廠模式 我問了下怎么表示用iOS么(我覺得他不是iOS我故意的想趁機多想想)結果面試官說句偽類就OK(然后我就用的語言的偽類表達了下。。。我覺的自己那個寫的有點不明白還特意跟他解釋了下)
- 寫下用鏈表實現棧 實現push pop方法
這是手寫的部分
- 說下Delegate和Block的區別(iOS)
估計大哥感覺我以為他不是iOS所以問了一個這個,我就簡單說了下說著說著我覺得他不是iOS就多說了好幾句想著他也不太清楚(好害怕。。。抖機靈了)
寫完這些差不多時間過去了快40分鐘左右(期間可能還有些問題但是真的想不起來了,但是大概都是學校學的不難都有回答出來)完后一面就結束了老哥說去找下二面看看二面有時間么和我聊下,然后我就在那坐著等著。總的一面還算OK我自己覺得學校的知識扎實點應該沒啥問題,而且面試官很溫柔就是說話有點聲音下俺都有點聽不清。。。
順便觀察了下百度大廈內部~ 面試是在百度科技園的2號樓 總的來說概括就是大氣,干凈。地板泛著光,而且整個大樓的采光不錯很亮堂,我們在一樓的休息區面的旁邊還有可能是小組再開討論會之類的大家又說有笑感覺挺不錯的整體的氛圍。
二面
等了5分鐘左右吧二面小哥來了,小哥哥上來就說我是咱們組的iOS。。。。(嚴重懷疑我抖機靈被發現了)
用iOS實現單例模式(實錘肯定是一面告狀了) 這個有點記得不是很清楚了就說出來了涉及到GCD還有重寫copy方法之類的
Delegate和block的區別 平時怎么使用的 各有什么優缺點
寫下聲明一個NSString和block
為什么NSString用copy 如果不用strong會怎么樣 NSArray用是什么修飾
NSMutableString用什么修飾 如果用copy會用問題么
block為什么用copy
block循環引用的原因 解決
堆棧的概念(這應該是問到block會拷貝到堆區所以才問了下)
block的原理(這里我說的不太清楚 面試官又給我講了下)
平時用的常用的三方庫有啥 我說的AFN和SD
說下AFN的原理和總體的架構
SD的整體思路
多線程的使用 什么場景下使用子線程
鎖的相關概念
GCD的原理和操作
因為簡歷寫了關于視頻的部分所以問了下關于視頻但是我們視頻那個用的是FFmpeg所以我就簡單說了下
長鏈接的應用
是否用過原生于web交互
數據結構圖的概念和操作
二叉搜索樹和平衡二叉樹的概念
調平二叉平衡樹
寫下樹的先序遍歷的遞歸非遞歸
完后我還想給面試官看下我的作品,面試官說時間差不多了(這一面差不多過了1個小時左右)我當時聽他說時間差不多了,慌了以為涼了,他說讓我等下去和三面商量下如果沒有三面會把我送出去。
哎 當時有點緊張了因為這一面的東西有的我記得不是清楚像第一個問題的單例我就沒寫出來,而且回答AFN和網絡請求那個部分的有些問題說的太泛了(不具體沒說到點上)反思就是自己的項目沒有及時的去復習里面學到的東西,而且對于有些知識點的掌握停留在了解的地步還不夠深入。
但二面小哥還是很好的整體的面試過程想是在討論問題。
三面
過了一會有人叫我我以為是二面的小哥要送我上路我一回頭發現不是一個人。。。我心里笑開花了看來還有機會啊。三面的話沒有問什么具體的問題。看來看我的作品問了問簡單是實現,三面應該是iOS這邊的組長之類的,我簡單一說他就說。。哦 知道了。 我當時還以為他想快點吧我糊弄走呢。。。后來多聊幾句發現這是他的口頭禪。很好交流的面試官,簡單問我幾個問題之后,給我介紹了他們部門,然后就讓我走了,還問了問關于生活的小問題,說整體感覺不錯。然后就讓我等通知了。
總結
面試沒問什么很難的問題,但是都很基礎,很考驗自己寫的能力,代碼都是手寫的。要把知識學扎實,尤其是小的細節問題,這是我一直在學校就感覺自己做的不好的地方,以后要更加的注意遇到問題多想想原因。最后我覺得我能收到面試通過的消息得力于我那個幾個算法寫的還不錯,所以要把算法提起來,多翻翻書。
ps:因為面試完剛好到了小伙伴那邊就想著找他待會,晚上又聊了好多睡得比較晚,今天回家歇會就趕快把題目上來,但是還是忘記了些細節,我會繼續努力回憶把細節再補一補,答案也在這周會補全