iOS面试旗开得胜之问题篇
一.面试之初体验
(1).厚积薄发之理论篇
1.属性readwrite,readonly,assign,retain,copy,nonatomic 各自什么作用,他们在那种情况下用?
2.Objective-C如何对内存管理的,说说你的看法以及你遇到的问题以及解决方法?
3.内存管理的几条原则时什么?按照默认法则.哪些关键字生成的对象需要手动释放?在和property结合的时候如何有效的避免内存泄露?
4.MVC设计模式是什么? 你还熟悉什么设计模式?他们和MVC有什么不同的地方?
5.浅复制和深复制的区别?
6.什么是KVO和KVC?他们的使用场景是什么?
7.通知和协议有哪些不同之处?
8.在iOS应用有哪些方式保存本地数据?他们都应用在哪些场景?
9.谈谈对Block 的理解?它和代理有什么不同?简单概括下用法和使用场景
10.iOS中的多线程是什么?
11.关键字const有什么含义?static有什么作用以及extern c的作用?
12.线程与进程有哪些区别和联系?
13.什么是单例?怎么用?有什么好处?指出你项目中用到的单例模式.
14.定时器的实现有哪些?他们有什么优势?使用的时候应该注意些什么?
(2).横扫千军之战胜篇
1.谈谈tablelview的重用机制。
2.静态库的原理是什么?你有没有自己写过静态编译库,遇到了哪些问题?
3.谈谈你对http tcp ip 协议的理解。
4.谈谈你对http 和socket 的理解。
5.谈谈你对iOS中沙盒机制的理解。
6.请你谈谈你对视频播放器的理解。如果封装一个视频播放器你会怎么做?封装中遇到哪些问题?你是怎么解决的?
7.谈谈你对json xml的理解。
8.你对视频直播方面有没有心得?自己有没有做过这个方面的项目?如果有,说出你遇到的问题和解决方案。如果没有,谈谈你对视频直播的理解。
9.AFNetworking你使用过是哪几个版本?他们有什么区别?使用过程中应该注意哪些问题?
10.谈谈你对算法的理解,在工作中你都应用了哪些算法来解决问题
11.谈谈你对React Native和weex 的看法
12.谈谈你对hybrid的理解
在后续的博客中,对上面的问题的答案做一下总结,敬请期待!
QQ技术交流群:214541576
微信公众号:shavekevin
热爱生活,分享快乐。好记性不如烂笔头。多写,多记,多实践,多思考。