1.介紹iOS設(shè)計(jì)模式MVC,MVVM, MVP以及它們之間的區(qū)別?
2.簡(jiǎn)述內(nèi)存管理
3.#import和#include的區(qū)別填大?#import和@class的區(qū)別戒洼?
4.介紹深復(fù)制和淺復(fù)制
5.為什么說oc是一門動(dòng)態(tài)語言
6.介紹runtime機(jī)制
7簡(jiǎn)述.kvo和kvc的原理
8.代理和block的作用與區(qū)別
9.開發(fā)中都使用什么三方庫(kù)
10.iOS的幾種存儲(chǔ)方式
11.iOS 的傳值方式
12.簡(jiǎn)述事件響應(yīng)者鏈
13.UITableview的優(yōu)化方法(緩存高度俏橘,異步繪制,減少層級(jí)圈浇,hide寥掐,避免離屏渲染)
14.UIView和CALayer是啥關(guān)系
15.談下Objective C都有哪些鎖機(jī)制,你一般用哪個(gè)
16.簡(jiǎn)述ViewController的幾個(gè)生命周期
17.定義屬性的時(shí)候,什么情況使用copy磷蜀、assign和retain
18.沙盒中一共有幾個(gè)文件夾,請(qǐng)簡(jiǎn)述它們的作用?
19.多線程的優(yōu)點(diǎn)和缺點(diǎn)分別是什么?
20.簡(jiǎn)述runloop機(jī)制
21.簡(jiǎn)單描述一下SDWebImage的原理和實(shí)現(xiàn)機(jī)制召耘,以及SDWebImage的底層實(shí)現(xiàn)。
22.簡(jiǎn)述__weak和__block修飾符的區(qū)別褐隆。
23.@property的本質(zhì)是什么污它?
24.+(void)load和 +(void)initialize 分別在什么時(shí)候被調(diào)用?
25.frame 和 bounds 的區(qū)別是什么庶弃?
26.什么是進(jìn)程衫贬?什么是線程?iOS多線程有幾種歇攻,你平常開發(fā)喜歡用那種固惯?
27.說一下屬性nonatomic與atomic區(qū)別,atomic是絕對(duì)安全的嗎缴守?談?wù)勀愕目捶ā?/p>
28.說一下分類的實(shí)現(xiàn)原理葬毫,分類為什么會(huì)覆蓋原類的方法?
29.NS_ENUM VS. NS_OPTIONS的區(qū)別
30.內(nèi)存泄露的幾種情況分析
31.簡(jiǎn)述oc消息發(fā)送和轉(zhuǎn)發(fā)機(jī)制
32.instancetype和id的區(qū)別
33.簡(jiǎn)述tcp與udp
34.get和post區(qū)別
35.屬性的實(shí)質(zhì)是什么屡穗?包括哪幾個(gè)部分贴捡?屬性默認(rèn)的關(guān)鍵字都有哪些?@dynamic關(guān)鍵字和@synthesize關(guān)鍵字是用來做什么的村砂?
36.可變集合類 和 不可變集合類的 copy 和 mutablecopy有什么區(qū)別栈暇?如果是集合是內(nèi)容復(fù)制的話,集合里面的元素也是內(nèi)容復(fù)制么箍镜?
37.進(jìn)程和線程的區(qū)別源祈?同步異步的區(qū)別?并行和并發(fā)的區(qū)別色迂?
38.線程間通信香缺?
39. block的實(shí)質(zhì)是什么?一共有幾種block歇僧?都是什么情況下生成的图张?
40.runloop是來做什么的锋拖?runloop和線程有什么關(guān)系?主線程默認(rèn)開啟了runloop么祸轮?子線程呢兽埃?
41.類方法和實(shí)例方法有什么區(qū)別?
42.AFN為什么添加一條常駐線程适袜?