引言: 总体回顾一下,在某公司的面试过程中的得失,以备下次的面试之用。
春节过后,有一段时间了,开始了新的求职之旅。废话上说,切入正题。此公司名称就以Z来代替吧,有猎头代为发送简历的,这年头,自己发送的简历,基本上没有人回应的,通过猎头的渠道呢,还可以获取更多的关于该公司的一些信息。
猎头提前告知了我,该公司会联系我;但是,我并未与猎头进行详细的沟通,了解更多关于该公司的面试流程和要求等细节信息,直到最后被pass之后,才想起来去和猎头沟通,这是第一个比较失误的地方。
首先,是一个hr的妹纸,电话面试。随便聊了一下简历上的履历;然后开始英语测试,基本上老一套,用英语描述一下自己的某个方面或者项目,bababa,说了一通,最后Hr问了求职意向,还就前端和后端开发以及职业发展等交换了一下意见。Hr总结说,我的英语不错,发音很清楚。 久未参加面试的我,内心稍微了自满了一下,这也未后续的自满埋下了伏笔。
第二波是一个技术的电话面试。说的是3点,知道4点多的时候,才打过来;先是一阵歉意,然后开始正式的面试。老套路,先是英语测试;用英语描述一个自己做过的项目,bababa...,然后,开始用英语针对项目中用到的技术点和问题进行讨论,持续了约10分钟,基本上还算满意。 然后,问你对现在公司所在文化有什么看法,对职业发展,对团队的倾向是什么,我也bababa说了一堆。然后切入技术问题,问如何对一个系统进行设计,我把UML那套分析设计的思路说了一遍。其后,技术面试官提出了四个选项,让我挑选2个,并给出理由,我逐个分析了一下,并给出了我的理解。其中有一个问题,我估计回答的不足,就是关于transaction在Spring中的使用问题,如何处理系统中的事务。总体上聊了半个多小时,总体感觉很好。进一步强化了我的某些自满心理。
到周五的时候,电话通知,过2周之后,到公司笔试面试。从家里出发,大约1个半小时之后,达到公司。公司是典型的美国公司文化,看得出来,公司有很多的空位。由Hr领进会议室,给了一份笔试题目,1个小时。我刷刷点点,把题目都做完了,感觉做的还不错,这些题目都在之前的学习中覆盖到了。交了笔试题目之后,不久就进来一位看起来挺年轻的面试官,拿着笔试的结果开始面试。
我问起来,笔试中有一个题目,我其实不是很清楚到底是希望做什么,面试官答曰,笔试题目无所谓的,把我给震了一下,心想,辛苦折腾了一个小时,原来人家根本就不在意的,略微有些失落。 问了一下,做过的项目情况,然后问具体在项目中如何选择技术路线和方案,我把自己的理解结合自己做过的项目,解释了一番。然后问我对那个前端框架熟悉,我答曰Extjs和JQuery;接着人家就问,源代码研究过吗?我一晕,回答说,看过一部分,比如什么什么,估计人家看出其实没有读过多少代码,就没接着细问。
紧接着,就到白板上,开始结合他们项目中的一个实际应用来讨论解决方案,从前到后的思路和技术选型,我说了一个方案之后;这位面试官接着针对某些方面又提出了若干问题,如何需求变成这样会如何,如果变成一个通用的解决方案又该如何操作?假设这些方案都做到,如何在生产环境下,实现升级和修改部署?我bababa把我的理解和方案说了说,从他的反应来看,还不错。最后,还让我问个问题。
然后是关于大数据和并发的问题,如何实现在线的数据备份和升级,靠,上次的某巴公司就因为这个问题,把我给刷了,这次早有准备,bababa说了一通。面试官提出了自己的方案,我在其基础上,提出了若干改进意见,他不住点头。然后问Hadoop是干什么的,如何工作的,和之前的SQL数据库的不同,我bababa说了一通,这个我可是正在学习的,撞到枪口上了。最后又问,JVM的问题,代码中调用垃圾回收的问题,以及如何做到精确的程序控制等等。总体时间,半个多小时,自己自我感觉良好,自满一下子膨胀了不少。
紧接着,进来了第二位面试官,相比之前的顺利,这个时候已经有些疲劳和放松了,体力略有透支,还是面试的少。然后开始发问。首先,针对数据迁移中的并发和效率问题展开,我提出了多线程,批量处理,利用多核。期间,他多次提示我,方案不完美,可是,我被之前的顺利有点冲昏了头,没有注意到这个细节,坚持自己的方案没有问题。
然后,切入Spring中的事务,以及它是如何实现的;其实,这个问题,我应该是可以答的很好的,可是只是简单回答了一下基于Annotation,然后,说这个需要看一下源代码,
后来,仔细想想完全可以推理出来如何实现的,太轻易放弃了。然后问,如何在jdbc中实现事务的嵌套以及HIbernate的优化,我自己回答了一下,他好像都不太满意。之后,他站起身来,直接就出去了,也没有让我问问题。我内心略有不安的感觉。很快,Hr就进来,说今天面试就到此为止,有消息会通知我的。
回顾整个过程,有诸多需要注意和反思的:
1. 在之前、之中和之后,需要和猎头密切沟通需要注意的事项,避免犯低级错误和常识错误。而我直接裸奔上场,焉有不败之理....
2. 面试不到最后一刻,切切不可放松,需要百倍的精神和专注去应对,尤其是在前面很顺利的情况下,这里的顺利主要是指应聘者自己内心的自满情绪和自我感觉良好的问题。
3. 碰到不会的问题,可以沉默若干分钟,给自己思考的时间。除非自己彻底没有接触过,否则都是可以说出个123的,切莫直接放弃。
4. 注意观察面试官的反应,你的回答他是否满意,一般都是可以基于他的反应可以推测出来。比如,在我的二次技术面试中,面试官已经反复纠缠一个问题之时,就需要警醒why,是自己说的不对,还是有遗漏的地方,而我直接疏忽而过。
5. 如果碰到自己彻底没戏的问题,不妨大胆咨询一下面试官,该如何作答。最差的情况,下次去别的公司还可以用上,不是吗?
6. 面试基本上有个流程,比如最后的时候,都会让你问个问题。如何没有让你问,估计就没戏了,而且是人家对你很失望,不屑给你机会.....
7. 以上充分说明,自己还是需要继续认真准备,多多去读读各类框架的源代码,需要知其然,更要知其所以然....
自我总结一下,本年度第一次面试,有得有失,教训收获了不少,看来还是需要多面,不当面霸,也得多多练习哉....