很多关于程序员面试的文章,都在讨论如何很好地回答面试官的问题。其实,面试是一个双向选择的过程(如果你不这么认为,说明你还不够自信),你大可不必在面试中完全处于被动,相反,你也可以问面试官一些问题,以便看看这个公司是否合你胃口。
$ V0 |3 ]& y: V) D6 g$ B( a# l
: k2 F8 v* q; @9 c
. Z1 t% P% K; r" H2 p
比如,你可以问面试官如下这些问题: 1. 你们公司开发软件使用的最新工具是什么? 这个问题的目的是看该公司是否落后。如果答案是一些比较古老的工具,比如Visual Studio 2005,说明该公司已经落后几年了,这也许意味着,该公司软件代码库中可能藏匿着一些灾难性的bug。 2. 我想使用x语言(该公司目前未使用的语言),你怎么看? 这个问题是看该公司对于不同事物的态度。如果该公司基于微软的编程语言,那么就问Python或java,看面试官如何回答。如果他们考虑过这种可能性,甚至为此感到兴奋,那么说明他们对于改变和增长持开放态度,这是一个好兆头。 3. 你怎么去规划软件的改进? 通过这个问题,你也许可以得知该公司的大致流程,以及有多少官僚机构。如果他们一开始就列出一个很长的、需要咨询的人的名单,这可能意味着该公司对软件的改进比较缓慢和混乱,正所谓“厨子太多反而把汤做坏”。 4. 你会采取什么措施来帮助改善团队精神? 这个问题比较有趣,有可能面试官会给你宣讲一下他们提供给编程团队的一些特殊福利。通过回答,你可以看出该公司对待程序员的总体态度,对程序员的重视程度。 5. 你们是否愿意提供培训或为想参加培训的程序员提供一些补助? 可以看出该公司是否愿意为他们的程序员进行投资。如果他们愿意这样做,说明他们很看重你和你的发展。但大部分公司更愿意只支付你薪水,让你自己找时间学习相关技能。但也有公司会说,愿意支付一些,但在合理范围内。 6. 你认为Y技术怎么样? 这里的Y,可以是过去一两个月内出现的尖端技术。这个问题可以让你得知该公司对行业趋势的态度。他们可能没有听说过这个技术,但他们至少应该表现出一定的兴趣,想知道更多。如果表示不关注、没兴趣,说明他们正工作在一个“泡沫”中,安于现状。另一方面也说明,他们不愿意花时间来增长知识。 7. 你如何解决团队中程序员之间的矛盾? 该问题可以得知他们在处理人与人之间个性冲突的速度、处理方法,以及如何彻底解决等。如果他们立即采取行动,将当事人叫到一起谈谈,确保每个人都满意,这表明该公司还是比较关心程序员的,像关心他们的代码一样多。 8. 贵公司是否有反馈箱,或者有其他方法让员工提供改善公司的建议? 该问题的目的是看一家公司是否能够听进去员工的意见,并加以实施。他们可能目前还没有类似的措施,你需要看他们听到你的建议后,是否愿意这样做。 总结 以上这些问题,可以帮助你选择到一个积极向上、能够让你快乐工作并有利于你职业生涯发展的公司,而不是一个士气低落、态度恶劣、对你百般限制的公司。 另外,在询问面试官这些问题时,你需要注意场合、面试官的心情、你询问的方式语气等等。如果你因为问了这些问题被刷掉,我只能说“对此我深感抱歉”。
' H: Q5 y# \) l8 N. m. Z |