为防止背题,大部分题目不设标准答案,重点考察面试者的基础知识和思惟逻辑,答案的提示见后面。面试
题目一、举例两个遇到过印象深入的外网Crash,并介绍如何发现、定位、解决;算法
题目二、举例两个性能问题的优化,并介绍如何发现、定位、解决以及原理;网络
题目三、介绍Objective-C的Runtime机制,并介绍在业务实际应用的例子;工具
题目四、苹果是如何保证iPhone只安装来自App Store的App?性能
题目五、你的App如何同后台进行通讯?其通讯过程包括哪些步骤;学习
题目六、你有1元、5元、7元三种硬币,求一种方法,用最少的硬币凑出m元;(m∈[100, 1000])优化
题目七、产品但愿实现一个功能,将10~100张图片直接拼成1个视频,你会如何实现?加密
一、Tips日志
题目几个隐含点: 一、Crash上报方式,考察业务如何监控Crash; 二、Crash定位,考察iOS基础知识:常见Crash类型、Crash日志分析能力(符号化、堆栈分析等); 三、Crash解决,是否为适当的解决方式,如何保证相似问题再也不复发;code
二、Tips
题目几个隐含点: 一、性能问题的发现,考察常见工具的使用,包括Xcode的Debug Session和Instruments; 二、CPU占用和内存占用,要么是实现方案的优化,要么是空间和时间互换,以优化内存和CPU占用; 三、GPU占用,如何定位和优化GPU占用; 四、加分项:耗电量分析; 五、原理:优化先后的方案对比,考察实现方案的算法分析能力以及基础的计算机体系结构知识;
三、Tips
Runtime是OC的特性,题目是为考察OC的了解程度; 具体的应用过程要考虑到稳定性、性能消耗、可扩展性等。
四、Tips
苹果的证书机制,考察对苹果生态的了解以及基础的不对称加密; Certificate、Provisioning Profile、App ID、代码签名等。
五、Tips
两方面考察: 一、网络通讯过程,对TCP/IP和HTTP的了解; 二、APP的网络层和业务层如何通讯;
六、Tips
贪心或者动态规划。
七、Tips
实现方案有几个考察点: 一、技术选型,从业务的角度出发,细化产品的要求,好比使用场景、用户需求等,再决定用哪些技术解决问题;(Tips:待选方案有AVFoudation、GPUImage等) 二、实现细节,如何保证使用过程当中内存不占用过大、CPU使用不太高;
总结 题目纯粹原创,没有参考任何面试题。
真正面试的过程,会有更加复杂和细节的题目。 就面试而言,有时候能发挥出150%的实力,有时候却只能发挥出50%。 我对提早作面试题的见解:面试就如同窗生时代的考试,有些人平时学习认真,裸考也能名列前茅;有些人平时懒一些,考前拼几周也能得到不错的成绩。
小编给你们推荐一个iOS进阶交流群763164022,群内有来自五湖四海的作开发的小伙伴,而且有群主整理好的将近两百道出现率比较高的面试题以及详解!但愿对即将跳槽和面试的小伙伴有帮助!