1、#import和#include的區別,@class代表什麼? 2、淺拷貝和深拷貝區別是什麼? 3、Objective-C中類別和類擴展的區別? 4、Objective-C堆和棧的區別? 5、記憶體管理的幾個原則是什麼? 6、NSMuatableArray *array = [NSMuatable ...
1、#import和#include的區別,@class代表什麼?
2、淺拷貝和深拷貝區別是什麼?
3、Objective-C中類別和類擴展的區別?
4、Objective-C堆和棧的區別?
5、記憶體管理的幾個原則是什麼?
6、NSMuatableArray *array = [NSMuatableArray array] 需要釋放麽?
7、@property本質是什麼
8、delegate用什麼屬性修飾,ARC下與MRC下有何不同,為什麼?
9、NSString,NSArray,NSMutableArray分別用什麼屬性修飾,原因是什麼?
10、block用什麼屬性修飾,為什麼?
11、__block與__weak的區別是什麼?
12、assign與weak的區別是什麼?
13、分別寫一個setter方法
完成@property(nonatomic,retain)NSString *name和@property(nonatomic,copy)NSString *name
14、@autoreleasepool {for (long i = 0; i < largeNumber; i++) {Person *per = [[Person alloc] init];[per autorelease];}}有什麼記憶體問題,如何改正?
15、如何寫一個單例?
16、post與get的區別?
17、Http與tcp,udp的區別?
18、http都設置哪些header?
19、http與https的區別?
20、網路七層協議(http,tcp/ip處於哪一層)?
21、常用多線程方式有哪些?
22、NSOperation比GCD有哪些優點,如何處理線程依賴
23、runloop與線程的關係
24、runtime的理解
25、在實際項目中遇到過死鎖麽?如何處理死鎖問題
26、runloop有幾種模式,runloop接收幾種輸入源
27、如何處理滑動UI過程中,廣告輪播圖停止輪詢問題,使用runloop的哪種模式
28、有一個需求,需要將N個請求全部完成之後執行某個操作,該如何處理
29、weak會有性能開銷麽?使用什麼代替
30、autorelease pool的原理是什麼
31、runloop的原理
32、runloop與autoreleasepool的關係
33、block會延長對象的生命周期麽?
34、SSL加密流程
35、網路加密方式有哪些,各自的原理
36、AFnetworking原理
37、SDWebImage框架原理以及是如何做圖片緩存的
38、冒泡排序/快速排序演算法
39、CALayer與UIView的區別是什麼?
40、iOS有幾種動畫,各自是什麼?
41、用熟悉的動畫寫一個移動的動畫
42、instancetype與id的區別
43、如何進行代碼適配
44、xib如何處理動態view佈局
45、如何處理webview與js之間交互
46、自己自定義一個輪播圖
47、如何進行熱修複?
48、對MVVM的理解以及如何實踐
49、如何進行自動化打包?
50、如何對網路請求進行二次封裝
51、比如開發人員要打發佈包與企業包,如何在不修改bundle id的情況下快速打包?
52、block比delegate有哪些優缺點
53、FMDB是線程安全的麽?
54、tableview從哪些方面進行流暢度優化?