2021年我的ios進(jìn)階面試題

今年參加了很多面試,看看我的面試題是哪些

我遇到的能想起來(lái)的面試題
  1. 什么事Runloop?簡(jiǎn)述Runloop的執(zhí)行順序、用Runloop實(shí)現(xiàn)一個(gè)后臺(tái)常駐線(xiàn)程。
    參考 https://juejin.cn/post/6868551023439544333
  2. 列舉幾種實(shí)現(xiàn)延遲調(diào)用的方法?
  3. 簡(jiǎn)述面向過(guò)程與面向?qū)ο蟮膮^(qū)別,面向?qū)ο笥心男┨匦裕?/li>
  4. 簡(jiǎn)述動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù)的區(qū)別,ios中動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù)的表現(xiàn)形式分別是什么?簡(jiǎn)述.a 和 .framework的區(qū)別?
  5. 如何實(shí)現(xiàn)OC與Swift的混編?
  6. 簡(jiǎn)述項(xiàng)目中使用過(guò)的APP優(yōu)化策略,不限于啟動(dòng)優(yōu)化、UI卡頓優(yōu)化等?
    參考 http://m.itdecent.cn/p/024b3d847fe0
    http://m.itdecent.cn/p/80f72cdb0aa9
  7. 消息轉(zhuǎn)發(fā)原理 ?消息轉(zhuǎn)發(fā)機(jī)制?
    參考 http://m.itdecent.cn/p/6c219728bf68
  8. coacoapods 中的pod init,和pod update 的區(qū)別?
  9. 組件化是怎么實(shí)現(xiàn)的?
  10. 簡(jiǎn)述下你常用的第三方庫(kù)有哪些?并闡述你熟悉的某個(gè)第三方庫(kù)的實(shí)現(xiàn)原理?
  11. runTime的理解
  12. autoRelease的理解
  13. load什么時(shí)候調(diào)用?
    參考 https://juejin.cn/post/6884133502401396744
  14. block 的實(shí)現(xiàn)機(jī)制是什么?調(diào)用外部變量為什么要用__block ? __block
    和 weak,strong 的區(qū)別?
    參考: http://m.itdecent.cn/p/221d0778dcaa
    心得:
  • block就是一個(gè)對(duì)象,把要實(shí)現(xiàn)的方法賦值給此對(duì)象屬性,
  • block調(diào)用外部的值類(lèi)型變量,就是在聲明block時(shí),就把值傳遞給了block,所以之后修改值對(duì)block無(wú)影響,block捕獲的是值。
  • 如果值變量用static修飾,block捕獲的是值變量的地址;
    block修改全局變量: block并沒(méi)有把num作為參數(shù),_block_func_0中也是直接訪(fǎng)問(wèn)全局變量.
  • block使用self時(shí),會(huì)捕獲self,block會(huì)聲明個(gè)self類(lèi)型的strong屬性<self>,block強(qiáng)引用self,同時(shí)self也會(huì)強(qiáng)引用block,
  • 使用Weak解除block循環(huán)引用時(shí),block會(huì)聲明個(gè)self類(lèi)型的weak屬性<weakself>,解除循環(huán)
  • clang 可以查看 源碼block原理 參考 https://www.sohu.com/a/319619700_208051
    clang 報(bào)錯(cuò)參考 http://m.itdecent.cn/p/741b550db5a9
  • strong,copy的區(qū)別 參考 http://m.itdecent.cn/p/62913d6cbc40
  1. weak,strong 怎么實(shí)現(xiàn)內(nèi)存管理的?

  2. 簡(jiǎn)述下 mvc,mvp,mvvM

  3. loadview,viewdidload,viewdidunload 都什么時(shí)候調(diào)用,主要處理什么?

  4. 常用的加密方法有哪些?
    參考:http://m.itdecent.cn/p/cee228aabdbc

  5. 怎么保證APP的安全的?

  6. 說(shuō)說(shuō)你對(duì) 堆,棧,靜態(tài)區(qū)域的理解?
    參考 https://www.cnblogs.com/codetime/p/7353434.html
    http://m.itdecent.cn/p/eaa20cf39ad5

  7. alloc,init ,new
    參考 http://m.itdecent.cn/p/b0324891661c

  8. iOS開(kāi)發(fā)之+load與+initialize
    參考 http://m.itdecent.cn/p/7a5610d5802f

  9. 單例是怎么實(shí)現(xiàn)的?怎么避免單例被多次創(chuàng)建?
    http://www.cocoachina.com/articles/21300

  10. ios內(nèi)存管理是怎么實(shí)現(xiàn)的?

  11. 加密方式有哪些?對(duì)稱(chēng)加密和非對(duì)稱(chēng)加密的區(qū)別?

  12. http 和https 的區(qū)別?

  13. App 啟動(dòng)時(shí) 經(jīng)歷了什么?
    http://m.itdecent.cn/p/ecfb61b68c89
    https://zhuanlan.zhihu.com/p/28600469

  14. 多線(xiàn)程
    http://m.itdecent.cn/p/5593af00c597

  15. kvo
    http://m.itdecent.cn/p/56baca325824

  16. mvc,MVP,mvvm的區(qū)別?
    http://m.itdecent.cn/p/d39a5eee48d7
    附代碼demo https://blog.csdn.net/xiaozhuanddapang/article/details/78553215
    有示例代碼 http://m.itdecent.cn/p/2c80175044f6

  17. wkwebview 性能優(yōu)化,緩存處理?

  18. int 值傳遞,地址傳遞?

  19. 各種第三方框架實(shí)現(xiàn)原理,AFnetWoring,MJExtion,SDwebimage

  20. UI事件傳遞原理?
    hitTest

  21. swift 什么時(shí)候用stuct 什么時(shí)候用class?

swift面試題 別人整理的

http://m.itdecent.cn/p/e7eeff77adcd

記錄

  1. ios分層架構(gòu)設(shè)計(jì) 參考http://m.itdecent.cn/p/1de2a8ac7b2d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

ps備注:
查看底層源碼的命令
clang -rewrite-objc main.m
clang -rewrite-objc -framework Foundation main.m
clang -rewrite-objc -fobjc-arc -fobjc-runtime=macosx-11.2.3 main.m

最后編輯于
?著作權(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)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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