[iOS知識簡記]-題庫走查2

https://www.jianshu.com/p/d884f3040fda
這裏的題庫走查。

iOS

2 Objective_C語言特性相關問題

https://www.jianshu.com/p/e70bac443cf2

3 runtime相關

能否向編譯後的類中增加實例變量?
不能。 編譯後,該類已經完成了實例變量的佈局,不能再增加實例變量。
但可以向動態添加的類中增加實例變量。

6 Block原理、Block變量截獲、Block的三種形式

局部變量被編譯成值形式,而靜態變量被編成指針形式,全局變量並未截獲。
而__block修飾的變量也是以指針形式截獲的,並且生成了一個新的結構體對象
一般情況下,如果我們要對block截獲的局部變量進行賦值操作需添加__block
修飾符,而對全局變量,靜態變量是不需要添加__block修飾符的。
另外,block裏訪問self或成員變量都會去截獲self。
對全局block進行copy,仍是全局block。
另外,__block變量在copy時,由於__forwarding的存在,
棧上的__forwarding指針會指向堆上的__forwarding變量,
而堆上的__forwarding指針指向其自身,
所以,如果對__block的修改,實際上是在修改堆上的__block變量。

9 2019 iOS面試題-----多線程相關之NSOperation、NSOperationQueue、NSThread+runloop實現常駐線程、加鎖

  • iOS 多線程:『NSOperation、NSOperationQueue』詳盡總結
    https://www.jianshu.com/p/4b1d77054b35

10 RunLoop數據結構、RunLoop的實現機制、RunLoop的Mode、RunLoop與NSTimer和線程

怎樣保證子線程數據回來更新UI的時候不打斷用戶的滑動操作?
當我們在子請求數據的同時滑動瀏覽當前頁面,如果數據請求成功要切回主線程更新UI,
那麼就會影響當前正在滑動的體驗。
我們就可以將更新UI事件放在主線程的NSDefaultRunLoopMode上執行即可,
這樣就會等用戶不再滑動頁面,主線程RunLoop由UITrackingRunLoopMode切換到
NSDefaultRunLoopMode時再去更新UI
[self performSelectorOnMainThread:@selector(reloadData) withObject:nil 
waitUntilDone:NO modes:@[NSDefaultRunLoopMode]];

算法

1 七種常見的數組排序算法整理(C語言版本)

冒泡排序
選擇排序
直接插入排序
二分插入排序:左邊部分排好序的,插入時二分查找,只是比較次數少了。
希爾排序:插入排序改進,按gap,除2遞減插入排。
快速排序
堆排序
+
基數排序:最高位優先(Most Significant Digit first)法,簡稱MSD法,從高位到低位分組合並。
最低位優先(Least Significant Digit first)法,簡稱LSD法,從低位到高位依次分組,依次合併。
計數排序:空間換時間,無比較,計值,累加定位。

7 樹、二叉樹、二叉搜索樹

https://www.jianshu.com/p/47e632985f11

iOS

5 iOS 你在項目中用過 runtime 嗎?舉個例子

1.Aspects(AOP必備,“取締” baseVC,無侵入埋點)
2.MJExtension(JSON 轉 model,一行代碼實現 NSCoding 協議的自動歸檔和解檔)
3.JSPatch(動態下發 JS 進行熱修復)
4.NullSafe(防止因發 unrecognised messages 給 NSNull 導致的崩潰)
5.UITableView-FDTemplateLayoutCell(自動計算並緩存 table view 的 cell 高度)
6.UINavigationController+FDFullscreenPopGesture(全屏滑動返回)

48 iOS Core Data的6成員對象?

https://www.jianshu.com/p/84ccd9eac508

79 iOS Category 的實現原理,以及 Category 爲什麼只能加方法不能加屬性?

https://www.jianshu.com/p/8aa63f7e98d1

  • Category 特性在 iOS 組件化中的應用與管控 https://tech.meituan.com/2018/11/08/ios-category-module-communicate.html
  • 深入理解Objective-C:Category https://tech.meituan.com/2015/03/03/

144 iOS isa指針?(對象的isa,類對象的isa,元類的isa都要說)

https://www.jianshu.com/p/9e975a1cab93

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