第一面,視頻面試
問的基礎的比較多,因為還涉及到音視頻的開發,所以音視頻方面的知識點也問了一些
-
常見的屬性修飾符有哪些,使用copy應該注意些什么
-
深拷貝和淺拷貝區別
-
atomic 真的安全么,加的鎖是哪種鎖
-
iOS中內存管理是怎么樣的
-
自動釋放池原理,本質
-
常見的內存泄漏有哪些
-
block 出現循環引用的原因
-
線程和runloop之間的關系是怎么樣的
-
GCD 中串行並行隊列,同步異步的區別
-
有遇到過死鎖么,怎么產生的
-
runtime查找方法的過程
-
runtime 是怎么實現weak置nil的
-
關聯對象是線程安全的么
-
isKindOf 和 isMemberOf 區別
-
iOS Class結構
-
load 和 initialize 區別
-
說一下kvo實現的原理,使用kvo需要注意什么,手動觸發應該怎么做
-
有多個分類實現同一個方法,最后會執行哪個
-
iOS 產生卡頓的原因,什么是離屏渲染
-
沙盒文件目錄
-
說一下從點擊屏幕開始到某個按鈕觸發中響應鏈傳遞機制,如果要更改響應范圍怎么做
-
常用的鎖有哪些,性能怎么樣
-
xcode從開始編譯到app出現第一個界面中之間進行了哪些工作(分成xcode編譯成功和app啟動講的)
-
音視頻開發的簡單流程
-
PCM 數據格式是怎么樣構成的
-
常見的音頻壓縮方式,優缺點
-
算法題:鏈表的反轉
-
有什么要問的么?
第二面,視頻面試
-
項目中哪個功能最能體現自己的技術實力?具體講一下
-
對mvvm,mvc的理解,項目中怎么體現的
-
有用過多線程技術么,在項目中怎么做的
-
iOS 單元測試簡單流程
-
查找算法的實現
-
對hash算法了解么,iOS中哪些地方用到了hash算法,hash沖突怎么解決
第三面,電話面試
-
項目中哪個功能最能體現自己的技術實力?具體講一下
-
常見的崩潰有哪些,遇到崩潰問題怎么查找解決,遇到無符號化的崩潰怎么處理
-
數據庫讀寫安全,表結構發生變化,怎么合理更新數據庫緩存
-
設計模式有哪些,在項目中怎么體現的
-
app性能優化(分別從cpu和gpu優化去講的)
-
除了oc,有學習別的語言么,一般是怎么學習的
-
為什么離職,離職原因說一下
第四面,視頻面試(不同的面試官)
-
為什么離職,為什么不考慮轉崗
-
項目中哪個功能最能體現自己的技術實力?具體講一下
-
選一個功能實現,講一下實現思路和方案,遇到問題是怎么解決的
-
為什么做iOS, 有看過iOS相關的書籍么
-
講一下https 數據發送過程
-
看過iOS相關的源碼實現么,realizeClass做了哪些, class_rw_t和class_ro_t 區別
-
手畫一下mvvm結構圖,講一下你的理解
-
不用臨時變量交換兩個int類型數(加減法,但要注意邊界值溢出問題,有符號 -231~231-1,無符號 0~2^32-1)
-
設計一個緩存機制需要注意哪些點(lru算法,線程讀寫安全)
-
寫一下lru算法(雙向鏈表+hash)
-
有什么要問的么?
第五面,電話面試
-
http1.1和2.0有什么區別,Keep-Alive模式
-
tcp長連接和短連接的區別
-
mvvm,mvp,mvc的區別
-
面向對象設計的六大設計原則是什么
-
紅黑樹有了解么
-
如何用兩個棧實現隊列功能
-
常見的鎖有哪些,實現奇偶數交叉打印
Ps:題集收錄於網絡,如有侵權,請聯系小編刪除;
文末推薦:iOS熱門面試文集