iOS精華面試題

聲明:本文基本轉(zhuǎn)發(fā)與大神孫源的技術(shù)博客,不為盈利哈踱,不為騙贊荒适,單純?yōu)樽晕伊舸妫夹g(shù)提升开镣。文章最后附帶題目出處和答案出處刀诬。

出題者簡介: 孫源(sunnyxx),目前就職于百度邪财,負責百度知道 iOS 客戶端的開發(fā)工作陕壹,對技術(shù)喜歡刨根問底和總結(jié)最佳實踐,熱愛分享和開源树埠,維護一個叫 forkingdog 的開源小組糠馆。

答案者簡介:為微博@iOS程序犭袁整理,大神唐巧怎憋,資深iOS開發(fā)者和Blogger又碌,曾開發(fā)有道云筆記、猿題庫和粉筆網(wǎng)的iOS客戶端盛霎。他維護著iOS開發(fā)博客 http://www.devtang.com/ 和微信 iOS開發(fā)公眾賬號 iosDevTips

1.風格糾錯題:

2. 什么情況使用 weak 關(guān)鍵字赠橙,相比 assign 有什么不同?

3.怎么用 copy 關(guān)鍵字愤炸?

4.這個寫法會出什么問題: @property (copy) NSMutableArray *array;

5.如何讓自己的類用 copy 修飾符期揪?如何重寫帶 copy 關(guān)鍵字的 setter?

6.@property 的本質(zhì)是什么规个?ivar凤薛、getter、setter 是如何生成并添加到這個類中的

7.@protocol 和 category 中如何使用 @property

8.runtime 如何實現(xiàn) weak 屬性

9.@property中有哪些屬性關(guān)鍵字诞仓?/ @property 后面可以有哪些修飾符缤苫?

10.weak屬性需要在dealloc中置nil么?

11.@synthesize和@dynamic分別有什么作用墅拭?

12.ARC下活玲,不顯式指定任何屬性關(guān)鍵字時,默認的關(guān)鍵字都有哪些谍婉?

13.用@property聲明的NSString(或NSArray舒憾,NSDictionary)經(jīng)常使用copy關(guān)鍵字,為什么穗熬?如果改用strong關(guān)鍵字镀迂,可能造成什么問題?對非集合類對象的copy操作 ? ?集合類對象的copy與mutableCopy

14.@synthesize合成實例變量的規(guī)則是什么唤蔗?假如property名為foo探遵,存在一個名為_foo的實例變量窟赏,那么還會自動合成新變量么?

15.在有了自動合成屬性實例變量之后箱季,@synthesize還有哪些使用場景涯穷?

16.objc中向一個nil對象發(fā)送消息將會發(fā)生什么?

17.objc中向一個對象發(fā)送消息[obj foo]和objc_msgSend()函數(shù)之間有什么關(guān)系规哪?

18.什么時候會報unrecognized selector的異常求豫?

19.一個objc對象如何進行內(nèi)存布局?(考慮有父類的情況)

20.一個objc對象的isa的指針指向什么诉稍?有什么作用蝠嘉?

21.下面的代碼輸出什么?


22. runtime如何通過selector找到對應(yīng)的IMP地址杯巨?(分別考慮類方法和實例方法)

23. 使用runtime Associate方法關(guān)聯(lián)的對象蚤告,需要在主對象dealloc的時候釋放么?

24. objc中的類方法和實例方法有什么本質(zhì)區(qū)別和聯(lián)系服爷?

25. _objc_msgForward函數(shù)是做什么的杜恰,直接調(diào)用它將會發(fā)生什么?

26. runtime如何實現(xiàn)weak變量的自動置nil仍源?

27. 能否向編譯后得到的類中增加實例變量心褐?能否向運行時創(chuàng)建的類中添加實例變量?為什么笼踩?

28. runloop和線程有什么關(guān)系逗爹?

29. runloop的mode作用是什么?

30. 以+ scheduledTimerWithTimeInterval...的方式觸發(fā)的timer嚎于,在滑動頁面上的列表時掘而,timer會暫定回調(diào),為什么于购?如何解決袍睡?

31. 猜想runloop內(nèi)部是如何實現(xiàn)的?

32. objc使用什么機制管理對象內(nèi)存肋僧?

33. ARC通過什么方式幫助開發(fā)者管理內(nèi)存斑胜?

34. 不手動指定autoreleasepool的前提下,一個autorealese對象在什么時刻釋放嫌吠?(比如在一個vc的viewDidLoad中創(chuàng)建)

35. BAD_ACCESS在什么情況下出現(xiàn)伪窖?

36. 蘋果是如何實現(xiàn)autoreleasepool的?

37. 使用block時什么情況會發(fā)生引用循環(huán)居兆,如何解決?

38. 在block內(nèi)如何修改block外部變量竹伸?

39. 使用系統(tǒng)的某些block api(如UIView的block版本寫動畫時)泥栖,是否也考慮引用循環(huán)問題簇宽?

40. GCD的隊列(dispatch_queue_t)分哪兩種類型?

41. 如何用GCD同步若干個異步調(diào)用吧享?(如根據(jù)若干個url異步加載多張圖片魏割,然后在都下載完成后合成一張整圖)

42. dispatch_barrier_async的作用是什么?

43. 蘋果為什么要廢棄dispatch_get_current_queue钢颂?

44. 以下代碼運行結(jié)果如何钞它?

- (void)viewDidLoad

{

[super viewDidLoad];

NSLog(@"1");

dispatch_sync(dispatch_get_main_queue(), ^{

NSLog(@"2");

});

NSLog(@"3");

}

45. addObserver:forKeyPath:options:context:各個參數(shù)的作用分別是什么,observer中需要實現(xiàn)哪個方法才能獲得KVO回調(diào)殊鞭?

46. 如何手動觸發(fā)一個value的KVO

47. 若一個類有實例變量NSString *_foo遭垛,調(diào)用setValue:forKey:時,可以以foo還是_foo作為key操灿?

48. KVC的keyPath中的集合運算符如何使用锯仪?

49. KVC和KVO的keyPath一定是屬性么?

50. 如何關(guān)閉默認的KVO的默認實現(xiàn)趾盐,并進入自定義的KVO實現(xiàn)庶喜?

51. apple用什么方式實現(xiàn)對一個對象的KVO?

52. IBOutlet連出來的視圖屬性為什么可以被設(shè)置成weak?

53. IB中User Defined Runtime Attributes如何使用救鲤?

54. 如何調(diào)試BAD_ACCESS錯誤

55. lldb(gdb)常用的調(diào)試命令久窟?


本文面試題全部出自孫大神 ?招聘一個靠譜的 iOS

附錄:答案大全出自唐大神 ?參考答案(上)And?參考答案(下)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市本缠,隨后出現(xiàn)的幾起案子斥扛,更是在濱河造成了極大的恐慌,老刑警劉巖搓茬,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件犹赖,死亡現(xiàn)場離奇詭異,居然都是意外死亡卷仑,警方通過查閱死者的電腦和手機峻村,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锡凝,“玉大人粘昨,你說我怎么就攤上這事〈芫猓” “怎么了张肾?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锚扎。 經(jīng)常有香客問我吞瞪,道長,這世上最難降的妖魔是什么驾孔? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任芍秆,我火速辦了婚禮惯疙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘妖啥。我一直安慰自己霉颠,他們只是感情好,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布荆虱。 她就那樣靜靜地躺著蒿偎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪怀读。 梳的紋絲不亂的頭發(fā)上诉位,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機與錄音愿吹,去河邊找鬼不从。 笑死,一個胖子當著我的面吹牛犁跪,可吹牛的內(nèi)容都是我干的椿息。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼坷衍,長吁一口氣:“原來是場噩夢啊……” “哼寝优!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起枫耳,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤乏矾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后迁杨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钻心,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年铅协,在試婚紗的時候發(fā)現(xiàn)自己被綠了捷沸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡狐史,死狀恐怖痒给,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情骏全,我是刑警寧澤苍柏,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站姜贡,受9級特大地震影響试吁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜楼咳,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一熄捍、第九天 我趴在偏房一處隱蔽的房頂上張望律秃。 院中可真熱鬧,春花似錦治唤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至柜裸,卻和暖如春缕陕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背疙挺。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工扛邑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人铐然。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓蔬崩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親搀暑。 傳聞我的和親對象是個殘疾皇子沥阳,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容