iOS精華面試題

聲明:本文基本轉發與大神孫源的技術博客,不為盈利,不為騙贊,單純為自我留存,技術提升。文章最后附帶題目出處和答案出處。

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

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

1.風格糾錯題:

2. 什么情況使用 weak 關鍵字,相比 assign 有什么不同?

3.怎么用 copy 關鍵字?

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

5.如何讓自己的類用 copy 修飾符?如何重寫帶 copy 關鍵字的 setter?

6.@property 的本質是什么?ivar、getter、setter 是如何生成并添加到這個類中的

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

8.runtime 如何實現 weak 屬性

9.@property中有哪些屬性關鍵字?/ @property 后面可以有哪些修飾符?

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

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

12.ARC下,不顯式指定任何屬性關鍵字時,默認的關鍵字都有哪些?

13.用@property聲明的NSString(或NSArray,NSDictionary)經常使用copy關鍵字,為什么?如果改用strong關鍵字,可能造成什么問題?對非集合類對象的copy操作 ? ?集合類對象的copy與mutableCopy

14.@synthesize合成實例變量的規則是什么?假如property名為foo,存在一個名為_foo的實例變量,那么還會自動合成新變量么?

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

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

17.objc中向一個對象發送消息[obj foo]和objc_msgSend()函數之間有什么關系?

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

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

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

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


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

23. 使用runtime Associate方法關聯的對象,需要在主對象dealloc的時候釋放么?

24. objc中的類方法和實例方法有什么本質區別和聯系?

25. _objc_msgForward函數是做什么的,直接調用它將會發生什么?

26. runtime如何實現weak變量的自動置nil?

27. 能否向編譯后得到的類中增加實例變量?能否向運行時創建的類中添加實例變量?為什么?

28. runloop和線程有什么關系?

29. runloop的mode作用是什么?

30. 以+ scheduledTimerWithTimeInterval...的方式觸發的timer,在滑動頁面上的列表時,timer會暫定回調,為什么?如何解決?

31. 猜想runloop內部是如何實現的?

32. objc使用什么機制管理對象內存?

33. ARC通過什么方式幫助開發者管理內存?

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

35. BAD_ACCESS在什么情況下出現?

36. 蘋果是如何實現autoreleasepool的?

37. 使用block時什么情況會發生引用循環,如何解決?

38. 在block內如何修改block外部變量?

39. 使用系統的某些block api(如UIView的block版本寫動畫時),是否也考慮引用循環問題?

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

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

42. dispatch_barrier_async的作用是什么?

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

44. 以下代碼運行結果如何?

- (void)viewDidLoad

{

[super viewDidLoad];

NSLog(@"1");

dispatch_sync(dispatch_get_main_queue(), ^{

NSLog(@"2");

});

NSLog(@"3");

}

45. addObserver:forKeyPath:options:context:各個參數的作用分別是什么,observer中需要實現哪個方法才能獲得KVO回調?

46. 如何手動觸發一個value的KVO

47. 若一個類有實例變量NSString *_foo,調用setValue:forKey:時,可以以foo還是_foo作為key?

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

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

50. 如何關閉默認的KVO的默認實現,并進入自定義的KVO實現?

51. apple用什么方式實現對一個對象的KVO?

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

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

54. 如何調試BAD_ACCESS錯誤

55. lldb(gdb)常用的調試命令?


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

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,739評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,634評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,653評論 0 377
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,063評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,835評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,235評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,315評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,459評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,000評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,819評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,004評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,560評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,257評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,676評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,937評論 1 288
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,717評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,003評論 2 374

推薦閱讀更多精彩內容