Skip to content

Commit

Permalink
为下篇添加索引
Browse files Browse the repository at this point in the history
  • Loading branch information
ChenYilong committed Sep 26, 2015
1 parent 106b02f commit c93d01f
Showing 1 changed file with 62 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,74 @@

说明:面试题来源是[微博@我就叫Sunny怎么了](http://weibo.com/u/1364395395)的这篇博文:[《招聘一个靠谱的 iOS》](http://blog.sunnyxx.com/2015/07/04/ios-interview/),其中共55题,除第一题为纠错题外,其他54道均为简答题。


出题者简介: 孙源(sunnyxx),目前就职于百度,负责百度知道 iOS 客户端的开发工作,对技术喜欢刨根问底和总结最佳实践,热爱分享和开源,维护一个叫 forkingdog 的开源小组。

答案为[微博@iOS程序犭袁](http://weibo.com/luohanchenyilong/)整理,未经出题者校对,如有纰漏,请向[微博@iOS程序犭袁](http://weibo.com/luohanchenyilong/)指正。

----------

# 索引


1. [ 25. `_objc_msgForward` 函数是做什么的,直接调用它将会发生什么?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#25-_objc_msgforward函数是做什么的直接调用它将会发生什么)
2. [26. runtime如何实现weak变量的自动置nil?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#26-runtime如何实现weak变量的自动置nil)
3. [27. 能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#27-能否向编译后得到的类中增加实例变量能否向运行时创建的类中添加实例变量为什么)
4. [28. runloop和线程有什么关系?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#28-runloop和线程有什么关系)
5. [29. runloop的mode作用是什么?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#29-runloop的mode作用是什么)
6. [30. 以+ scheduledTimerWithTimeInterval...的方式触发的timer,在滑动页面上的列表时,timer会暂定回调,为什么?如何解决?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#30-以-scheduledtimerwithtimeinterval的方式触发的timer在滑动页面上的列表时timer会暂定回调为什么如何解决)
7. [31. 猜想runloop内部是如何实现的?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#31-猜想runloop内部是如何实现的)
8. [32. objc使用什么机制管理对象内存?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#32-objc使用什么机制管理对象内存)
9. [32. objc使用什么机制管理对象内存?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#33-arc通过什么方式帮助开发者管理内存)
10. [32. objc使用什么机制管理对象内存?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#33-arc通过什么方式帮助开发者管理内存)
11. [33. ARC通过什么方式帮助开发者管理内存?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#33-arc通过什么方式帮助开发者管理内存)
12. [34. 不手动指定autoreleasepool的前提下,一个autorealese对象在什么时刻释放?(比如在一个vc的viewDidLoad中创建)](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#34-不手动指定autoreleasepool的前提下一个autorealese对象在什么时刻释放比如在一个vc的viewdidload中创建)
13. [35. BAD_ACCESS在什么情况下出现?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#35-bad_access在什么情况下出现)
14. [36. 苹果是如何实现autoreleasepool的?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#36-苹果是如何实现autoreleasepool的)
15. [37. 使用block时什么情况会发生引用循环,如何解决?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#37-使用block时什么情况会发生引用循环如何解决)
16. [38. 在block内如何修改block外部变量?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#38-在block内如何修改block外部变量)
17. [39. 使用系统的某些block api(如UIView的block版本写动画时),是否也考虑引用循环问题?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#39-使用系统的某些block-api如uiview的block版本写动画时是否也考虑引用循环问题)
18. [40. GCD的队列(dispatch_queue_t)分哪两种类型?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#40-gcd的队列dispatch_queue_t分哪两种类型)
19. [41. 如何用GCD同步若干个异步调用?(如根据若干个url异步加载多张图片,然后在都下载完成后合成一张整图)](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#41-如何用gcd同步若干个异步调用如根据若干个url异步加载多张图片然后在都下载完成后合成一张整图)
0. [42. dispatch_barrier_async的作用是什么?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#42-dispatch_barrier_async的作用是什么)
1. [43. 苹果为什么要废弃dispatch_get_current_queue?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#43-苹果为什么要废弃dispatch_get_current_queue)
2. [44. 以下代码运行结果如何?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#44-以下代码运行结果如何)

```Objective-C
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"1");
dispatch_sync(dispatch_get_main_queue(), ^{
NSLog(@"2");
});
NSLog(@"3");
}
```

3. [45. addObserver:forKeyPath:options:context:各个参数的作用分别是什么,observer中需要实现哪个方法才能获得KVO回调?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#45-addobserverforkeypathoptionscontext各个参数的作用分别是什么observer中需要实现哪个方法才能获得kvo回调)
4. [46. 如何手动触发一个value的KVO](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#46-如何手动触发一个value的kvo)
5. [47. 若一个类有实例变量 NSString *_foo ,调用setValue:forKey:时,可以以foo还是 _foo 作为key?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#47-若一个类有实例变量-nsstring-_foo-调用setvalueforkey时可以以foo还是-_foo-作为key)
6. [48. KVC的keyPath中的集合运算符如何使用?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#48-kvc的keypath中的集合运算符如何使用)
7. [49. KVC和KVO的keyPath一定是属性么?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#49-kvc和kvo的keypath一定是属性么)
8. [50. 如何关闭默认的KVO的默认实现,并进入自定义的KVO实现?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#50-如何关闭默认的kvo的默认实现并进入自定义的kvo实现)
9. [51. apple用什么方式实现对一个对象的KVO?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#51-apple用什么方式实现对一个对象的kvo)
0. [52. IBOutlet连出来的视图属性为什么可以被设置成weak?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#52-iboutlet连出来的视图属性为什么可以被设置成weak)
1. [53. IB中User Defined Runtime Attributes如何使用?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#53-ib中user-defined-runtime-attributes如何使用)
2. [54. 如何调试BAD_ACCESS错误](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#54-如何调试bad_access错误)
3. [55. lldb(gdb)常用的调试命令?](https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(下).md#55-lldbgdb常用的调试命令)










----------


###25. `_objc_msgForward`函数是做什么的,直接调用它将会发生什么?

> `_objc_msgForward`是 IMP 类型,用于消息转发的:当向一个对象发送一条消息,但它并没有实现的时候,`_objc_msgForward`会尝试做消息转发。
Expand Down

0 comments on commit c93d01f

Please sign in to comment.