4月初的在線筆試過了之後預約了5月6號的面試。
一個月來斷斷續續補了前幾次筆試面試缺漏的內容,CoreData,內存管理,數據結構等內容。
這段時間給我的感覺就是經常在實戰打代碼,有時候還是要回來補補理論的東西,才能達到理論與實踐相結合的效果。
五一休息幾天之後,今天一大早準備了一下便出發。
到了面試酒店之後,安排到等待處等待,叫號之後直接進入大廳面試。
入座之後問我看了什麼書,回答:Object-C programing language,Program in iOS7,Effective Object-C 2.0
面試所問到的知識大概可以分爲幾個方面項目經驗,Object-C及iOS,數據結構與算法,操作系統。
項目:上了AppStore看了看我的發佈應用,在我手機上操作了一下我的應用,問在項目中我用了什麼設計模式,在項目中用了GCD嗎,怎麼實現不同屏幕分辨率的適配
打開了我的應用之後,點擊頁面居然發生了卡頓;
關於項目中的設計模式,我回答用了最基本的MVC模式並大概解釋了一下;GCD在tableVIew的數據加載中用輔助線程加載了圖片, 並做預加載;
不同分辨率的話,回答代碼上用VFL實現Autolayout,IB用了sizeclass,大概是這樣。
Object-C及iOS:在一個類中增加NSString 類的函數如何實現;觀察者模式用object-c怎麼實現;delegate在object-c中怎麼實現;新版Xcode有什麼變化;swift語言有什麼特性;include和import有什麼區別。
第一問,寫了個category基本解決;
第二問寫了一個Notification的post和addObsever,覺得回答得太簡單了;
第三問回答了在model裏面加載數據,利用委託通知viewController,其實正確的應該是定義一個protocol,再定義一個Delegate實現兩個類間的數據傳送,亦或者是嵌套類簡的數據回傳;
第四問只回答出了storyboard的操作更方便,其實還有playground及其他的功能我都沒答上來。
cocoa china 的介紹:http://www.cocoachina.com/ios/20140823/9441.html
第五問,include和import之前看一些面試題的時候看過,居然給忘了,悲劇。。。。
數據結構與算法:1.如何判斷鏈表是否爲循環鏈表;2.給出一個葉節點如何找到與其最接近的葉節點,就是經過的路徑最短的
第一題兩個指針一前一後跑搞定;
第二題想了一下沒有最好的解法,給出一個從葉節點出發遍歷的算法。
操作系統:1.進程間怎麼通信;2.怎麼解決死鎖;3.進程和線程的進程和線程的區別
第一題答了管道和socket,其實應該還有共享內存空間;
第二題直接給了中斷線程,囧~~
第三題回答進程是系統裏面程序運行的基本單位,一個進程可以有多個線程,無法回答完整,還是需要補漏。
面試之後,覺得對於簡歷上的東西真的要非常熟悉,否則面試官從簡歷上的信息題問題不會的話真是吃大虧,然後算法數據結構操作系統網絡數據庫這些基礎還是要熟知。
關於iOS開發,不僅要基礎的知識,語言的特性理解,對於一些官方新發布的特性也要謹記,比如swift,xcode開發工具等等的特性。
剛剛收到消息,今天有的同學已經進行二面了,而我一點消息沒收到。
不說了,該考慮去搬磚了,T T