前言:
最近在整理自己的技术栈,收集了一些自己认为比较重要的知识点分享给大家。
Runloop
Runtime
2.isa指针的理解,对象的isa指针指向哪里?isa指针有哪两种类型?
7.runtime如何通过selector找到对应的IMP地址?
KVO
2. 通过KVC修改属性会触发KVO么?KVC的赋值和取值过程是怎样的?原理是什么?
Block
3. block在修改NSMutableArray,需不需要添加__block
多线程
这是我的iOS开发交流群: 519832104 不管你是小白还是大牛欢迎入驻,可以一起分享经验,讨论技术,共同学习成长!
另附上一份各好友收集的大厂面试题,需要iOS开发学习资料、面试真题,进群即可自行下载!
点击此处,立即与iOS大牛交流学习
架构设计
数据结构
5.堆、栈和队列
6.输入一棵二叉树的根结点,求该树的深度?
7.输入一课二叉树的根结点,判断该树是不是平衡二叉树?
8.字符串处理
算法
1.时间复杂度
2.空间复杂度
3.常用的排序算法
4.字符串反转
5.链表反转(头差法)
6.有序数组合并
7.查找第一个只出现一次的字符(Hash查找)
8.查找两个子视图的共同父视图
9.无序数组中的中位数(快排思想)
10.给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
11.八大排序算法
Foundation
1.nil、NIL、NSNULL 有什么区别?
2.如何实现一个线程安全的 NSMutableArray?
3.atomic 修饰的属性是绝对安全的吗?为什么?
4.实现 isEqual 和 hash 方法时要注意什么?
5.id 和 instanceType 有什么区别?
6.self和super的区别
7.@synthesize和@dynamic分别有什么作用?
8.typeof 和 typeof,typeof 的区别?
9.类族
10.struct和class的区别
UIKit
1.UIView 和 CALayer 是什么关系?
2.Bounds 和 Frame 的区别?
3.setNeedsDisplay 和 layoutIfNeeded 两者是什么关系?
4.谈谈对UIResponder的理解
5.loadView的作用?
6.使用 drawRect有什么影响?
7.keyWindow 和 delegate的window有何区别
动画
1.UIView动画与核心动画的区别?
2.当我们要做一些基于 CALayer 的动画时,有时需要设置 layer的锚点来配合动画,这时候我们需要注意什么?
图像处理
1.图像的压缩方式
2.如何计算图片加载内存中所占的大小
数据安全及加密
1.对称加密和非对称加密的区别?
2.简述 SSL 加密的过程用了哪些加密方法,为何这么作?
3.iOS的签名机制是怎么样的
WebView
- JS 和 OC 互相调用的几种方式?
2.在使用 WKWedView 时遇到过哪些问题?
组件化
1.组件化有什么好处?
2.你是如何组件化解耦的?
3.为什么CTMediator方案优于基于Router的方案?
4.基于CTMediator的组件化方案,有哪些核心组成?
调试技巧
1.LLDB常用的调试命令?
2.断点调试
3.iOS 常见的崩溃类型有哪些?
源码理解
1.YYKit
2.SDWebImage加载图片过程
3.YYWebImage和SDWebImage对比
4.AFNetworking 底层原理分析
代码管理
1.SVN与Git优缺点比较
2.Git与SVN的区别
持续集成
1.你在项目中使用过什么持续集成方式?
2.jenkins怎么备份恢复
3.jenkins你都用了哪些插件?