iOS 人才筛选

面试流程(个人总结):

  1. 面试人热身的自我介绍,并且从中确认面试人的一些经历是否属实。
  2. 聊聊面试人的工作经历,项目,并从中了解面试人的大致技术,表达沟通能力,及是否和我们想要的技术,工作环境,价值观吻合等等。
  3. 在大致了解完项目履历后,可以进行深入一点的专业技术的直接考量,可以看出面试者,是否技术过硬。
  4. 最后负责任的,让面试者有个短暂了解我们公司环境,所接触业务的时间,如果有意面试者,可以稍微说说我们的一些优势,为争取人才做一些加分!
  5. 总结面试过程中,面试者的表现,优点、缺点通过具体的问题,尽量写仔细清楚。

下面是总结的一些iOS 的面试专业点(会根据情况,慢慢改进完善):

中级题:

1. OC有多继承吗?没有的话可以什么方法替代? 
2. 属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?
3. 浅拷贝,深拷贝区别?copy和mutableCopy 在不可变对象和可变对象的使用时的注意点?
4. Objective-C如何对内存管理的,说说你的看法和解决方法?
5. 原子(atomic)跟非原子(non-atomic)属性有什么区别?
6. MVC设计模式是什么? 你还熟悉什么设计模式?
7. 类别和类扩展的区别?类别能添加属性吗,如何添加?

高级题:

1、Objective-C 对象内存结构中的 isa 指针是用来做什么的,有什么用?
2. iOS 代理,通知,KVO,  Block 之间的传值功能区别?
3. KVC, KVO 的理解,  实现原理?
4. runloop 的理解,有几种模态,和线程有什么联系?
5. runtime 机制,以及一般有哪些应用?
6. tabelview 卡顿的一般原因,优化方法?
7. OC中一般用到什么多线程技术,之间有什么区别?
8. 假如Controller太臃肿,如何优化?
9. OC中如何实现事件响应和响应者链?如何进行事件透传?应用有哪些?
10. 是否接触过OC中的反射机制?简单聊一下概念和使用

进阶题:

1. 开发中使用block,什么情况下容易发生循环引用?是否所有的Block中使用self,都会导致循环引用?如何
避免 ?
2. block中如何访问外部变量?外部变量有什么修饰符,都代表什么意义?
3. 说说你理解的埋点?,如何进行无痕埋点?

算法题:

1、如何实现一个嵌套数组的迭代器?比如 NSArray 如果是 [1,[4,3],6,[5,[1,0]]], 则最终应该输出:1, 4, 3, 6, 5, 1, 0 

更新待续。。。

你可能感兴趣的:(iOS 人才筛选)