抖音--最新iOS面試題總結

關於面試題,可能沒那麼多時間來總結答案,有什麼需要討論的地方歡迎大家指教。主要記錄一下準備過程,和麪試的一些總結,希望能幫助到正在面試或者將要面試的同學吧。

一面

  1. 最近公共父節點(兩個節點,都可能爲null,都可能不在樹上。)

  2. 反轉鏈表(常規題)

  3. HTTP瞭解嗎?HTTP2.0介紹下

  4. iOS9-13,每個版本講一個特性

  5. 怎麼實現多個任務執行完後,再統一處理(應該是同步阻塞、柵欄函數、調度組)

  6. 不讓用SDWebImage,如何實現類似邏輯 (自己設計圖片請求和緩存,簡單講了SDWebImage的思路)

  7. 每個TableViewCell都有一個UIImageView要加載圖片,如果沒有緩存,有五個Cell請求一個url,同時發請求肯定是不實際的,如何處理?

  8. 微信TableView滑動的時候,動圖是不動的,爲什麼?(Runloop的Mode決定的)

  9. 有了解過WebSocket嗎?

二面

  1. 如何不試用遞歸,打印所有一個UIView所有的subviews

  2. 設計一個圖片緩存系統,並代碼實現

  3. 介紹基於LLVM/Clang的靜態分析

  4. 七層協議棧

  5. HTTP是哪一層的協議

  6. HTTP常見的返回碼有哪些?

  7. HTTP除了GET、POST還有哪些?(UPDATE、DELETE、HEAD)

  8. HTTPS介紹一下

  9. HTTPS能防止中間人攻擊嗎?

  10. TCP和UDP的區別

  11. 線程和進程的區別

  12. 線程之間如何進行通訊

  13. 不使用gcd,如何保證線程安全?

  14. iOS有哪些多線程方式?(NSOperation、NSThread、GCD)

  15. 同步和異步有什麼區別?

  16. 串行隊列和並行隊列有什麼區別?

  17. 隊列和線程的關係

  18. 死鎖是怎麼產生的?

三面

  1. 合併排序鏈表

  2. HTTPS用的對稱加密還是非對稱加密?

  3. TCP的慢啓動,快恢復介紹下

  4. 客戶端發送網絡請求,到拿到響應的整個過程 (類似打開一個網頁的過程)

  5. 接上題,如果DNS解析的時候,某個ISP服務器沒有了,這時候邏輯是怎樣的?

  6. 介紹了下字典轉模型的設計+夜間模式的設計

  7. 爲什麼不用成熟的字典轉模型的三方?有了解過嗎?

  8. 夜間模式有什麼缺點,能怎麼優化?

  9. 鎖有哪些?

  10. 數據存儲,怎麼存的(FMDB)

  11. 線程安全錯誤是怎麼出現的?


更多:iOS面試題合集

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章