前言
近期由于个人规划,准备去杭州发展,上周跟一家公司 HR 约了3月18日上午过去面试,17号就准备准备过去了,在周边转了转,发现杭州城区内发展的也挺好了,不过城市规模相对于上海确实是小不少,好些楼盘晚上并没有亮灯。路修的倒是挺宽,未来发展潜力还是有的。
再说说18号上午的面试,先是笔试,这个确实是不多见。不过这个笔试并不是当年 iOS 火爆的时候,十几号人一起到一家公司面试,先做一做面试题筛选掉一些人。笔试只是为了后面面试的时候查看知识掌握状况的,应该算是面试的一个切入点,所以笔试环节倒还好,只是好久不写字了,写两页纸确实有点吃不消~~~。
面试流程下来,题目都是以日常开发为主来问的,会挑一些简历中写的之前的工作内容来问,整个面试给我最大的感触是:细节,平时一些知识,感觉用起来挺简单,以为自己都掌握了,真正到了回答的时候,却有种话在嘴边,难说出口的感觉,很明显,掌握的不够牢固。
其实如果在开发过程中,我们时长反问自己,这个确实是这样吗?还有没有其他的可能性?还有没有别的用法?有什么坑?现在 iOS 的开发社区已经很完善,好多都可以在网上找到答案,看一次可能过一段时间就忘了,可以写成博客,过一段时间回顾一下。
笔试部分
- 什么是设计模式,说说你所知道的几种设计模式,及其特点
- @property 后面的可以跟哪些关键字?
- GCD 和 NSOperation 有什么区别
- 通知和代理有什么区别
- 深拷贝与浅拷贝的区别
- 想要重写一个类应该用继承还是用 Category,为什么?
#include
和#import
有什么区别,#import<>
和#import""
有什么区别?- MVC 和 MVVM 有什么区别
- frame 和 bounds 的区别
- (这个一时想不起来,等想到了补充进来)
面试部分
- 使用 atomic 一定是线程安全的吗?
- ARC 下 block 作为属性时用 copy 还是用 strong 修饰?
- CoreAnimation 有哪几种动画方式
- 比如有一个微信朋友圈的瀑布流卡顿,如何去优化(思路、方案)?
- 项目中都有哪些地方用到了 runtime?
- 在 CategoryA 和 CategoryB 中对同一个方法进行交换,会有什么后果?
- 有没有读过 AFNetworking 或者 SDWebImage 的源码?有什么收获总结一下。
- SDWebImage 现在最新的版本是多少?4.x 和 3.x 的版本区别在哪里?
- 项目中使用 SDWebImage 需要注意什么?
- 使用 performSelector:withObject:afterDelay: 方法需要注意什么
- 使用 GCD 时需要注意什么?
- 说说你知道的几种锁
- 讲一下信号量是如何保证线程安全的
- 如何避免项目中可能出现的内存泄漏
- 组件化怎么做的?
- 过程中有没有遇到什么问题
- 模块间怎么进行通信
总结
答案后面整理好后会发出来,题目大家可以做一个参考。
这次面试我个人感觉回答的不是特别好,有一些细节没有考虑到,后续再加油吧!