關於面試題,可能沒那麼多時間來總結答案,有什麼需要討論的地方歡迎大家指教。主要記錄一下準備過程,和麪試的一些總結,希望能幫助到正在面試或者將要面試的同學吧。
- 一面
-
iOS反射機制
-
iOS的timer和CADisplay的區別
-
二叉樹,二叉平衡樹,AVL,紅黑樹,B樹的區別
-
二叉樹公共節點
-
隨機數生成,真隨機數和僞隨機數
-
不用第三者,怎麼交換兩個數
-
1000個瓶子,裏面有1瓶毒藥,只有10只老鼠,老鼠吃了之後一星期會死亡,怎麼測試。
- 二面
-
UI的渲染步驟,視圖打包流程,cpu和gpu工作,爲什麼要雙緩衝區
-
圖片怎麼顯示的,以及圖片緩衝區
-
NSObject結構體裏面有什麼,大小爲什麼是16字節
-
KVO怎麼實現,_會不會觸發,成員變量會不會觸發,kvc+成員變量會不會觸發,不用setter怎麼觸發kvo
-
操作系統內存佈局,有什麼區
-
一個OC對象的內存佈局
-
滑動優化怎麼搞
-
什麼是runtime,什麼是runloop,有幾種mode
-
NSObject的內存佈局
-
isa指針和super指針
-
元類是什麼
-
所有OC對象都繼承與NSObject嗎,id是什麼
-
SDWebImage的清除緩存策略
-
block是什麼
-
LRU算法怎麼實現
-
Swift和OC的方法調用
-
兩個鏈表的公共結點
-
鏈表中環開始的地方,原理說出來
-
項目裏面最體現你技術的點。
- 三面
1.什麼是hash
2.hash的具體實現,程h序裏面一個對象怎麼通過hash定位到具體的內存區。
3.hash數組擴容
4.一個天平,4個砝碼,能秤出多少種重量。