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