iOS开发入职京东28k面试题
前言
是小编今年面试经历被问到的问题,并记录下自己的笔记分享出来。喜欢的可以收藏,大家一起努力。
以下是面试题看看你都会了吗?
第一部分:iOS面试题(上)
1: 怎么保证自己的类一定能调用到自己写的方法?
2: isa指针里面储存了哪些信息?
3: 为什么block要用copy修饰?
4: 什么是离屏渲染以及离屏渲染的影响?
5: 说说你对ro、rw和rwe的理解?
6: 苹果为什么要设计元类?
7: 原子属性能保障线程安全吗?为什么?
8: 如何手动关闭 KVO?如何手动触发 KVO?KVO的实现原理?
9: 用一句话描述GCD发生的死锁现象?
10: 单例的弊端?
第二部分:iOS面试题(中)
11: load()和initialize()的区别?
12: 简述APP main()函数执行前的启动流程?
13: runtime 如何通过 selector 找到对应的 IMP 地址?
14: 简述你对self和super的理解?
15: 简述一下dealloc的实现机制?
16: 类簇的优缺点
17: NSOperation 与 GCD 的主要区别?
18: 介绍下App启动的完整过程?
19: SDWebImage原理
20: 三次握手与四次挥手
第三部分:iOS面试题(下)
21: 怎么防止反编译?
22: 为什么CTMediator方案优于基于Router的方案?
23: 断点续传如何实现的?
24: JS有没有用过,原理是什么?
25: 简述组件化实现过程
26: 分类的底层是怎么实现的?
27: 如何监控线上版本APP启动耗时(包含动态库的加载时间)
28: 如何优化 App 的启动耗时?
29: 动态库和静态库的区别?为什么动态库会影响启动速度?
30: 使用drawRect有什么影响?
31: 自动释放池的原理?
32: UITableView重用机制原理?
答案:
由于答案太多,我做了一个PDF文档,由于简书不能上传文件,,由于文章有限,需要这些文档的,
点击腾讯文档自取吧
![](https://img.haomeiwen.com/i18671920/bb45c9abdb91404f.png)