高级iOS开发面试题

1.__weak NSObject * obj = [NSObject new]; 的效果:

2. 对象发送消息,但该消息没有在.m中实现,结果是什么:

3. runtime消息传递机制,对象的结构,空消息的拦截时机:

4. RunLoop:

5. Autoreleasepool对变量释放的影响:

6. block的堆栈地址:

7. NSOperation和GCD的区别:

8.ARC下对象释放的时机,什么时候添加的Autorelease:

9. 属性修饰词的区别:

10. new和alloc init的区别:

11. allocWithZone和alloc:

12. 反应链,hitTest和positionInside:

13. UIViewController的生命周期:

14. NSInvocationOperation:

15. NSInvocation:

16. 同步、异步、并发、串行:

17. 线程安全:

18. 原子和非原子属性:

19. 进程和线程:

20. 创建线程:

21. 阻塞线程的方法:

22. block结构体信息详解:

23. block实现的执行流程:

24. block的内存管理:

25. 通过类别添加属性相关:

26. runtime相关:

27. UIView中的一些方法:

28. NSArray和NSMutableArray的关系:

29. 内存泄露本质:

30. 属性相关概念:

31. 如何获得请求内容大小:

32.有几种线程锁:

33.什么时候需要使用线程锁:

34.线程锁的开销问题:

35. 异步发送通知问题:

36. load和initialize关系:

37. copy 和mutable copy:

38.UIView的父类:

39.GCD如何取消任务:

祝好运,每个点最好都亲自验证,很多浅显的地方,都有坑,一定慢慢体会。答案私聊。

你可能感兴趣的:(高级iOS开发面试题)