面試了10名開發者後,總結了50道iOS面試題

前言:

金九銀十,金九已通過去,到了銀十,根據統計,不少人都會選擇在三月四月跳槽,緣由有不少,企業年後會有大量員工離職,員工以爲老公司待遇不怎麼樣?薪資不夠高,想換個新環境等等緣由,因此,十月份就變成了招聘與跳槽的旺季
前面一段時間給公司面試了10個iOS開發,本身總結了50道面試題,在此,我分享給你們,但願你們在四月份要找工做的朋友,個人這篇文章能給你有所幫助。ios

基礎:

一、如何令本身所寫的對象具備拷貝功能?
二、說說你理解weak屬性?
三、題目:Swift mutating關鍵字的使用?
四、UIView和CALayer是什麼關係?
五、下面的代碼輸出什麼?
六、@synthesize 和 @dynamic 分別有什麼做用?
七、動態綁定
八、Category(類別)、 Extension(擴展)和繼承的區別
九、爲何代理要用weak?代理的delegate和dataSource有什麼區別?block和代理的區別?
十、id和NSObject*的區別
十一、如何令本身所寫的對象具備拷貝功能?
十二、使用系統的某些block api(如UIView的block版本寫動畫時),是否也考慮引用循環問題?
1三、用@property聲明的NSString(或NSArray,NSDictionary)常用copy關鍵字,爲何?若是改用strong關鍵字,可能形成什麼問題?
1四、UIView和 CALayer是什麼關係?
1五、static有什麼做用?面試

底層:

1六、main()以前的過程有哪些?
1七、KVO基本原理?
1八、Swift 下的如何使用 KVC?
1九、:Swift有哪些模式匹配?
20、objc在向一個對象發送消息時,發生了什麼?
2一、靜態庫的原理是什麼?你有沒有本身寫過靜態編譯庫,遇到了哪些問題?
2二、runloop是來作什麼的?runloop和線程有什麼關係?主線程默認開啓了runloop麼?子線程呢?
2三、不手動指定autoreleasepool的前提下,一個autorealese對象在什麼時刻釋放?(好比在一個vc的viewDidLoad中建立
2四、不手動指定autoreleasepool的前提下,一個autorealese對象在什麼時刻釋放?(好比在一個vc的viewDidLoad中建立)
2五、OC完整的消息轉發機制+代碼實現【暴擊】
2六、、以+ scheduledTimerWithTimeInterval...的方式觸發的timer,在滑動頁面上的列表時,timer會暫定回調,爲何?如何解決?
2七、如何手動觸發一個value的KVO
2八、如何對定位和分析項目中影響性能的地方?以及如何進行性能優化?
2九、串行並行,異步同步的區別?
30、線程是什麼?進程是什麼?兩者有什麼區別和聯繫?
3一、RunLoop是什麼?
3二、假設有一個字符串aabcad,請寫一段程序,去掉字符串中不相鄰的重複字符串,即上述字符串處理以後的輸出結果爲:aabcd
@autoclosure(自動閉包)
3四、iOS app啓動如何優化?
3五、swift面試題:
3六、怎樣防止反編譯?
3七、UITableView性能優化,超實用swift

線程:

3七、 不要阻塞主線程
3八、談談你對多線程開發的理解?ios中有幾種實現多線程的方法?
3九、進程和線程的區別?同步異步的區別?並行和併發的區別?
40、ViewController生命週期
4一、iOS 中的多線程
4二、內存管理的幾條原則時什麼?按照默認法則.那些關鍵字生成的對象
須要手動釋放?在和property結合的時候怎樣有效的避免內存泄露?
誰申請,誰釋放
4三、dispatch_barrier_async的做用是什麼?
4四、如何用GCD同步若干個異步調用?(如根據若干個url異步加載多張圖片,而後在都下載完成後合成一張整圖)api

http:

4六、http與https的區別?
4七、服務器可否知道APNS推送後有沒有到達客戶端的方法?性能優化

app:

4八、1.什麼方式能夠看到上架App的頭文件?
2.閱讀過哪些框架的源碼?能說說它的架構方式嗎
4九、iOS iAP內購審覈可能失敗的問題
50、IAP內購中虛擬貨幣致使審覈沒法經過的問題?服務器

答案:

因爲答案太多,我作了一個PDF文檔,code4app不多玩,不能上傳文件,須要答案能夠加個人iOS交流羣624212887,獲取文檔,也歡迎招聘者。多線程

資料截圖

文檔資料截圖

文檔資料截圖

相關文章
相關標籤/搜索