IOS面試題詳解(一)..


這套題目來自cocoachina的yoyokko版主大大招人時候的題目,論壇各路大神都覺得偏難。自己看了一下,發現很多是自己知道,但又說不上來的感覺。所以覺得有必要梳理完善一下,題很多,反正寫到哪算哪吧!另外,因為我不是C/C++ 或寫 mac “發家” 所以還是有解答不上來的,但是關於IOS方面,一定盡量解答,如果回答得有不盡入人意的地方,歡迎高手糾正。 下面先看看題目:

1.Object-c的類可以多重繼承么?可以實現多個接口么?Category是什么?重寫一個類的方式用繼承好還是分類好?為什么?

2.#import 跟#include 又什么區別 #import<> 跟 #import""又什么區別?

3.類變量的@protected ,@private,@public,@package聲明各有什么含義?

4.id 聲明的對象有什么特性?

5.MVC是什么?有什么特性?為什么在iPhone上被廣泛運用?

6.對於語句NSString* testObject = [[NSData alloc] init];testObject 在編譯時和運行時分別時什么類型的對象?

7.什么是安全釋放?

8.為什么有些4.0獨有的objective-c 函數在3.1上運行時會報錯.而4.0獨有的類在3.1上分配內存時不會報錯?分配的結果是什么?

9.為什么4.0獨有的c函數在3.1的機器上運行不會報錯(在沒有調用的情況下?)而4.0獨有的類名在3.1的機器上一運行就報錯?

10.異常exception 怎么捕獲?不同的CPU結構上開銷怎樣?C中又什么類似的方法?

11.property中屬性retain,copy,assgin的含義分別是什么?有什么區別?將其轉換成get/set方法怎么做?有什么注意事項?

12.委托是什么?委托的property聲明用什么屬性?為什么?

13.淺拷貝和深拷貝區別是什么?...

14.Cocoa中與虛基類的概念么?怎么簡潔的實現?

15.自動釋放池跟GC有什么區別?iPhone上有GC么?[pool release] 和[pool drain]有什么區別?

16.

for(int index = 0; index < 20; index ++){
    NSString *tempStr = @”tempStr”;
    NSLog(tempStr);
    NSNumber *tempNumber = [NSNumber numberWithInt:2];
    NSLog(tempNumber);
}

這段代碼有什么問題.?會不會造成內存泄露(多線程)?在內存緊張的設備上做大循環時自動釋放池是寫在循環內好還是循環外好?為什么?

17.內存管理的幾條原則時什么?按照默認法則.那些關鍵字生成的對象需要手動釋放?在和property結合的時候怎樣有效的避免內存泄露?

18.在一個對象釋放前.如果他被加到了notificationCenter 中.不在notificationcenter中remove這個對象可能會出現什么問題?

19.怎樣實現一個 singleton的類.給出思路。

20.什么是序列化或者Acrchiving,可以用來做什么,怎樣與copy結合,原理是什么?.

21.線程是什么? 有哪些注意事項.?

22.在iphone上有兩件事情要做,請問是在一個線程里按順序做效率高還是兩個線程里做效率高?為什么?

23.runloop是什么?在主線程中的某個函數里調用了異步函數,怎么樣block當前線程,且還能響應當前線程的timer事件,touch事件等.

24.ios平台怎么做數據的持久化?coredata和sqlite有無必然聯系?coredata是一個關系型數據庫嗎?

25.闡述一個nil對象從interface bulider產生,到載入程序運行空間,最后被釋放時所經歷的生命周期.

26.notification是同步還是異步? kvo是同步還是異步?notification是全進程空間的通知嗎?kvo呢?

27.kvc是什么?kvo是什么?有什么特性?

28.響應者鏈是什么?

29.unix上進程怎么通信?

30.timer的間隔周期准嗎?為什么?怎樣實現一個精准的timer?

31.UIscrollVew用到了什么設計模式?還能再foundation庫中找到類似的嗎?

32如果要開發一個類似eclipse的軟件,支持插件結構。且開放給第三方開發。你會怎樣去設計它?(大概思路)

 

這篇文章先記錄一下題目,下一篇開始從第一題解答.

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM