2019最全的iOS面試題及答案

最全的iOS面試題及答案

iOS面試小貼士

———————————————回答好下面的足夠了-------------------------------------

目錄:

基礎(chǔ)
  1. 如何令?自?己所寫的對(duì)象具有拷?貝功能?
  2. 說說你理理解weak屬性?
  3. 題?目:Swift mutating關(guān)鍵字的使?用?
  4. UIView和 CALayer是什什么關(guān)系?
  5. 下?面的代碼輸出什什么?
  6. @synthesize 和 @dynamic 分別有什什么作?用?
  7. 動(dòng)態(tài)綁定
  8. Category(類別)、 Extension(擴(kuò)展)和繼承的區(qū)別
  9. 為什什么代理理要?用weak?代理理的delegate和dataSource有什什么區(qū)別?block和代理理 的區(qū)別?
  10. id和NSObject*的區(qū)別
  11. 如何令?自?己所寫的對(duì)象具有拷?貝功能?
  12. 使?用系統(tǒng)的某些block api(如UIView的block版本寫動(dòng)畫時(shí)),是否也考慮引?用 循環(huán)問題?
  13. ?用@property聲明的NSString(或NSArray,NSDictionary)經(jīng)常使?用copy關(guān)鍵 字,為什什么?如果改?用strong關(guān)鍵字,可能造成什什么問題?
  14. UIView和 CALayer是什什么關(guān)系?
  15. static有什什么作?用?
底層:
  1. main()之前的過程有哪些?
  2. KVO基本原理理?
  3. Swift 下的如何使?用 KVC?
  4. :Swift有哪些模式匹配?
  5. objc在向?一個(gè)對(duì)象發(fā)送消息時(shí),發(fā)?生了了什什么?
  6. 靜態(tài)庫的原理理是什什么?你有沒有?自?己寫過靜態(tài)編譯庫,遇到了了哪些問題?
  7. runloop是來做什什么的?runloop和線程有什什么關(guān)系?主線程默認(rèn)開啟了了runloop 么??子線程呢?
  8. 不不?手動(dòng)指定autoreleasepool的前提下,?一個(gè)autorealese對(duì)象在什什么時(shí)刻釋放? (?比如在?一個(gè)vc的viewDidLoad中創(chuàng)建
  9. 不不?手動(dòng)指定autoreleasepool的前提下,?一個(gè)autorealese對(duì)象在什什么時(shí)刻釋放? (?比如在?一個(gè)vc的viewDidLoad中創(chuàng)建)
  10. OC完整的消息轉(zhuǎn)發(fā)機(jī)制+代碼實(shí)現(xiàn)【暴暴擊】
  11. 以+ scheduledTimerWithTimeInterval...的?方式觸發(fā)的timer,在滑動(dòng)?頁?面上的 列列表時(shí),timer會(huì)暫定回調(diào),為什什么?如何解決?
  12. 如何?手動(dòng)觸發(fā)?一個(gè)value的KVO
  13. 如何對(duì)定位和分析項(xiàng)?目中影響性能的地?方?以及如何進(jìn)?行行性能優(yōu)化?
  14. 串串?行行并?行行,異步同步的區(qū)別?
  15. 線程是什什么?進(jìn)程是什什么??二者有什什么區(qū)別和聯(lián)系?
  16. RunLoop是什什么?
  17. 假設(shè)有?一個(gè)字符串串a(chǎn)abcad,請(qǐng)寫?一段程序,去掉字符串串中不不相鄰的重復(fù)字符 串串,即上述字符串串處理理之后的輸出結(jié)果為:aabcd @autoclosure(?自動(dòng)閉包)
  18. iOS app啟動(dòng)如何優(yōu)化?
  19. swift?面試題:
  20. 怎樣防?止反編譯?
  21. UITableView性能優(yōu)化,超實(shí)?用
    線程:
  22. 不不要阻塞主線程
  23. 談?wù)勀銓?duì)多線程開發(fā)的理理解?ios中有?幾種實(shí)現(xiàn)多線程的?方法?
  24. 進(jìn)程和線程的區(qū)別?同步異步的區(qū)別?并?行行和并發(fā)的區(qū)別?
  25. ViewController?生命周期
  26. iOS 中的多線程
  27. 內(nèi)存管理理的?幾條原則時(shí)什什么?按照默認(rèn)法則.那些關(guān)鍵字?生成的對(duì)象 需要?手動(dòng)釋放?在和property結(jié)合的時(shí)候怎樣有效的避免內(nèi)存泄露露? 誰申請(qǐng),誰釋放
  28. dispatch_barrier_async的作?用是什什么?
  29. 如何?用GCD同步若?干個(gè)異步調(diào)?用?(如根據(jù)若?干個(gè)url異步加載多張圖?片,然后在 都下載完成后合成?一張整圖)
http:
  1. http與https的區(qū)別?
  2. 服務(wù)器?能否知道APNS推送后有沒有到達(dá)客戶端的?方法?
app:
  1. 1.什什么?方式可以看到上架App的頭?文件?
    2.閱讀過哪些框架的源碼?能說說它的架構(gòu)?方式嗎
  2. iOS iAP內(nèi)購(gòu)審核可能失敗的問題

IAP內(nèi)購(gòu)中虛擬貨幣導(dǎo)致審核?無法通過的問題?

基礎(chǔ):

1、如何令?自?己所寫的對(duì)象具有拷?貝功能?
如果想讓?自?己的類具備copy?方法,并返回不不可邊類型,必須遵循nscopying協(xié)議,并 且實(shí)現(xiàn)
- (id)copyWithZone:(NSZone *)zone
如果讓自?己的類具備mutableCopy方法,并且放回可變類型,必須遵守NSMutableCopying并實(shí)現(xiàn)- (id)mutableCopyWithZone:(nullable NSZone *)zone注意:再此說的copy對(duì)應(yīng)不不可邊類型和mutableCopy對(duì)應(yīng)不不可邊類型?方法,都是遵從 系統(tǒng)規(guī)則?而已。如果你想實(shí)現(xiàn)?自?己的規(guī)則,也是可以的。

2、 釋放時(shí),調(diào)?用clearDeallocating函數(shù)。clearDeallocating函數(shù)?首先根據(jù)對(duì)象地址 獲取所有weak指針地址的數(shù)組,然后遍歷這個(gè)數(shù)組把其中的數(shù)據(jù)設(shè)為nil后把這個(gè)entry從weak表中刪除,后清理理對(duì)象的記錄。

追問的問題?:
1.實(shí)現(xiàn)weak后,為什么對(duì)象釋放后會(huì)自動(dòng)為nil

runtime?對(duì)注冊(cè)的類, 會(huì)進(jìn)?行行布局,對(duì)于?weak?對(duì)象會(huì)放?入?一個(gè)?hash?表中。 ?用?weak?指向的對(duì)象內(nèi)存地址作為?key,當(dāng)此對(duì)象的引?用計(jì)數(shù)為?0?的時(shí)候會(huì)? dealloc,假如?weak?指向的對(duì)象內(nèi)存地址是?a?,那么就會(huì)以?a?為鍵, 在這個(gè)? weak?表中搜索,找到所有以?a?為鍵的?weak?對(duì)象,從?而設(shè)置為?nil?。

由于太長(zhǎng)只能寫到這里 需要這份面試題的朋友可以到群里:763164022直接下載學(xué)習(xí),群里不僅有面試資料還有群友在聊技術(shù),群里全是iOS開發(fā)者,希望大家共同進(jìn)步!

image.png
image.png

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容