支付宝电话面试总结

2月中的时候,去某招聘网站开放了简历,被一个猎头推了一下阿里的iOS开发职位。
最近项目特紧,昨夜加班到很晚,回去又改一个小控件到夜里,今天中午做了个PPT没有午休,想不到今天会在这种状态下接到了电话面试。面试我的人还是很友好的。
总结回忆一下电话面试时犯下的错误吧。

---若转载请注明出处- YueRuo's Blog - http://yueruo.github.io ---

1.首先是简单的自我介绍,最近一直面试别人的我,在突然接到电话的前几分钟里居然有点晕晕乎乎,迷迷糊糊的把项目情况大概讲了一下,都忘记了稍微点出一些项目使用的技术留给对面发挥。
2.由于有过一个很早的即时通信的项目,面试官问了一下聊天界面的简单实现,我把当初刚入行时的UILabel+UIImageView的初级做法说完了,居然忘记把现在使用的CoreText技术话题引出来。我提到了表情处理,使用的是我们自己定义的表情标签。
3.面试官问到个人所掌握的语言,除了OC以外,我回答Java稍微熟悉一点、html、python等有简单了解。面试官思考了一下,觉得还是面试我OC相关的内容,问起我OC和其他语言的优缺点比较(这种经常会碰到的题目本来是很简单的,当时晕晕乎乎的我却答的乱七八糟),我答了面向对象,提到运行时是对方很感兴趣,追问了运行时能做一些什么,我答了动态创建类,以及方法的拦截处理。对方又追问了OC是如何实现runtime的,我完全忘记了平时看的资料。
4.换了个话题,聊起多线程,很自然的NSThread,NSOperationQueue和GCD我都提了一下,然后是项目中多线程的应用,我提到了大量离线数据解析卡主线程,最后使用GCD解决,面试官追问GCD的底层实现是什么,对这个问题当时的我完全没反应过来是要聊什么,现在回想起来也许面试官是想引出Block话题。
5.最后聊到内存管理,我提到iOS中没有垃圾回收,OC的内存管理是依赖于引用技术,然后把ARC技术简单讲了一下,面试官紧跟着追问ARC的底层细节。我回答编译器添加retain、release、copy等代码,面试官接着追问具体在哪里怎么添加的,我此时已近有点混乱了,于是把Set方法的ARC编译器实现讲了一下。这时面试官可能没有听到想要的答案,于是直接追问strong和weak关键字的作用,我回答的是提到了防止循环引用,面试官追问具体是如何防止循环引用的,我回答的时候已近完全错乱了,胡乱的说了一下。
6.面试官最后觉得答的不是很好,于是便说“看来你没有研究过这些东西的底层实现“,虽然平时我也有看一些偏底层的资料,但是确实没有用心去记,最后我提了引用计数是系统的一块栈记录着各个对象的引用计数,并且是同步的。 面试官最后礼貌的结束了电话面试,电话的结尾我对自己今天的很差的状态表示了歉意,对方还安慰了我一下,并提到会有评估,如果有结果后续。

今天整体的电话面试很让自己不满,全程都非常的被动,没有把面试引导到自己擅长的地方。 同时也发现阿里的面试更加贴近底层,任何一种技术,不光要学会如何去使用,更多的是要去研究它的底层实现,我平时只是一带而过简单的看,所以在这次面试中感到了很大压力。

最后,总结一下:毫无准备的面试是危险的,状态不佳的时候应当约一个时间,面试过程中的问题有一些是可以引导到自己擅长的区域的,才能展现自己所拥有的技术,但是最重要的是,要有真材实料实实在在的水平。
人与公司也是讲究缘分的,恰巧在你需要一份工作的时候有一家公司在招人,而你们恰巧又相互符合对彼此的需要。总之,不论在任何公司,都是缘分,都应当全心全意,努力上进。
希望后续的自己能更好的学习,踏踏实实的潜心研究下去。


Comments

comments powered by Disqus