iOS 真实面试题(中级岗位·无模板化话术)_第1页
iOS 真实面试题(中级岗位·无模板化话术)_第2页
iOS 真实面试题(中级岗位·无模板化话术)_第3页
iOS 真实面试题(中级岗位·无模板化话术)_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

iOS真实面试题(中级岗位·无模板化话术)说明:本套面试题适配1-3年、3-5年iOS开发岗位,全部为一线公司真实高频提问,无套话、无机械化表述,侧重工程实战、底层原理、问题排查与项目落地,可直接用于面试自测、笔试、面试官出题。一、Swift基础与语法核心(高频必问)1.说说Swift中struct和class的核心区别,日常开发中你会怎么选型?2.解释一下值类型和引用类型,分别举例日常使用场景,以及各自的优缺点?3.Swift的let和const、var的区别,lazy懒加载的使用场景和注意事项?4.详细说说Optional可选类型,!和?的使用区别,隐式解包什么情况下会崩溃?5.guard和iflet的区别,项目中为什么优先使用guard?6.protocol协议的用法,extension能不能给协议加默认实现?有什么坑?7.static和class修饰方法、属性的区别,分别什么时候用?8.Swift泛型的作用,写一个简单的泛型工具方法,实际项目用过哪些泛型场景?9.枚举enum的进阶用法,关联值和原始值的区别,项目中的使用场景?10.Swift闭包的循环引用问题,weak、unowned的区别,分别适配什么场景?二、OC基础与混编原理(面试必考)1.说说OC的消息机制,objc_msgSend的执行流程?2.分类Category能不能加属性?为什么?如果要实现分类属性怎么处理?3.扩展Extension和分类的区别?4.@property各种修饰符(strong、weak、copy、assign)的区别,分别对应什么类型?5.为什么NSString要用copy,用strong会有什么问题?6.KVO的实现原理,手动触发KVO的方式,KVO常见崩溃场景?7.KVC的底层原理,能实现哪些常规方法做不到的操作?8.OC单例的几种写法,线程安全的单例怎么写?9.Swift和OC混编的注意事项,桥接文件的作用,哪些Swift语法不支持混编?三、内存管理与崩溃排查(工程重点)1.iOS内存管理机制,ARC原理是什么?ARC什么时候不生效?2.说说你项目中遇到的循环引用场景,除了闭包还有哪些常见情况?3.野指针和空指针的区别,分别会造成什么崩溃?4.内存泄漏的常见场景,日常用哪些工具排查内存问题?5.僵尸模式的作用,什么情况下需要开启?6.说说OOM崩溃的原因和排查思路,和普通闪退有什么区别?7.后台内存压缩机制了解吗?对App有什么影响?四、多线程与并发(核心难点)1.GCD的核心队列类型,主队列、全局队列、自定义队列的区别?2.同步、异步、串行、并行组合的四种场景,分别会不会开启新线程?3.说说GCD死锁的产生条件,举两个日常开发常见死锁案例?4.dispatch_once、dispatch_after、dispatch_group、dispatch_barrier的使用场景?5.GCD信号量的作用,用来解决什么问题?有什么坑?6.Operation和GCD的区别,各自优势?Operation怎么控制最大并发数?7.多线程数据安全问题,除了锁还有哪些解决方案?8.各种锁的区别:osspinlock、mutex、递归锁、读写锁,日常怎么选型?五、UI渲染与界面开发(实战向)1.UIView和CALayer的区别,响应链和渲染链的差异?2.iOS界面渲染流程是什么?卡顿的根本原因?3.什么是离屏渲染?哪些场景会触发?怎么优化?4.圆角、阴影、边框同时设置为什么会卡?最优解决方案是什么?5.AutoLayout的优缺点,复杂列表AutoLayout卡顿怎么优化?6.frame和bounds的区别,transform对frame和bounds的影响?7.手势响应流程,怎么解决手势冲突问题?8.列表UITableView/UICollectionView卡顿、滑动掉帧的全套优化方案?9.列表预加载、复用机制原理,复用Cell有哪些常见坑?六、网络与数据处理(业务高频)1.HTTPS和HTTP的区别,TLS握手流程?2.为什么HTTPS相对安全,有没有被篡改的风险?3.iOS网络请求代理、SSL校验、证书固定怎么做?4.网络缓存策略,NSCache和UserDefaults缓存的区别?5.接口幂等性怎么保证?重复请求怎么拦截?6.弱网、断网、重试机制怎么设计?7.JSON解析常见异常,怎么做容错处理?8.长链接和短链接的区别,项目中WebSocket的使用场景和断连重连逻辑?七、性能优化与项目调优(进阶必考)1.你做过哪些App性能优化?从启动、卡顿、内存、耗电、包体积几个维度说明?2.App启动流程,主启动、冷启动、热启动的区别,启动耗时怎么优化?3.耗电优化的核心思路,哪些操作最耗电?4.包体积瘦身的具体方案,资源、代码、编译层面分别怎么处理?5.怎么监控线上卡顿、崩溃、内存波动?6.页面渲染耗时、主线程阻塞怎么定位和解决?八、工程化与底层原理(中高级必问)1.Xcode编译流程,预处理、编译、汇编、链接分别做什么?2.Mach-O文件结构了解吗?主要包含哪些段?3.静态库和动态库的区别,各自优缺点和使用场景?4.组件化的思路,项目中怎么拆分组件、解决组件依赖?5.CocoaPods原理,私有库怎么搭建?6.怎么解决库冲突、版本依赖问题?7.代码规范、打包脚本、CI/CD在项目中的落地?九、项目实战场景题(手撕问答,最拉分)1.列表滑动时同时加载网络图片,怎么保证流畅不卡顿、不乱图?2.多个接口并发请求,全部成功再刷新页面,一个失败直接报错怎么实现?3.如何实现一个线程安全的单例工具类?4.页面跳转传值的几种方式,各自适用场景和优缺点?5.怎么处理导航栏手势返回和自定义导航栏的冲突?6.大文件上传、分片上传怎么设计?7.怎么避免页面多次重复点击、重复跳转?8.线上偶现崩溃怎么一步步排查定位?十、主观项目面试题(终面必问)1.介绍一下你最熟悉的一个项目,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论