2020 iOS面试

前言

iOS面试辅助不针对任何一家面试题,这只是刷题的时候分享可能会出现的面试题,大家一起查漏补缺,温故知新。希望给你提供上真正帮助。

题目

1、说一下OC的反射机制;

2、block的实质是什么?有几种block?分别是怎样产生的?

3、__block修饰的变量为什么能在block里面能改变其值?

4、说一下线程之间的通信。

5、你们应用的崩溃率是多少?

6、说一下hash算法。

7、NSDictionary的实现原理是什么?

8、你们的App是如何处理本地数据安全的(比如用户名的密码)?

9、遇到过BAD_ACCESS的错误吗?你是怎样调试的?

10、什么是指针常量和常量指针?

11、不借用第三个变量,如何交换两个变量的值?要求手动写出交换过程。

12、若你去设计一个通知中心,你会怎样设计?

13、如何去设计一个方案去应对后端频繁更改的字段接口?

14、KVO、KVC的实现原理

15、用递归算法求1到n的和

16、category为什么不能添加属性?

17、说一下runloop和线程的关系。

18、说一下autoreleasePool的实现原理。

19、说一下简单工厂模式,工厂模式以及抽象工厂模式?

20、如何设计一个网络请求库?

21、说一下多线程,你平常是怎么用的?

22、说一下UITableViewCell的卡顿你是怎么优化的?

23、看过哪些三方库?说一下实现原理以及好在哪里?

24、说一下HTTP协议以及经常使用的code码的含义。

25、设计一套缓存策略。

26、设计一个检测主线和卡顿的方案。

27、说一下runtime,工作是如何使用的?看过runtime源码吗?

28、说几个你在工作中使用到的线程安全的例子。

29、用过哪些锁?哪些锁的性能比较高?

30、说一下HTTP和HTTPs的请求过程?

31、说一下TCP和UDP

32、说一下静态库和动态库之间的区别

33、load和initialize方法分别在什么时候调用的?

34、NSNotificationCenter是在哪个线程发送的通知?

35、用过swift吗?如果没有,平常有学习吗?

36、说一下你对架构的理解?

37、为什么一定要在主线程里面更新UI?


 

你可能感兴趣的:(iOS面试题总结,ios,react,native,objective-c)