一瞬沦、UI視圖
其中包括事件傳遞、視圖響應雇锡、UI布局逛钻、繪制、Tableview重用機制的理解等基本技術(shù)點锰提,也包括如離屏渲染曙痘、流式頁面的性能優(yōu)化、異步繪制立肘、UI渲染機制等偏底層技術(shù)的考察边坤。
二、Objective-C語言
其中包括如KVO谅年、KVC茧痒、分類、擴展融蹂、關(guān)聯(lián)對象等系統(tǒng)實現(xiàn)原理和機制旺订,以及NSNotification、屬性關(guān)鍵字等相關(guān)技術(shù)點的考察超燃。
三区拳、Runtime
可以說是中級以及以上工程師的必備技術(shù)要求,面試官往往會考察大家對對象意乓、類對象樱调、元類對象的理解、消息傳遞機制、消息轉(zhuǎn)發(fā)流程本涕、Method-Swizzling业汰、ISA-swizzling、動態(tài)方法解析菩颖、動態(tài)添加方法等样漆。
四、內(nèi)存管理
可以說是高階考點晦闰,也是難點放祟,中高級及以上無法回避的問題∩胗遥考察內(nèi)容基本包括:weak自動置nil跪妥、ARC、MRC声滥、自動釋放池的實現(xiàn)原理眉撵、循環(huán)引用、引用計數(shù)管理思想等落塑。
五纽疟、Block
iOS當中非常重要的OC語言特性,自然也是面試澈读蓿考點污朽。其中包括截獲變量特性、__Block關(guān)鍵字龙考、Block的本質(zhì)蟆肆、Block的內(nèi)存管理和循環(huán)引用等。
六晦款、多線程
面試高級考點炎功。iOS常見的多線程技術(shù)NSOperation&NSOperationQueue 、NSThread柬赐、GCD亡问;那么面試過程當中,往往會結(jié)合實際代碼考察大家對多線程技術(shù)的掌握深度肛宋,包括對于常見鎖的考察州藕,如NSLock、遞歸鎖酝陈、自旋鎖床玻、條件鎖等等。
七沉帮、RunLoop
相信大家都知道RunLoop可以有事做事锈死,沒事休息贫堰,面試當中的考察可能要更深入些,RunLoop為什么會有事做事沒事休息待牵,系統(tǒng)是怎樣實現(xiàn)的其屏。再比如怎樣實現(xiàn)一個常駐線程、RunLoop和線程的關(guān)系是怎樣的等等缨该。
八偎行、網(wǎng)絡(luò)
其中包括HTTP相關(guān)的中間人攻擊、HTTPS的連接建立流程贰拿、對稱加密蛤袒、非對稱加密、DNS劫持膨更、TCP的滑動窗口協(xié)議妙真、可靠傳輸是怎樣保證的,以及TCP的慢啟動特點荚守,Session/Cookie的區(qū)別等等珍德,這些都是面試中高級崗位必考問題。
九健蕊、設(shè)計模式
其中包括常見的軟件設(shè)計原則菱阵,責任鏈踢俄、適配器缩功、橋接、命令都办、單例嫡锌、策略模式等等,面試官會讓你結(jié)合實際業(yè)務場景琳钉,現(xiàn)場考察你對設(shè)計模式的運用和理解的势木。
十、架構(gòu)/框架
其中包括常見的如怎樣設(shè)計圖片緩存框架歌懒、網(wǎng)絡(luò)框架啦桌,客戶端的整體架構(gòu)怎樣實現(xiàn),常見的解耦方式有哪些及皂,大部分人都知道OpenURL是一種解耦方案甫男,那依賴注入這種方式可能很多人會感到陌生,這也是面試官期許的答案验烧。
十一板驳、算法
其中包括BAT、TMD經(jīng)嘲穑考察的有序數(shù)組歸并若治、鏈表反轉(zhuǎn)慨蓝、字符串反轉(zhuǎn)、大數(shù)相加算法思想等等端幼,這部分變化就很多了礼烈。
十二、第三方
常見的AFNetworking婆跑、SDWebImageView济丘、Reactive Cocoa、React Native等的原理洽蛀。