2021年iOS面试题

计算机相关:

1、串行队列和并行队列区别,异步和同步的区别,进程和线程的区别
2、数据结构有哪些
3、TCP/UDP的区别
4、http的请求方式有几种,每种的概念
5、htttp完成一次请求过程有哪些,请求那几部分构成,相应那几部分构成
6、https的介绍,对称加密和非对称加密的概念以及有哪些使用

iOS基础:

1、iOS设计的原则有哪些
2、iOS面向对象的特性,重写和重载的区别
3、iOS设计模式有哪几种
4、iOS内存中有多少区,每一区的含义和用法
5、属性关键词详细介绍,原子和非原子内部实现,strong和copy深浅复制的理解,对可变数据类型以及不可变的修饰作用。
weak和assign的区别,weak修饰的对象在内部如何实现,assign为什么不能修饰对象
6、分类添加的方法和原始类一样,调用哪一个?一个类建立两个分类,实现相同方法,又调用哪一个?顺序能否调节?
7、OC类的结构体指针了解?里面有些属性?类方法存在哪里,实例方法在哪里
8、viewController的生命周期?A push B,都执行了那些方法?
9、view和layer的区别
10、block有哪几种
11、const、static、extension关键字的使用
12、内存管理的了解,内存泄漏是什么?定时器Nstimer是否造成内存泄漏,为什么会导致?如何避免循环运用?ARC和MRC系统都做了哪些操作?
13、iOS中死锁的概念,如何避免
14、多线程哪几种,多线程GCD是否一定开启新线程
15、消息发送和消息转发简单介绍
16、APP内购的了解,描述实现内购的各个环节
17、swift的使用?swift和objectc的区别
18、APP初始启动时,都做了哪些操作【APP冷启动的阶段】
19、静态库和动态库的区别
20、RunLoop的概念以及内部原理,RunLoop内部组成部分,都起到那些作用
21、数据持久化有多少种,在沙盒如何存储?说明沙盒的文件夹结构以及每个文件的作用。
22、iOS怎么保证线程安全?锁有哪几种以及各个的用法
23、APP进入前台,进入后台,项目中处理了哪些操作。
25、instanceType和id
26、main函数做了什么?

iOS进阶:

1、SDWebImage第三方如果使用,那么详细讲解具体实现步骤
2、pod intall做了哪些事情
3、AFN内部做了哪些事情,如何保证线程通信的
4、Socket协议介绍,项目中的使用。
5、git命令行的介绍,如何解决冲突
6、列表卡顿优化?什么叫离屏渲染
7、FPS是什么
8、iOS定时器种类,那个误差最小
9、iOS系统架构
10、DSYM包如何分析的

你可能感兴趣的:(2021年iOS面试题)