前沿
感谢所有教学部老师的
辛勤劳动,没有他们业余
时间的义务付出,就没有
这份面试题的汇总,我们
真心希望大家经过我们的
培训,以后都能有美好的
未来,在最后的这一段,
也请大家珍惜这份文档,
好好复习,最后祝愿大家
找工作顺利
面试题汇总
百度
1. OC 里用到集合类是什么?
基本类型为:NSArray,NSSet 以及 NSDictionary
可变类型为:NSMutableArray,NSMutableSet 以及 NSMutableDictionary
2. 用 OC 写一个快速排序
!
"!
#$
%# &'$
(!
(&')*+,,*%-&&+)
*%-+$
(%'"',,*%-%+"*
%-+$
"#%!
$
.
*//(0-'-1%+$
.
*//(0-'-1%+$
*/ %'+$
*/%&' +$
.
.
/(0-'
-'-1 -1!
220#*%--'+$
*03%--'(3%*
%--1++$
*03%--1(3%20+$
.
3. viewController 中 didReceiveMemoryWarning 什么时候调用,默认
如何处理
在程序收到内存警告的时候会调用该方法
默认操作为检查 是否可以安全地释放它的 view,比如 view
本身没有 /0( 并且可以被很容易地重建(通过 或者 4(
函数)
4. OC 中 frame 与 bounds 有什么不同
Frame 指的是:该 view 在父 view 坐标系统中的位置和大小(参照点是父类
的坐标系统)
Bounds 指的是:该 view 在本身坐标系统中的位置和大小(参照点是本身的
坐标系统)
5. OC 中有无多重继承,如何实现多重继承
没有多重继承。
cocoa 中所有的类都是 NSObject 的子类,多继承在这里是用 protocol 协议来
实现的,所以我们不用去考虑繁琐的多继承、虚基类的概念,多态特性在
oc 中拖过委托来实现。
6. 用 OC 写两个线程,对同一个变量 分别进行+/-操作
55首先创建一个线程锁
67#**6++$
55创建两个工作线程 访问同一个资源 类的对象的变量7
*8(89/'
8 /(3%9':+$
*8(89/1
8 /(3%9':+;
.
55第一个工作线程 中会调用的函数
'%!
55我们需要当前线程 对7 进行 连续&': 的操作 每次递增 ':
9/0!
2#*%4+$
*7+$55加锁 修改之前加锁
#:$)2$&&!
7&#':$
6 9;'7<;=7$
*8/0>82:?@+$
.
*7+$55修改完毕要解锁
.
.
55第二个线程中调用的函数
1%!
9/0!
2#*%4+$
*7+$55加锁
#:$)2$&&!
7#':$
6 9;17<;=7$
.
*7+$55解锁
.
.