iOS面试 鹅厂面试官的虐心体验
1更几个面试常用的问题,记录一下面试iOS开发被腾讯虐成渣的过程。
这段时间一直呆在某公司,将近四年,眼看着自己从大姑娘变成老阿姨,从满怀希望到失望透顶。一怒之下,裸辞。哪怕身上背负着巨债也要走。
去某网站更新了简历,投了一些公司基本石沉大海。来找我的差不多就是工资低的,看起来还可以的又多是外包公司。
想着就当是攒攒面试经验吧,某外包公司说他们和鹅厂合作开发一款电商app,问我有兴趣么,我说有呀。
然后说会安排鹅厂的面试官来面试。星期六下午差不多七点打了个电话过来,问的问题还好,但是有些没答出来。
凭借回忆,想起了一些他问的问题。
1.“项目中有什么难点?你是怎么解决了?”这个问题真的感觉每个面试公司都喜欢问这个问题,我真想说我那app没啥技术难点,也没有技术亮点,就是很普通啊。然后要硬掰扯,我反正被这个问题搞崩溃了,我不会掰扯不会撒谎啊。
2.“项目里常用类还是结构体?”
我说有用过结构体和枚举,但是常用的是类,因为它可以继承。然后又问“写时复制”了解过么?我特么的,我真的有了解过,复习笔记有记录,但是一时就想不起来了咋搞。
3.“如何理解swift 是函数式编程?”
我咋理解,它不就是可以调用一些函数么所以就是函数式编程么?我能说这个问题我也做过复习笔记么?要是换成现在,我肯定能回答上来。swift即是面向对象编程也是函数式编程。因为它和OC一样拥有多态,继承,封装,又能调用map,sort,filter之类的函数。
4.“你说你了解FMDB,那么它是不是线程安全的”?
瞧把自己坑了吧,就好多年前的项目里存储数据的事后用了它,写在了简历上,所以,自己简历上写的东西真的一定要弄懂,不然真的很尴尬。
5.“Swift比OC有什么优势?”
这个我知道,复习了这个,它语法简单,读写方便,容易维护,是类型安全的语言。
6“如果防止多个线程访问同一块内存?”
这个我也复习了呀,加锁。对数据库进行操作的时候就需要进行加锁。
又问“加锁的方法有哪些”?我说用过NSLock,因为加锁操作不多,就用它了。也有使用过信号量加锁,巴拉巴拉代理确实用到了,我也是复习过的好吧。
7“如何优化app的启动?”
8“线上项目崩溃日记怎么收集?”
9“UIView和CALayer的区别”?
10“项目中是如何解析网络返回的数据的,是怎么样把数据转换为模型的?”
11“离屏渲染了解过么?”
12“项目中缓存用了什么技术?”
这些问题我基本上都复习过呀,可是人家一问就想不起来,只能磕磕巴巴的回答一些。
最后人家说好吧,面试就到这儿了,我以为没戏了呢,人家说还行吧,就是有些技术了解得不够扎实,后面有反馈再让外包公司联系我。
晚上回来外包的小姐姐就来找我了,说我是“待定”,什么鬼,这样还待定?我以为是淘汰了呢,这待定就是有希望又没希望咯。然后小姐姐说后续会给我消息,我以为就这样完事了。
今天晚上接了个电话“你好,我是腾讯的面试官,受XX外包公司委托,今天打扰你二十分钟左右的时间来进行二面,你方便么?”
什么鬼,我还能说不方便么?
这面试官一听就不是个好相与的,口气冷淡得很,一上来就问“你项目里遇到的难点是什么,怎么解决的?”
哎哟我去,这不是上回那个问过问题的么?我又要胡扯一顿么?很明显,这回这个不听我胡扯,一直问为什么?我说对项目优化是难点,人家问为什么?我说这个界面计算有难点,人家问难点在哪里?我说多设备同时登陆有难点,人家问难点在哪里?算了,我输了,我说我答不上来了……
接下来就是“FMDB是线程安全的么?你所知道的iOS中哪些类是线程不安全的么?”
然后又来“你知道KVO么?它是用来干什么的么?”“你知道KVC吗,他们的区别是什么?为什么要用KVC呢?”
然后还问了个什么“序列化”之类的,总之这二十分钟里面一直是为什么,为什么,为什么?
哎哟我去,真的是答不上来,我也很想知道为什么?
反正体验了一把鹅厂面试官的虐待,也知道了自己不足的地方确实很多,不扯了,加油去复习了,