以下问题可以考察候选人的编程与工程类技能。在面试中,请根据岗位和职称高低对问题做适当修改。
面试问题示例
招聘初级技术职工
l 你最擅长哪种编程语言?
l 如果程序崩溃,你会去怎么解决?
l 当程序运行时需要调试,你会怎么做?
l 你擅长哪个领域?
招聘高级技术职工
l 你改进过某种IT设备吗?如果有,当时你做出了怎样的改进?又是怎样做出来的?
l 你认为最高效的收集用户和系统需求的方式是什么?
l 请举例谈谈你是怎么给不懂技术的人讲解技术问题的?
l 在检查别人的代码的时候,你会最注意哪里?
评价作业(Assignment)
l 如果时间更充裕一点,你会怎么改进你的作业?
l 假设现在时间紧迫,你的作业没办法做到面面俱到,那么你会优先在作业中考虑哪几项问题?
l 你觉得这次作业中最难的是哪一部分?在完成过程中你都采用了哪些手段?
评价简历
l 你在过去的哪个岗位或哪项工作里用到了某软件?
l 请详说一个你参与过的项目。你当时有哪些同事?你具体做了什么?
l 你从某项目中学到了什么?
评估技巧
l 计算机科学是常青学科。请留意那些喜欢顺势而为、善于学习的候选人。如果候选人喜欢使用新软件,经常参加编程交流会并且在经常在技术论坛上发言,这说明他对行业十分投入,是可用之才。
l 脑筋急转弯式的问题并不能考察出候选人的能力。请提一些具体的问题,问问候选人对公司使用的软件熟不熟悉,他们会怎么处理工作上可能会遇到的问题等等。这也能让你在不同候选人之间做出比较。
l 不要问太多理论性的问题(比如,请说出XX的定义)。而且理论性的问题也考察不出候选人解决问题的能力。请让面试者从实际经历出发,回答一些能反映他们临场反应能力的问题。
l 书面作业宜在与候选人做过第一次交流(一般是电话交流)后布置。记得在布置作业后以邮件的形式给他们介绍更多细节。请给候选人留出充足的时间完成作业,也请记得定好截止日期。
l 在评价作业时,请不要只关注对错类问题,要能透过答案看到候选人的思维方式。如果候选人的答案体现了创新能力,即便是有些小纰漏,也不妨碍他是个头脑灵活的人,而这正可能是岗位所需要的。
红牌警示
答案不明确。如果候选人解释不清简历上的经历,那么他很可能在该项目里的参与度不高。请多问一些细节方面上的问题,找出他们在该项目里所扮演的具体角色和具体贡献。
缺乏热情。开发人员都对自己的职业充满热情,即使外人很难一眼看出来。问问候选人有没有参与过很有意思的项目,或者最喜欢使用什么工具。这类问题的回答很能反映出他们对工作的热情程度。
不乐于学习。候选人不可能熟悉所有公司使用的软件或程序框架。但如果他不乐于调整思路,适应公司的工作方式,那么他很难与本公司员工合作。如果候选人表现出学习的欲望,在新的软件或系统面前没有望而却步,那么请选用他。
团队合作能力不佳。开发人员大部分时间在电脑前工作,但他们每天也需要与同事或者不同的人打交道。若候选人人际交往能力不佳,或者表现出粗鲁、自大的迹象,则说明他缺乏团队合作精神。
只会听命于人。没有大局观的候选人是理解不了公司的需求和目标的,请考虑哪些参与整个软件开发周期的候选人,他们喜欢先手行动,懂得提出意见,而不是只听命于人。