初面:
1.dynamic和@synthesize的區(qū)別
- @synthesize默認(rèn)情況下由系統(tǒng)自動(dòng)生成setter和getter方法,除非開(kāi)發(fā)者自己定義了方法;它的作用經(jīng)常用來(lái)修改一些變量名魁兼,系統(tǒng)自動(dòng)合成時(shí)默認(rèn)變量名為_(kāi)var
- @dynamic用來(lái)明確禁止編譯器自動(dòng)合成屬性存取方法和默認(rèn)_var變量名,用的時(shí)候需要開(kāi)發(fā)者自己編寫(xiě)(如果沒(méi)有實(shí)現(xiàn)編譯器不會(huì)報(bào)錯(cuò)沟使,這也體現(xiàn) OC動(dòng)態(tài)綁定的一個(gè)特性(運(yùn)行時(shí)確定對(duì)象的調(diào)用方法))
2.layoutIfNeeded和setNeedsLayout的區(qū)別
先總結(jié):
- layoutIfNeeded 不一定會(huì)調(diào)用layoutSubviews方法愚争。如果標(biāo)記為需要重新布局,那么才會(huì)立即調(diào)用layoutSubViews(有刷新標(biāo)記才會(huì)調(diào)用)
那么它的觸發(fā)點(diǎn)是什么呢访敌?1.布局發(fā)生變化 2.在此之前調(diào)用setNeedsLayout方法刷新標(biāo)記 - setNeedsLayout :系統(tǒng)是會(huì)標(biāo)記為重新布局凉敲,不立即刷新,一定會(huì)調(diào)用layoutSubviews方法(但是它不是馬上刷新寺旺,而是在下一輪runloop結(jié)束前調(diào)用)
- 那么如果想在當(dāng)前runloop中立即刷新爷抓,調(diào)用順序是:
[self setNeedsLayout];
[self layoutIfNeeded];
3.git和svn的區(qū)別,merge和rebase的區(qū)別
4.load有什么業(yè)務(wù)場(chǎng)景
hook的時(shí)候
5.main函數(shù)之前做哪些操作
6.對(duì)NSString的分類(lèi)加實(shí)力方法printA阻塑,對(duì)NSObject的分類(lèi)方法加實(shí)力方法printB蓝撇。【NSString performSelctor:printA】;[NSObject performSelector:printB];結(jié)果會(huì)打印什么陈莽?答案是都打印B
@implementation NSObject (Print)
//為NSObject分類(lèi)添加實(shí)例方法print
- (void)print{
NSLog(@"B");
}
@end
@implementation NSString (Print)
//為NSString分類(lèi)添加實(shí)例方法print
- (void)print{
NSLog(@"A");
}
//分別導(dǎo)入兩個(gè)分類(lèi)渤昌,在ViewController中分別調(diào)用print方法
[NSString performSelector:@selector(print) withObject:nil];
[NSObject performSelector:@selector(print) withObject:nil];
@end
- 自己的表述:我現(xiàn)在是這么理解的:NSString perporm:print調(diào)用的是String的類(lèi)方法,類(lèi)方法存在于猿類(lèi)對(duì)象里走搁,所以通過(guò)isa指針找到元類(lèi)對(duì)象独柑,元類(lèi)對(duì)象里因?yàn)榇娣诺氖穷?lèi)方法所以找不到,那么就通過(guò)superclass指針找元類(lèi)對(duì)象的父類(lèi)朱盐,一直到元類(lèi)對(duì)象的基類(lèi)群嗤,也沒(méi)有的話,元類(lèi)對(duì)象的基類(lèi)指向類(lèi)對(duì)象兵琳,類(lèi)對(duì)象里有實(shí)例方法print所以成功調(diào)用狂秘。因?yàn)镹SString繼承于NSObject所以打印的是B
7.自己對(duì)哪方面比較擅長(zhǎng)
?
8.OSI模型
截屏2020-05-08下午6.15.25.png
9.tcp位于哪一層
tcp,udp屬于傳輸層躯肌,HTTP屬于應(yīng)用層
截屏2020-05-08下午6.16.13.png
10.https是怎么保證安全的者春,客戶端是怎么驗(yàn)證服務(wù)端發(fā)送的證書(shū)是安全的?
11.進(jìn)程間通信方式
12.runloop的使用清女?定時(shí)器都用過(guò)哪些钱烟?GCD的底層實(shí)現(xiàn)(為什么高效)?檢測(cè)卡頓嫡丙,CADisplayLink會(huì)有哪些問(wèn)題拴袭?
13.哈希表的復(fù)雜度,怎么進(jìn)行存取的曙博?取值的過(guò)程
14.崩潰率crash率