前言
關(guān)于面試題飒筑,可能沒那么多時間來總結(jié)答案片吊,大家可以互相留言討論协屡。個人主要記錄一下準備過程俏脊,和面試的一些總結(jié)肤晓,希望能幫助到正在面試或者將要面試的伙伴。
一面:
1补憾、分類相關(guān)
2漫萄、iOS 內(nèi)存機制以及管理方案詳細說
3、http三次握手四次揮手
4盈匾、GCD 與NSOperation相關(guān)問題
5、SDWeablmage流程以及你設(shè)計圖片緩存的你怎么設(shè)計
6削饵、KVO的原理
7岩瘦、assign和Weak區(qū)別以及其他關(guān)鍵字
8、+load和+initialize
9窿撬、編譯器幫你加retain release 原理
10、websocket和 http長連接的區(qū)別
11 劈伴、算法:[1,2,3,4,5,6,7,8,9] k=3密末,把數(shù)組轉(zhuǎn)換成[7,8,9,1,2,3,4,5,6],就是一個數(shù)組通過K的值把數(shù)組后K位挪動到前面严里。
二面:
1、runtime相關(guān)赡模,你所使用的runtime 相關(guān)的方法
2田炭、runloop機制漓柑,原理教硫,流程
3、散列表的構(gòu)成以及原理
4瞬矩、app 從點擊圖片進入到結(jié)束的經(jīng)歷
5茶鉴、dyld 怎么加載動態(tài)庫
6、僵尸對象原理
8景用、設(shè)計一個日志系統(tǒng)
9、mmap 怎么保證數(shù)據(jù)不丟失
10伞插、為什么會發(fā)生OOM割粮,發(fā)生后iOS系統(tǒng)是怎么殺掉APP的
11、FFmpeg的理解
12媚污、app中的直播,你怎么去規(guī)劃或者說你是怎么去考慮架構(gòu)的以及整個流程?(個人主要是從推流端耗美,拉流段京髓,解碼這三方面去說的比較理論化)
13、算法
數(shù)組是否可以三等分
設(shè)計一個集合類堰怨,包含兩個方法,add()可以插入數(shù)據(jù)蛇摸,query(_n:int)->可以查找集合不大于入?yún)⒌囊粋€元素备图,兩個方法的時間復(fù)雜度
文末推薦:iOS熱門面試文集