2020 iOS面试

本文汇总了iOS开发面试中常见的技术问题,涵盖OC反射机制、block实质、线程通信、hash算法、App数据安全处理、BAD_ACCESS调试、线程安全实践等核心知识点,旨在帮助开发者查漏补缺,提升面试准备效率。

前言

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?


 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值