堅持2022——疫情下學(xué)習(xí)四階段iOS 面試題

前言

iOS開發(fā)者都想了解最新的面試情況,去做更充足的準(zhǔn)備,下面看那些有你自己不會的東西,自己可以研究下,也可以收藏以免不時之需!

第一部分底層必問題:

  1. 什么情況使用weak關(guān)鍵字,相比assign有什么不同?
  2. 深拷貝與淺拷貝
  3. 簡要說一下@autoreleasePool的數(shù)據(jù)結(jié)構(gòu)?
  4. autoreleasePool 在何時被釋放?
  5. 說一下iOS內(nèi)存分區(qū)情況
  6. 如何解決循環(huán)引用?
  7. Runloop 和線程的關(guān)系?
  8. isa指針的理解,對象的isa指針指向哪里?
  9. Runtime 如何實現(xiàn) weak 屬性?
  10. load和initialize的區(qū)別
  11. ......

第二部分性能優(yōu)化架構(gòu)能力:

  1. 造成tableView卡頓的原因有哪些?
  2. 如何提升 tableview 的流暢度?
  3. APP啟動時間應(yīng)從哪些方面優(yōu)化?
  4. 如何降低APP包的大???
  5. 日常如何檢查內(nèi)存泄露?
  6. iOS有哪些常見的設(shè)計模式?
  7. 單例會有什么弊端?
  8. MVC、MVP、MVVM模式
  9. 編程中的六大設(shè)計原則?
  10. ......

第三部分多線程、網(wǎng)絡(luò)能力:

  1. 什么是多線程?
  2. 多線程的優(yōu)點和缺點?
  3. 多線程的 并行 和 并發(fā) 有什么區(qū)別?
  4. 如何保證線程安全?
  5. 多線程中的死鎖?
  6. 線程之間是如何共享資源的?
  7. 進程之間如何共享資源?
  8. GCD執(zhí)行原理?
  9. 網(wǎng)絡(luò)的七層協(xié)議?
  10. Http 和 Https 的區(qū)別?Https為什么更加安全?
  11. 解釋一下 三次握手 和 四次揮手?
  12. socket編程里面,select、poll、epoll的區(qū)別和特點?
  13. client和server之間TCP通信,雙方使用到的socket函數(shù)以及過程?
  14. TLS的加密過程?
  15. TLS握手時的隨機數(shù)有什么作用?
  16. ......

第四部分?jǐn)?shù)據(jù)結(jié)構(gòu)算法:

  1. 鏈表和數(shù)組的區(qū)別是什么?插入和查詢的時間復(fù)雜度分別是多少?
  2. 哈希表是如何實現(xiàn)的?如何解決地址沖突?
  3. 排序題:冒泡排序,選擇排序,插入排序,快速排序(二路,三路)能寫出哪些?
  4. 鏈表題:如何檢測鏈表中是否有環(huán)?如何刪除鏈表中等于某個值的所有節(jié)點?
  5. 數(shù)組題:如何在有序數(shù)組中找出和等于給定值的兩個元素?如何合并兩個有序的數(shù)組之后保持有序?
  6. 二叉樹題:如何反轉(zhuǎn)二叉樹?如何驗證兩個二叉樹是完全相等的?
  7. 數(shù)據(jù)結(jié)構(gòu)的存儲一般常用的有幾種?各有什么特點?
  8. 如何用棧實現(xiàn)隊列?說一下思路。
  9. ......

總結(jié)整理的“iOS面試題技術(shù)點”分類,到這里就告一段落了!

資料下載:

"iOS簡歷模板+新iOS面試題+iOS提升視頻"網(wǎng)址 :
docs.qq.com/doc/DVWlQam9Qd3B1cEF2

有什么需要討論的地方歡迎大家指教。主要記錄一下準(zhǔn)備過程,和面試的一些總結(jié),希望能幫助到正在面試或者將要面試的同學(xué)吧

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容