經過本人最近的面試和對面試資料的一些彙總,準備記錄這些面試題,以便ios開發工程師找工作複習之用,本人希望有面試經驗的同學能和我同時完成這個模組,先出面試題,然後會放出答案。
1.object-c的類可以多重繼承麼?可以實現多個介面麼?category是什麼?重寫乙個類的方式用繼承好還是分類好?為什麼?
2.#import 跟#include 又什麼區別,@class呢; #import<> 跟 #import」"又什麼區別?
3.屬性readwrite
,readonly,assign,retain,copy,nonatomic 各是什麼作用,在那種情況下用
?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.常見的object-c的資料型別有那些, 和 c 的 基本資料型別有什麼區別?如:nsinteger 和int
11.property中屬性retain,copy,assgin的含義分別是什麼?有什麼區別?將其轉換成get/set方法怎麼做?有什麼注意事項?
12.委託是什麼?委託的property宣告用什麼屬性?為什麼?
13.淺拷貝和深拷貝區別是什麼?…
14.nsstring 和 nsmutablestring 有什麼區別?
15.自動釋放池跟gc有什麼區別?iphone上有gc麼?[pool release] 和[pool drain]有什麼區別?
16.
for(int index = 0; index < 20; index ++)這段**有什麼問題.?會不會造成記憶體洩露(多執行緒)?在記憶體緊張的裝置上做大迴圈時自動釋放池是寫在迴圈內好還是迴圈外好?為什麼?
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物件從inte***ce bulider產生,到引導程式執行空間,最後被釋放時所經歷的生命週期.
26.notification是同步還是非同步? kvo是同步還是非同步?notification是全程序空間的通知嗎?kvo呢?
27.kvc是什麼?kvo是什麼?有什麼特性?
28.響應者鏈是什麼?
29.unix上程序怎麼通訊?
30.timer的間隔週期準嗎?為什麼?怎樣實現乙個精準的timer?
31.uiscrollvew用到了什麼設計模式?還能再foundation庫中找到類似的嗎?
32.如果要開發乙個類似eclipse的軟體,支援外掛程式結構。且開放給第三方開發。你會怎樣去設計它?(大概思路)
33.執行緒和程序的區別和聯絡?
34.c和obj-c 如何混用?
35.以下每行**執行後,person物件的retain count分別是多少
person *person = [[person alloc] init]; // count 1
[person retain]; // count 2
[person release]; //count 1
[person release]; //retain count = 1;
36.viewcontroller 的 loadview, viewdidload, viewdidunload 分別是在什麼時候呼叫的?
37.viewcontroller 的 didreceivememorywarning 是在什麼時候被呼叫的?
38.ios5新特性有那些?
39.談談你對arc 的認識和理解?
嵌入式工程師常見面試題
封裝乙個用於payload傳出的結構體,參考 typedef struct attribute packed spacketheader t 申請一段記憶體,結構體指標為其賦值,計算cs 將這個包模擬傳輸到另乙個裝置 函式代替 還原成結構體 計算這個結構體的cs,看和包內的cs是否一致 includ...
IOS開發常見面試題
1.解釋一下oc中的執行時。1 runtime是什麼 runtime是一套比較底層的c語言api,屬於1個c語言庫,包含了很多底層的c語言api 平時編寫oc 在程式執行過程中,其實最終都轉換成了runtime的c語言 runtime是oc的幕後工作者。2 舉例 oc person alloc in...
ios高階工程師開發面試題
不管對於招聘和應聘來說,面試都是很重要的乙個環節,特別對於開發者來說,面試中的技術問題環節不僅是企業對應聘者技能和積累的考察,也是乙個開發者自我檢驗的好機會。對於ios和mac開發來說,因為本事還算比較新,企業對於這方面的開發者需求也比較大,所以面試時的要求可能並不是很高,一般能知道一些cocoa和...