前言
關于面試題,可能沒那么多時間來總結答案,大家可以互相留言討論。個人主要記錄一下準備過程,和面試的一些總結,希望能幫助到正在面試或者將要面試的伙伴。
一面:
1、分類相關
2、iOS 內存機制以及管理方案詳細說
3、http三次握手四次揮手
4、GCD 與NSOperation相關問題
5、SDWeablmage流程以及你設計圖片緩存的你怎么設計
6、KVO的原理
7、assign和Weak區別以及其他關鍵字
8、+load和+initialize
9、編譯器幫你加retain release 原理
10、websocket和 http長連接的區別
11 、算法:[1,2,3,4,5,6,7,8,9] k=3,把數組轉換成[7,8,9,1,2,3,4,5,6],就是一個數組通過K的值把數組后K位挪動到前面。
二面:
1、runtime相關,你所使用的runtime 相關的方法
2、runloop機制,原理,流程
3、散列表的構成以及原理
4、app 從點擊圖片進入到結束的經歷
5、dyld 怎么加載動態庫
6、僵尸對象原理
8、設計一個日志系統
9、mmap 怎么保證數據不丟失
10、為什么會發生OOM,發生后iOS系統是怎么殺掉APP的
11、FFmpeg的理解
12、app中的直播,你怎么去規劃或者說你是怎么去考慮架構的以及整個流程?(個人主要是從推流端,拉流段,解碼這三方面去說的比較理論化)
13、算法
數組是否可以三等分
設計一個集合類,包含兩個方法,add()可以插入數據,query(_n:int)->可以查找集合不大于入參的一個元素,兩個方法的時間復雜度
文末推薦:iOS熱門面試文集