中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS開發常見面試題

發布時間:2020-05-25 09:47:25 來源:億速云 閱讀:472 作者:Leah 欄目:移動開發

相信很多新手小白對iOS開發常見面試題的了解處于懵懂狀態,通過這篇文章的總結,希望你能有所收獲。如下資料是關于iOS開發常見面試題的內容。

一、Runtime
  • 一個objc對象的isa的指針指向什么?有什么作用?
  • 一個 NSObject 對象占用多少內存空間?
  • 說一下對 class_rw_t 的理解?
  • 說一下對 class_ro_t 的理解?
  • 說一下對 isa 指針的理解
  • 說一下 Runtime 的方法緩存?存儲的形式、數據結構以及查找的過程?
  • 使用runtime Associate方法關聯的對象,需要在主對象dealloc的時候釋放么?
  • 實例對象的數據結構?
  • 什么是method swizzling(俗稱黑魔法)
  • 什么時候會報unrecognized selector的異常?
  • 如何給 Category 添加屬性?關聯對象以什么形式進行存儲?
  • 能否向編譯后得到的類中增加實例變量?能否向運行時創建的類中添加實例變量?為什么?
  • 類對象的數據結構?
  • runtime如何通過selector找到對應的IMP地址?
  • runtime如何實現weak變量的自動置nil?知道SideTable嗎?
  • objc中向一個nil對象發送消息將會發生什么?
  • objc在向一個對象發送消息時,發生了什么?
  • isKindOfClass 與 isMemberOfClass
  • Category 在編譯過后,是在什么時機與原有的類合并到一起的?
  • Category 有哪些用途?
  • Category 的實現原理?
  • _objc_msgForward函數是做什么的
  • [self class] 與 [super class]
  • 代碼題 一
  • 代碼題 二
二、Runloop
  • 為什么 NSTimer 有時候不好使?
  • AFNetworking 中如何運用 Runloop?
  • autoreleasePool 在何時被釋放?
  • PerformSelector 的實現原理?
  • PerformSelector:afterDelay:這個方法在子線程中是否起作用?為什么?怎么解決?
  • RunLoop的Mode
  • RunLoop的實現機制
  • RunLoop和線程
  • RunLoop的數據結構
  • RunLoop概念
  • RunLoop與NSTimer
  • 講一下 Observer ?
  • 解釋一下 NSTimer
  • 解釋一下 事件響應 的過程?
  • 解釋一下 手勢識別 的過程?
  • 什么是異步繪制?
  • 利用 runloop 解釋一下頁面的渲染的過程?
三、Objective_C語言特性
  • KVC(Key-value coding)
  • KVO (Key-value observing)
  • 分類、擴展、代理(Delegate)
  • 屬性關鍵字
  • 通知(NSNotification)
四、Animation
  • 請說一下對 CALayer 的認識。
  • CALayerContents 有幾下幾個主要的屬性:
五、Block
  • Block的幾種形式
  • Block變量截獲
  • 什么是Block?
六、UI相關
七、多線程
  • 進程、線程
  • 多進程、多線程
  • 任務、隊列
  • iOS中的多線程
  • GCD---隊列
  • 死鎖
  • GCD任務執行順序
  • dispatch_barrier_async
  • dispatch_group_async
  • Dispatch Semaphore
  • 延時函數(dispatch_after)
  • 使用dispatch_once實現單例
  • NSOperationQueue的優點
  • NSOperation和NSOperationQueue
  • NSThread+runloop實現常駐線程
  • 自旋鎖與互斥鎖
八、內存管理
  • 在 Obj-C 中,如何檢測內存泄漏?你知道哪些方式?
  • 在 MRC 下如何重寫屬性的 Setter 和 Getter_
  • 循環引用
  • 說一下什么是 懸垂指針?什么是 野指針?
  • 說一下對 retain,copy,assign,weak,_Unsafe_Unretain 關鍵字的理解
  • 是否了解 深拷貝 和 淺拷貝 的概念,集合類深拷貝如何實現
  • 使用自動引用計數應遵循的原則
  • 能不能簡述一下 Dealloc 的實現機制
  • 內存中的5大區分別是什么?
  • 內存管理默認的關鍵字是什么?
  • 內存管理方案
  • 內存布局
  • 講一下 iOS 內存管理的理解
  • 講一下 @dynamic 關鍵字?
  • 簡要說一下 @autoreleasePool 的數據結構?
  • 訪問 __weak 修飾的變量,是否已經被注冊在了 @autoreleasePool 中?為什么?
  • retainrelease 的實現機制?
  • MRC(手動引用計數)和ARC(自動引用計數)
  • BAD_ACCESS 在什么情況下出現?
  • autoReleasePool 什么時候釋放?
  • ARC自動內存管理的原則
  • ARC 在運行時做了哪些工作?
  • ARC 在編譯時做了哪些工作
  • ARCretainCount 怎么存儲的?
  • __weak 屬性修飾的變量,如何實現在變量沒有強引用后自動置為 nil
  • __weak_Unsafe_Unretain 的區別?
九、設計模式
  • 如何設計一個時長統計框架?
  • 如何設計一個圖片緩存框架?
  • 編程中的六大設計原則?
十、數據安全及加密
  • RSA非對稱加密
  • 簡述 SSL 加密的過程用了哪些加密方法,為何這么作?
十一、數據結構與算法
  • iOS開發 數據結構
  • iOS 算法面試題(一)
  • iOS 算法面試題(二)
十二、網絡相關
  • HTTP協議
  • HTTPS、對稱加密、非對稱加密
  • 一個基于UDP的簡單的聊天Demo
  • UDP的特點、UDP的報文結構及差錯檢測
  • TCP、三次握手、四次揮手、代碼實現
  • 可靠數據傳輸、流量控制(滑動窗口)、擁塞控制
  • DNS
  • Cookie和Session
  • IP協議、IP數據報分片、IPv4編址、網絡地址轉換(NAT)
  • IPv6、從IPv4到IPv6的遷移
十三、性能優化
  • iOS 性能優化面試題
  • 光柵化
  • 日常如何檢查內存泄露?
  • 如何高性能的畫一個圓角?
  • 如何提升 tableview 的流暢度?
  • 如何優化 APP 的電量?
  • 如何有效降低 APP 包的大小?
  • 什么是 離屏渲染?什么情況下會觸發?該如何應對?
  • 如何檢測離屏渲染?
  • 怎么檢測圖層混合?

關于iOS開發常見面試就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果喜歡這篇文章,不如把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

济阳县| 翼城县| 讷河市| 佳木斯市| 郴州市| 安阳县| 颍上县| 吉林省| 镇雄县| 于都县| 大同县| 景洪市| 丹东市| 博爱县| 临猗县| 保康县| 西吉县| 井陉县| 莱州市| 济南市| 兴业县| 清水县| 霍邱县| 辽宁省| 阿坝| 霍城县| 泸西县| 灌阳县| 仁化县| 墨脱县| 中方县| 桑日县| 淅川县| 海安县| 呼伦贝尔市| 虞城县| 呈贡县| 策勒县| 麻城市| 家居| 兴业县|