- 7.树
- 二叉树
- 寻找两个有序数组的中位数 链接
- 求最长回文子串 链接
- 寻找两个有序数组的中位数 链接
- 最长回文子串 链接
- 三数之和 链接
- 合并两个有序链表 链接
- 买卖股票的最佳时机 链接
- 买卖股票的最大利润 链接
- 删除链表的倒数第N个结点 链接
- 有效的括号 链接
- 爬楼梯 链接
- 1.讲一下 iOS 内存管理的理解?(三种方案的结合)
- 2.使用自动引用计(
ARC
)数应该遵循的原则? 链接 - 3.
ARC
自动内管管理的原则? - 4.访问 __weak 修饰的变量,是否已经被注册在了 @autoreleasePool 中?为什么?
- 5.
ARC
的retainCount
怎么存储的? - 6.简要说一下
@autoreleasePool
的数据结构? - 7.
__weak
和__unsafe_unretained
的区别? 链接 - 8.为什么已经有了
ARC
,但还是需要@AutoreleasePool
的存在? - 9.
__weak
属性修饰的变量,如何实现在变量没有强引用后自动置为nil
? 链接 - 10.
__strong
原理 - 11.说一下对
retain
,copy
,assign
,weak
,_Unsafe_Unretain
关键字的理解。 - 12.
ARC
在编译时做了哪些工作? - 13.
ARC
在运行时做了哪些工作? - 14.函数返回一个对象时,会对对象
autorelease
么?为什么? - 15.野指针和悬垂指针的区别? 链接
- 16.内存管理默认的关键字是什么?
- 17.内存中的5大区分别是什么?
- 18.是否了解
深拷贝
和浅拷贝
的概念,集合类深拷贝如何实现? 链接 - 19.
BAD_ACCESS
在什么情况下出现? 链接 - 20.
@dynamic
与@synthesize
区别? 链接 - 21.
@autoreleasrPool
的释放时机? - 22.
retain
、release
的实现机制? - 23.简述
Dealloc
的实现机制? - 24.在
Obj-C
中,如何检测内存泄漏?你知道哪些方式? - 25.聊聊野指针与僵尸对象定位 链接
- 0.
RunLoop
详解 链接 - 1.
Runloop
和线程的关系? 链接 - 2.讲一下
Runloop
的Mode
?(越详细越好) 链接 - 3.讲一下
Observer
?(Mode中的重点) 链接 - 4.讲一下
Runloop
的内部实现逻辑?(运行过程) 链接 - 5.
autoreleasePool
在何时被释放? 链接 - 6.解释一下
事件响应
的过程? 链接 - 7.解释一下
手势识别
的过程? 链接 - 8.解释一下
GCD
在Runloop
中的使用? 链接 - 9.解释一下
NSTimer
,以及NSTimer
的循环引用。 链接 - 10.
performSelector
相关方法的实现原理 链接 - 11.利用
runloop
解释一下页面的渲染的过程? 链接 - 12.如何使用
Runloop
实现一个常驻线程?这种线程一般有什么作用? 链接-参考线程保活篇 - 13.为什么
NSTimer
有时候不好使?(不同类型的Mode) 链接-参考NSTimer计时不准的问题 - 14.
PerformSelector:afterDelay:
这个方法在子线程中是否起作用?为什么?怎么解决? 链接 - 15.什么是异步绘制? 链接
- 16.如何检测
App
运行过程中是否卡顿? 链接
- 1.
UIView
和CALayer
是什么关系
- 2.iOS 中的事件响应 链接
- 1.http
- 2.https
- 1.
NSThread
相关知识 - 2.
GCD
相关知识 - 3.
dispatch_semaphore_t
详解 链接
- 1.
Block
是什么? 链接 - 2.
Block
的内存管理。链接 - 3.
Block
自动截取变量。链接 - 4.
Block
处理循环引用。链接 - 5.
Block
有几种类型?分别是什么?链接 - 6.
Block
和函数指针
的区别? 链接
- 1.
KVO
原理分析 链接
- BSBacktraceLogger —— 轻量级调用栈分析器
- AppPerformance —— App性能监控,包括:CPU占用率、内存占用大小、卡顿、启动闪退、崩溃、耗电量等。