iOS 客戶端開發的三面。
這次的面試官,一聽他說話,年紀就不小了,感覺差不多也是個全棧。他問的 iOS 相關的問題我 90% 都答上來了,提到操作系統、計算機網絡、算法之類的,我直說因為長期不投入實用,都忘了,他就說那就不問這方面的了,最后還勸告說,這些更多是方法論的東西,建議我學好,下面是他問了的 iOS 相關的問題:
(我在簡歷上寫自己獨立開發了幾個 App)說一下你自己做的那個 App(隨便挑了一個)
(我大概闡述了產品方向之后,他問我技術上最難的是什么,然后隨口提到了要保存圖片到相冊)
關于 iOS 系統相冊,有哪些相關方案可以獲取?
以前的 AssetsLibrary 和現在的 Photos 框架都知道嗎?
(我說了關于現在引入 Photos 和 PhotosUI 之后可以獲取 LivePhoto 的問題)都熟悉哪些框架,有沒有特別了解的?
(我說我熟悉 WebKit,然后他就問了我 GCD = =)(發現我會用 GCD 之后)能不能說一下底層?
-
(我說我知道點 ARC 相關的底層實現,就說了一通,他很滿意,這里要強烈推薦下面這本書)
Objective-C 高級編程
同類型的問題還有 assign、weak 的區別,ARC 如何實現,編譯時、運行時區別,weak 屬性的對象在廢棄后 指針是如何指向 nil 的……
平時了解一些架構嗎?
(我說我知道 MVC、MVVM。其他的光知道沒用過,不敢拿出來裝B)說一下 MVVM
(淚奔,難得在面試的時候能碰上自己很熟悉的,推薦不熟悉的看看最近挺火的文章《面向協議的 MVVM 架構介紹》)知道 KVO、KVC 嗎?
(雖然這個東西大家都在用,但是查一下還是能查出來一些自己不知道的,心里沒底的,建議現在就去 Google 一下)你平時做 App 之后,有什么推廣途徑?
(其中我提到了一些推廣平臺,國內的有 36Kr 的 NEXT、愛范兒的 MindStore 和 AppSo,國外的有 ProductHunt,好像他在聽的時候還在一邊拿筆記,人家也還在學習啊~)