2020年面向iOS开发人员的知识点总结(更新中)-创新互联
前言:
最近在整理自己的技术栈,收集了一些自己认为比较重要的知识点分享给大家。
创新互联建站主营翁牛特网站建设的网络公司,主营网站建设方案,app软件开发公司,翁牛特h5微信小程序定制开发搭建,翁牛特网站营销推广欢迎翁牛特等地区企业咨询Runloop
1. iOS中触摸事件传递和响应原理
2. 为什么只有主线程的
runloop
是开启的
3. 为什么只在主线程刷新UI
4.
PerformSelector
和
runloop
的关系
5.GCD 在Runloop中的使用?
6.AFNetworking 中如何运用 Runloop?
Runtime
1.Category 的实现原理?
2.isa指针的理解,对象的isa指针指向哪里?isa指针有哪两种类型?
3.Objective-C 如何实现多重继承?
4.runtime 如何实现 weak 属性?
5.讲一下 OC 的消息机制
6.runtime具体应用
7.runtime如何通过selector找到对应的IMP地址?
8.简述下Objective-C中调用方法的过程
9.load和initialize的区别
10.怎么理解Objective-C是动态运行时语言。
KVO
1. 实现原理
2. 通过KVC修改属性会触发KVO么?KVC的赋值和取值过程是怎样的?原理是什么?
3. 哪些情况下使用kvo会崩溃,怎么防护崩溃
4. kvo的优缺点
Block
block
的内部实现,结构体是什么样的- block是类吗,有哪些类型
- 一个
int
变量被__block
修饰与否的区别?block的变量截获 block
在修改NSMutableArray
,需不需要添加__block
- 怎么进行内存管理的
block
可以用strong
修饰吗- 解决循环引用时为什么要用
__strong、__weak
修饰 block
发生copy
时机Block
访问对象类型的auto变量
时,在ARC和MRC
下有什么区别
多线程
主要以GCD为主
iOS
开发中有多少类型的线程?分别对比GCD
有哪些队列,默认提供哪些队列GCD
有哪些方法apiGCD
主线程 & 主队列的关系- 如何实现同步,有多少方式就说多少
dispatch_once
实现原理- 什么情况下会死锁
- 有哪些类型的线程锁,分别介绍下作用和使用场景
NSOperationQueue
中的maxConcurrentOperationCount
默认值NSTimer、CADisplayLink、dispatch_source_t
的优劣
架构设计
- 手动埋点、自动化埋点、可视化埋点
MVC、MVP、MVVM
设计模式- 常见的设计模式
- 单例的弊端
- 常见的路由方案,以及优缺点对比
- 如果保证项目的稳定性
- 设计一个图片缓存框架(LRU)
- 如何设计一个
git diff
- 设计一个线程池?画出你的架构图
- 你的app架构是什么,有什么优缺点、为什么这么做、怎么改进
数据结构
1.数据结构的存储一般常用的有几种?各有什么特点?
2.集合结构 线性结构 树形结构 图形结构
3.单向链表 双向链表 循环链表
4.数组和链表区别
5.堆、栈和队列
6.输入一棵二叉树的根结点,求该树的深度?
7.输入一课二叉树的根结点,判断该树是不是平衡二叉树?
8.字符串处理
这是我的iOS开发交流群: 519832104不管你是小白还是大牛欢迎入驻,可以一起分享经验,讨论技术,共同学习成长!
另附上一份各好友收集的大厂面试题,需要iOS开发学习资料、面试真题,进群即可自行下载!
文章标题:2020年面向iOS开发人员的知识点总结(更新中)-创新互联
文章来源:http://myzitong.com/article/hohcd.html