2021年,大廠常問的46個iOS基礎技術點。

前言

收錄的面試技術點,可能沒那么多時間來總結答案,有什么需要討論的地方歡迎大家底部留言。主要記錄一下大廠技術點,希望能幫助到正在面試或者將要面試的伙伴吧。
  • 更多技術題合集:

iOS技術題大全(上)

iOS技術題大全(中)

iOS技術題大全(下)

46個技術題:

    1. 第一個問題:怎么優(yōu)化應用啟動時間。
    1. category,method 的實現(xiàn)機制,class的載入過程。
    1. runloop是來做什么的?runloop和線程有什么關系?主線程默認開啟了runloop嗎?子線程呢?
    1. 如何保證線程安全?死鎖是如何產(chǎn)生的?
    1. 線程之間是如何共享資源的?
    1. 進程之間如何共享資源。
    1. 定時器的幾個類方法底層分別是怎么實現(xiàn)的?
    1. 從設計模式的角度分析Delegate、Notification、KVO的區(qū)別。
    1. Struct與Union主要區(qū)別
    1. plist讀寫操作如何進行鎖管理
    1. NSNotification實現(xiàn)邏輯,子線程中給主線程發(fā)送通知,主線程是否會處理通知.
    1. 編譯器怎么檢測#import和#include導入多次的問題,三方庫導入時如何設置""和<>
    1. 多線程:什么時候處理多線程,幾種方式,優(yōu)缺點。
    1. 設計一個方案來檢測KVO的同步異步問題
    1. willChange和 didChange的不同點
    1. 如何令自己所寫的對象具有拷貝功能?
    1. 談一談對mrc和arc的理解
    1. 談談對自動釋放池的理解
    1. 自動釋放池在mrc和arc區(qū)別
    1. 多層自動釋放池嵌套的對象在哪一層釋放
    1. 談談對于block理解,mrc和arc下有什么區(qū)別。
    1. TCP和UDP的應用場景與區(qū)別?
    1. TCP握手為什么是三次?TCP揮手為啥是四次呢?
    1. TCP的擁塞控制?
    1. socket編程里面,select、poll、epoll的區(qū)別和特點?
    1. client和server之間TCP通信,雙方使用到的socket函數(shù)以及過程?
    1. HTTP和HTTPS的區(qū)別?
    1. TLS的加密過程?
    1. TLS握手的過程?
    1. TLS握手時的隨機數(shù)有什么作用?
    1. 說說你理解weak屬性?
    1. UIView和CALayer是什么關系?
    1. @synthesize 和 @dynamic 分別有什么作用?
    1. 動態(tài)綁定。
    1. Category(類別)、 Extension(擴展)和繼承的區(qū)別。
    1. 為什么代理要用weak?代理的delegate和dataSource有什么區(qū)別?block和代理的區(qū)別?
    1. id和NSObject*的區(qū)別。
    1. 如何令自己所寫的對象具有拷貝功能?
    1. 使用系統(tǒng)的某些block api(如UIView的block版本寫動畫時),是否也考慮引用循環(huán)問題?
    1. static有什么作用?
    1. Swift 下的如何使用 KVC?
    1. Swift有哪些模式匹配?
    1. objc在向一個對象發(fā)送消息時,發(fā)生了什么?
    1. 靜態(tài)庫的原理是什么?你有沒有自己寫過靜態(tài)編譯庫,遇到了哪些問題?
    1. 不手動指定autoreleasepool的前提下,一個autorealese對象在什么時刻釋放?(比如在一個vc的viewDidLoad中創(chuàng)建)
    1. OC完整的消息轉發(fā)機制+代碼實現(xiàn)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容