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

#前言: 金九銀十,金九已通過去,到了銀十,根據統計,不少人都會選擇在三月四月跳槽,緣由有不少,企業年後會有大量員工離職,員工以爲老公司待遇不怎麼樣?薪資不夠高,想換個新環境等等緣由,因此,十月份就變成了招聘與跳槽的旺季 前面一段時間給公司面試了10個iOS開發,本身總結了50道面試題,在此,我分享給你們,但願你們在四月份要找工做的朋友,個人這篇文章能給你有所幫助。 #基礎: 一、如何令本身所寫的對象具備拷貝功能? 二、說說你理解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性能優化,超實用 #線程: 3七、 不要阻塞主線程 3八、談談你對多線程開發的理解?ios中有幾種實現多線程的方法? 3九、進程和線程的區別?同步異步的區別?並行和併發的區別? 40、ViewController生命週期 4一、iOS 中的多線程 4二、內存管理的幾條原則時什麼?按照默認法則.那些關鍵字生成的對象 須要手動釋放?在和property結合的時候怎樣有效的避免內存泄露? 誰申請,誰釋放 4三、dispatch_barrier_async的做用是什麼? 4四、如何用GCD同步若干個異步調用?(如根據若干個url異步加載多張圖片,而後在都下載完成後合成一張整圖) #http: 4六、http與https的區別? 4七、服務器可否知道APNS推送後有沒有到達客戶端的方法? #app: 4八、1.什麼方式能夠看到上架App的頭文件? 2.閱讀過哪些框架的源碼?能說說它的架構方式嗎 4九、iOS iAP內購審覈可能失敗的問題 50、IAP內購中虛擬貨幣致使審覈沒法經過的問題? #答案: 因爲答案太多,我作了一個PDF文檔,開源中國不多玩,不能上傳文件,須要答案能夠加個人iOS羣624212887,獲取文檔,歡迎找工做的,也歡迎招聘者。ios

資料截圖

文檔資料截圖

文檔資料截圖

相關文章
相關標籤/搜索