资料

2019-07-21  本文已影响0人  GJCode

面向对象

1、Hash表实现

H i ( key ) = ( H ( key )+ d i ) mod m ( i = 1,2,…… , k ( k ≤ m – 1)) 
其中: H ( key ) 为关键字 key 的直接哈希地址, m 为哈希表的长度, di 为每次再探测时的地址增量。 
采用这种方法时,首先计算出元素的直接哈希地址 H ( key ) ,如果该存储单元已被其他元素占用,则继续查看地址为 H ( key ) + d 2 的存储单元,如此重复直至找到某个存储单元为空时,将关键字为 key 的数据元素存放到该单元。 
增量 d 可以有不同的取法,并根据其取法有不同的称呼:
( 1 ) d i = 1 , 2 , 3 , …… 线性探测再散列; 
( 2 ) d i = 1^2 ,- 1^2 , 2^2 ,- 2^2 , k^2, -k^2…… 二次探测再散列; 
( 3 ) d i = 伪随机序列 伪随机再散列;

2、什么是进程和线程?有什么区别?

3、内存几大区域?各自职责?

4、架构、框架和设计模式的区别?

5、MVC、MVVM、MVP架构的不同?

UI

1、UIView和CALayer的区别?

2、loadView的作用?

3、layoutIfNeeded、layoutSubviews和setNeedsLayout的区别?

4、iOS的响应链?什么情况会影响响应链?

5、UIImageView添加圆角的方式

6、iOS有哪些实现动画的方式

7、使用drawRect有什么影响?

OC

1、iOS的内存管理机制

2、@property的相关修饰词

3、内存管理语义

4、方法名

5、dynamic和synthesis的区别

6、array为何用copy修饰?mutableArray为何用strong修饰?

7、深拷贝和浅拷贝(注意NSString类型)

8、Block的类型

OC进阶

1、Foundation和CoreFoundation的转换

2、array和set的区别?查找速度和遍历速度谁更快

3、图片显示的过程

4、dispatch_once如何只保证只执行一次?

5、NSThread、NSRunLoop、NSAutoreleasePool三者之间的关系?

6、分类可扩展的区别?(可从内存布局、加载顺序、分类方法和原类方法的执行顺序来回答)

7、OC对象释放的流程?

8、CADisplayLink和NSTimer的区别?

9、用runtime实现方法交换有什么风险

上一篇下一篇

猜你喜欢

热点阅读