第一面,視頻面試
問的基礎的比較多,因爲還涉及到音視頻的開發,所以音視頻方面的知識點也問了一些
常見的屬性修飾符有哪些,使用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熱門面試文集