iOS 面试题集合

前言

本文借鉴整理了iOS高级开发常见的面试题,并且分博客一一分析,希望能和大家一起进步学习。

欢迎大家关注我的 Github👏以及相关博客 Github.io 博客园

大家的鼓励是我前进的动力😄

iOS基础题

  1. 分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员?
    iOS分类Category探索
  2. 讲一下atomic的实现机制;为什么不能保证绝对的线程安全(最好可以结合场景来说)?
  3. 被weak修饰的对象在被释放的时候会发生什么?是如何实现的?知道sideTable么?里面的结构可以画出来么?
  4. 关联对象有什么应用,系统如何管理关联对象?其被释放的时候需要手动将其指针置空么?
    AssociatedObject关联对象原理实现
  5. KVO的底层实现?如何取消系统默认的KVO并手动触发(给KVO的触发设定条件:改变的值符合某个条件时再触发KVO)?
    刨根问底KVO原理
  6. Autoreleasepool所使用的数据结构是什么?AutoreleasePoolPage结构体了解么?
  7. 讲一下对象,类对象,元类,跟元类结构体的组成以及他们是如何相关联的?为什么对象方法没有保存的对象结构体里,而是保存在类对象的结构体里?
  8. class_ro_tclass_rw_t 的区别?
  9. iOS 中内省的几个方法?class方法和objc_getClass方法有什么区别?
  10. 在运行时创建类的方法objc_allocateClassPair的方法名尾部为什么是pair(成对的意思)?
  11. 一个int变量被__block修饰与否的区别?
    \12. 为什么在block外部使用__weak修饰的同时需要在内部使用__strong修饰?
  12. RunLoop的作用是什么?它的内部工作机制了解么?(最好结合线程和内存管理来说)
  13. 哪些场景可以触发离屏渲染?(知道多少说多少)

iOS 实战题

  1. AppDelegate如何瘦身?
  2. 反射是什么?可以举出几个应用场景么?(知道多少说多少)
  3. 有哪些场景是NSOperation比GCD更容易实现的?(或是NSOperation优于GCD的几点,知道多少说多少)
  4. App 启动优化策略?最好结合启动流程来说(main()函数的执行前后都分别说一下,知道多少说多少)
  5. App 无痕埋点的思路了解么?你认为理想的无痕埋点系统应该具备哪些特点?(知道多少说多少)
  6. 你知道有哪些情况会导致app崩溃,分别可以用什么方法拦截并化解?(知道多少说多少)
  7. 你知道有哪些情况会导致app卡顿,分别可以用什么方法来避免?(知道多少说多少)

网络题

  1. App 网络层有哪些优化策略?
  2. TCP为什么要三次握手,四次挥手?
  3. 对称加密和非对称加密的区别?分别有哪些算法的实现?
  4. HTTPS的握手流程?为什么密钥的传递需要使用非对称加密?双向认证了解么?
  5. HTTPS是如何实现验证身份和验证完整性的?
  6. 如何用Charles抓HTTPS的包?其中原理和流程是什么?
  7. 什么是中间人攻击?如何避免?

计算机系统题

  1. 了解编译的过程么?分为哪几个步骤?
  2. 静态链接了解么?静态库和动态库的区别?
  3. 内存的几大区域,各自的职能分别是什么?
  4. static和const有什么区别?
  5. 了解内联函数么?
  6. 什么时候会出现死锁?如何避免?
  7. 说一说你对线程安全的理解?
  8. 列举你知道的线程同步策略?
  9. 有哪几种锁?各自的原理?它们之间的区别是什么?最好可以结合使用场景来说

设计模式题

  1. 除了单例,观察者设计模式以外,还知道哪些设计模式?分别介绍一下
  2. 最喜欢哪个设计模式?为什么?
  3. iOS SDK 里面有哪些设计模式的实践?
  4. **设计模式是为了解决什么问题的?
  5. **设计模式的成员构成以及工作机制是什么?
  6. **设计模式的优缺点是什么?

架构 & 设计题

  1. MVC和MVVM的区别?MVVM和MVP的区别?
  2. 面向对象的几个设计原则了解么?最好可以结合场景来说。
  3. 可以说几个重构的技巧么?你觉得重构适合什么时候来做?
  4. 你觉得框架和设计模式的区别是什么?
  5. 看过哪些第三方框架的源码,它们是怎么设计的?设计好的地方在哪里,不好的地方在哪里,如何改进?(这道题的后三个问题的难度已经很高了,如果不是太N的公司不建议深究)

数据结构&算法题

  1. 链表和数组的区别是什么?插入和查询的时间复杂度分别是多少?
  2. 哈希表是如何实现的?如何解决地址冲突?
  3. 排序题:冒泡排序,选择排序,插入排序,快速排序(二路,三路)能写出那些?
  4. 链表题:如何检测链表中是否有环?如何删除链表中等于某个值的所有节点?
  5. 数组题:如何在有序数组中找出和等于给定值的两个元素?如何合并两个有序的数组之后保持有序?
  6. 二叉树题:如何反转二叉树?如何验证两个二叉树是完全相等的?

引用

出一套 iOS 高级面试题

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,757评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,478评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,540评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,593评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,903评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,329评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,659评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,383评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,055评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,337评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,864评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,227评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,820评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,999评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,750评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,365评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,260评论 2 258

推荐阅读更多精彩内容