1. 程式人生 > >100道名企精選iOS面試題合集,轟動整個開發界【頭條熱搜】

100道名企精選iOS面試題合集,轟動整個開發界【頭條熱搜】

面試是對自我審視的一種過程,無論你能否全部答出,都不要對自己產生任何正面或消極的評價!

接下來讓我們來看看這100道題,看看你能否都答出來,堅持看到最後有答案:

1、堆和棧什麼區別? 2、陣列和連結串列什麼區別? 3、delegate和notification什麼區別,什麼情況使用? 4、什麼是MVC,為什麼使用MVC,有什麼好處? 5、從一個數組中找出重複的元素打印出來? 6、UITableView能否繫結多個數據源? 7、一個UIViewController能否管理多個UITableView ? 8、同步請求和非同步請求什麼區別? 9、iOS中的多執行緒操作、多執行緒方式 10、UIViewController的生命週期 11、Autorerelease物件什麼時候釋放? 12、iOS資料持久化方式 13、Object-c的類可以多重繼承麼?可以實現多個介面麼?Category是什麼?重寫一個類的方式用繼承好還是分類好?為什麼? 14、#import 跟#include 又什麼區別,@class呢, #import<> 跟 #import”"又什麼區別? 15、屬性readwrite,readonly,assign,retain,copy,nonatomic 各是什麼作用,在那種情況下用? 16、常見的object-c的資料型別有那些, 和C的基本資料型別有什麼區別?如:NSInteger和int 17、Objective-C如何對記憶體管理的,說說你的看法和解決方法? 18、如何對iOS裝置進行效能測試? 19、Object C中建立執行緒的方法是什麼?如果在主執行緒中執行程式碼,方法是什麼?如果想延時執行程式碼、方法又是什麼? 20、描述一下iOS SDK中如何實現MVC的開發模式 21、定義屬性時,什麼情況使用copy、assign、retain? 22、Object-C有私有方法嗎?私有變數呢? 23、淺複製和深複製的區別?//淺拷貝和深拷貝 24、自動釋放池是什麼,如何工作 25、單件例項是什麼 26、類別的作用?繼承和類別在實現中有何區別? 27、類別和類擴充套件的區別。 28、KVO and KVC? 29、代理的作用? 30、說說響應鏈? 31、frame和bounds有什麼不同?? 32、方法和選擇器有何不同?? 33、Object-c的類可以多重繼承麼?可以實現多個介面麼?重寫一個類的方式用繼承好還是分類好?為什麼? 34、ARC自動引用技術 35、GCD技術 36、類別的作用?繼承和類別在實現中有何區別? 37、代理的作用? 38、我們說的oc是動態執行時語言是什麼意思? 39、通知和協議的不同之處? 40、關於多型性 41、NSOperation佇列 42、是否在一個檢視控制器中嵌入兩個tableview控制器? 43、什麼是id型別 44、請簡要說明viewDidLoad和viewDidUnload何時呼叫 45、列印結果 46、寫一” 標準”巨集MIN ,這個巨集輸入兩個引數並返回較小的一個 47、陣列和指標的區別 48、static的作用 49、簡述記憶體分割槽情況 50、const char p;? charconstp;? charconst p;? const char const p;四個修飾指標有什麼區別 51、在Obj-c中有沒有私有方法?私有變數?一般採用什麼方法實現? 52、obj-c的優缺點 53、HTTP協議中,POST和GET的區別是什麼? 54、UIView與CLayer有什麼區別? 55、Quatrz 2D的繪圖功能的三個核心概念是什麼並簡述其作用. 56、iPhone OS主要提供了幾種播放音訊的方法? 57、使用AVAudioPlayer類呼叫哪個框架、使用步驟? 58、CFSocket使用有哪幾個步驟. 59、Core Foundation中提供了哪幾種操作Socket的方法? 60、執行緒與程序的區別和聯絡? 61、iOS平臺怎麼做資料的持久化?coredata?和sqlite有無必然聯絡?coredata是一個關係型資料庫嗎? 62、獲取專案根路徑,並在其下建立一個名稱為userData?的目錄。 63、列舉幾種程序的同步機制,並比較其優缺點。 64、程序間通訊的方式有______ 65、http和scoket通訊的區別。 66、TCP和UDP的區別 67、你瞭解svn,cvs等版本控制工具麼? 68、為什麼很多內建類如UITableViewController的delegate屬性都是assign而不是retain的? 69、通訊底層原理 70、objective-c 是所有物件間的互動是如何實現的? 71、TCP/IP 建立連線的過程? 72、如何引用一個已經定義過的全域性變數? 73、Objective-C如何對記憶體管理的,說說你的看法和解決方法? 74、block 實現原理 75、id、nil代表什麼? 76、為什麼很多內建類,如UITableView的delegate屬性都是assign而不是retain的? 77、檢視控制器的loadView方法是什麼時候呼叫的? 78、什麼情況使用 weak 關鍵字,相比 assign 有什麼不同? 79、這個寫法會出什麼問題: @property (strong) NSMutableArray array; 80、AFNetworking或SDWebImage 裡面給 UIImageView 載入圖片的邏輯是什麼樣的? 81、GCD 裡面有哪幾種 Queue? 背後的執行緒模型是什麼樣的? 82、什麼是iOS中的沙盒機制。 83、nil, Nil, NSNULL, NULL區別 84、iOS中處理音訊和視訊使用哪些框架? 85、如何監聽View的觸控事件,事件是如何傳遞的、檢視的響應者鏈是什麼? 86、xml資料的解析方式,各有什麼不同? 87、裝置狀態列(Device?Status?Bar)是什麼?高度如何?是否透明?在手機通話或者導航狀態下,它是如何顯示的? 88、Core Graphics 和Quartz 2D的區別? 89、如何為APP新增啟動頁? 90、UIView的ContentMode是如何實現的? 91、layer的層級結構是什麼? 92、如何確定layer的位置? 93、transform中,可以使用kvc執行動畫的屬性有哪些? 94、在一個物件的方法裡面:self.name= “object”;和 name =”object” 有什麼不同嗎? 95、請簡述self.name= nil的機制,以及與[namerelease]的區別? 96、使用sql語句查詢出省名以湖開頭,郵編為436001所在的市區?(表名及欄位名自定義) 97、寫一” 標準”巨集MIN ,這個巨集輸入兩個引數並返回較小的一個 98、const char p; charconstp;charconst p;const char* const p;四個修飾指標有什麼區別 99、下拉和上拉的原理? 100、layoutSubview何時呼叫?

能堅持看下來的,相信這100道題,對於從事iOS的你來說是有幫助的,小編也把這100道題的答案總結了一份,由於太多隻展示前3道題答案,我做了一個文件,需要答案可以加小編的qq交流群624212887,在裡面獲取文件

1、堆和棧什麼區別? 答:管理方式:對於棧來講,是由編譯器自動管理,無需我們手工控制;對於堆來說,釋放工作由程式設計師控制,容易產生memory leak。 2、陣列和連結串列什麼區別? 答:陣列是將元素在記憶體中連續存放,由於每個元素佔用記憶體相同,可以通過下標迅速訪問陣列中任何元素。 連結串列恰好相反,連結串列中的元素在記憶體中不是順序儲存的,而是通過存在元素中的指標聯絡到一起。 3、delegate和notification什麼區別,什麼情況使用? 答:Delegate: 訊息的傳送者(sender)告知接收者(receiver)某個事件將要發生,delegate同意然然後傳送者響應事件, delegate機制使得接收者可以改變傳送者的行為。 通常傳送者和接收者的關係是直接的一對多的關係。 Notification: 訊息的傳送者告知接收者事件已經發生或者將要傳送,僅此而已,接收者並不能反過來影響傳送者的行為。 通常傳送者和接收者的關係是間接的多對多關係。