上周抽空去两家规模不错的公司刷了一下笔试题和面试题,好东西当然是要拿出来分享的,小伙伴们也可以借此
复习一下iOS基础知识,要是打算跳槽的,那就更有必要看一下了。
介绍一下MVC和MVVM设计模式(重点)
介绍一下内存管理用到的属性关键字
浅拷贝和深拷贝的区别
APNS的远程推送过程,和本地通知的区别(重点)
多线程中GCD和NSOperation的不同,什么时候应该用NSOperation(重点)
- RunTime的消息传递机制和消息转发机制,开发中可以利用这时机做什么
对象间消息通信的方式有哪些?介绍每种通信方式的不同
类扩展和类别的不同
- SDWebImage的缓存机制(重点)
AFNetworking的实现核心
如果让你实现一个缓存机制,来优化数据存储,你会怎么做
- 多线程同步,异步,串行,并行,要有深入的了解
要同时下载多张图片,在下载完成后根据所有图片生成一张大的图片,你会如何实现
你把独立完成的项目框架画出来
你在项目中印象最深的经历是什么
- 对hello这个字符串进行排序
self和super的问题
- 关于GCD的信号量机制你懂吗
你会对网络框架进行二次封装吗,如何做,你都会提供什么方法供外部调用
UIView和Layer的关系
- ViewController的生命周期
在项目中你对代码重构过吗?都做过那些优化?
关于block的内存泄漏问题如何避免
- 现实开发者你遇到过哪些遇到手动释放的对象
- 如何模拟实现多继承
- 在viewController的生命周期的各个时机点,你会做些什么操作
- ARC内存管理的机制
如何让一个对象具有拷贝功能
- 你什么时候会使用字面量语法,有什么优点
- 如何对一个臃肿的VC进行瘦身
- 关于AOP(面向切面编程)你用过吗?一般用来干什么,内部的核心是什么
应用中能使用的内存是有限的,当一个应用含有大量高清图片的时候你会怎么处理,来减少内存的占用
RN的实现原理,你知道多少
KVO的实现原理
这些题呢,都只是引子,具体的面试过程中肯定要加很多的知识点扩展和细节描述的,所以知识面很重要,对有些知识点要深度挖掘,比如YYCache,YYModel,AFNetworking的源码,还是建议大家多看看。