最近一个月面试了10几个人,有应届毕业生,有在校寻找实习的学生,有工作了两三年的,也有工作了5到10年的,有在外包公司工作的,有目前在世界级外企的。结果是,一无所获。
想起两年前,研究生二年级上学期开始找工作,面试了几个公司的经历,和一些师弟师妹问我的一些问题,不禁让我想到了很多。主要有两个方面:
1 我们应该如何面试,才能挖掘出应聘者的真实能力
2 从面试中,我渐渐的画清楚,一个公司需要什么样的人才,我自己应该如何规划我的未来。
我面试别人掌握两个原则:
1 此人掌握的主要技能是我们所需要的
2 此人虽然尚未掌握我们所需要的所有技能,但是从他已经掌握的技能可以看出他的潜力和当前的Level。
第二点很重要,就像Kent Beck不是Flex高手,但是我相信如果他愿意学习,他很快就会成为Flex的高手。
我觉得我们招人主要基于以下考虑:
1 需要某方面专门人才,来和我们现有的人形成互补。
2 需要一些具有我们项目所需要的技术的人,他的技能会跟我们类似,但即便这样,我们依然希望他会是某方面的专家,比如Spring Security这么一个框架的专长也是Plus。而且,我希望这个人比我强。
我招人的时候希望此人具有以下的气质:
1 热爱编程,相信软件工艺,也相信软件工程。最近在看Kent Beck的实现模式和Bob大叔的代码整洁之道,我希望他能跟我一样,认为代码是给人看的,好的代码像一篇文章一样。能够反复去雕琢一段代码。但是要理解软件工程,不能为了雕琢每一段代码,而缺乏全局认识。
2 热爱编程,能够为解决一个问题,写一段漂亮的代码,甚至于为类起一个好的名字而失眠。
3 热爱编程,把这当作是一项事业,而非仅仅是工作。那种只是想把工作对付完了就OK的人是不适合的。
4 热爱编程,单纯的用程序交流,人也像好代码一样,干净利落,说话直来直去。大家都很忙,没时间听客套话和绕圈子。
就像当年别人面试我的时候那样,我会这样去面试别人:
1 从简历里挑出我最关心的他所会的技能,比如最近我希望招一个JS高手,最好精通Dojo(我说的精通是真的精通)。
2 我会问他最擅长的技术(如果此技术不是我们最需要的那个),如果他最擅长的技术都语焉不详,那就没什么意思了。
3 我会问某项技术全貌上的问题,比如会让对方谈谈Dojo的整个架构,是怎么解决JS领域的一些核心问题的。
4 我会问一些技术细节,比如Spring的声明式事务处理是怎么实现的,因为这一个问题就暗含了AOP的概念和如何实现,代理模式,线程,JDBC事务处理。如果应聘者看过Spring的源代码,那么说明此人能够花心思追究技术更深层次的东西,具有优秀程序员一个优秀品质:好奇心。如果应聘者没看过Spring的源代码,他能回答上来,说明此人各方面基础知识扎实并能融会贯通去解决问题。同样我会问Hibernate的延迟加载是怎么实现的。
5 我会问一些工程性问题,比如Spring的依赖注入,Scope为Session的Bean如何注入到Scope为Singleton的Bean。比如如何调整Hibernate查询性能。比如数据库索引会在什么情况下失效,原理是什么。
6 我会问一些解决方案,比如如何重启服务器后,依然能够保持Session。
7 我会问一些企业开发中特别重要的问题对方是如何理解的,比如事务,并发,内存管理,异构系统整合,数据库性能优化。
8 我会问一些特别基础的问题,比如HashSet是如何判断新添加的对象是否已经存在的,如果已经存在,它是不再放进去,还是放进去覆盖之前的。比如ClassLoader的工作原理。
当我面对一些工作了四年以上的人时,多少是有点惴惴,因为会担心对方很牛,我却挖掘不出。后来请教了一位工作了六年的同事,他说一个简单的原则是:
问他你目前在项目中遇到的问题,因为这些问题都是大家讨论的,深思熟虑的,然后问他的解决方案。
我面试的这些人,有时让我很感慨,为什么工作了四五年的人,甚至是十年的人,号称自己精通Dojo,但是一些基础性问题都不清楚,因为我是初学者,但是我会买一本Dojo之父写的精通Dojo去学习,甚至于我带的一个大四的实习生都知道去遍历网上所有的Dojo基础资料,然后把源代码看看。我需要的是,当我问及一个问题时,告诉我Dojo正确的做法是什么,而不是仅跟我一样,遇到一个JS问题,只能去网上搜一段代码,改改放到项目中,甚至于那段代码他都不完全理解。比如我现在也在阅读Javascript高级编程指南,以了解细节。
跟一个很牛的同事一起面试别人JS,我觉得那人技术还算熟练,但是我的同事摇摇头说,一个人工作了四年,连如何用JS模拟Java中的类,JS的事件框架是怎么回事都不清楚,怎么能行呢。
我想,或许,这也是我的奋斗目标:
1 成为丁字形人才,有一项自己特别精通的技术,比如我的那位同事精通Extjs,精通JBPM,精通Spring Security,那是真的精通,另一位同事精通Lucence,还有的精通JQuery,有的非常熟悉Oracle。
2 其实我对于我想招的人的要求,就是对自己的基本要求。
分享到:
相关推荐
【面试技巧与策略】 在求职过程中,面试是一个至关重要的环节,它不仅是企业了解应聘者能力与素质的窗口,也是应聘者展示自我、争取工作机会的关键时刻。以下是一些基于题目内容的经典面试技巧和应对策略: 1. ...
面试是求职过程中至关重要的一环,尤其对于即将毕业的大学生而言,面试技巧和注意事项能够显著提升获得实习机会的概率。以下将详细解析面试前的准备、面试技巧以及需要注意的事项。 一、面试前的准备 1. 确立职业...
1. 公司研究:了解面试公司的业务、文化、产品或服务,有助于你更好地理解自己的角色定位,提出有见地的问题。 2. 职位分析:明确所申请职位的职责和要求,结合自身经历和技能进行自我评估,确保与职位需求匹配。 3....
3. **提问环节**:面试结束前,提出有见地的问题,比如询问团队的工作方式、未来项目或是公司的发展方向,这不仅显示了你的兴趣,也体现了你的洞察力。 4. **后续跟进**:面试后发送感谢邮件,简短总结面试亮点,并...
这样做不仅展示出你的专业性和诚意,还能在面试中提出有见地的问题和建议,提高关注度。 4. **展示强项**:强调自己的特长和独特技能,即使与岗位要求不完全匹配,也要找到与之相关的契合点,证明自己有能力胜任。 ...
【结构化面试】是一种标准化的面试形式,旨在通过统一的问题、评分标准和流程,确保所有候选人受到公正且一致的评估。以下是对结构化面试中常见题型及其考察点的详细说明: 1. **背景性题目**:这类问题旨在了解...
在面试前,了解公司的基本信息是必要的,以便能够给出有见地的评论。可以谈谈你对公司的理解,对公司的赞赏,同时表达你愿意为公司贡献力量的愿望。 7. **工作期待**: 当被问及期望的工作部门时,最好表达你的...
【知识点详解】 ...考生需具备全面的视角,能够快速理解复杂情况,提出有见地的解决方案,并能有效地与他人交流和合作。通过精心准备和实战演练,可以提高在案例分析面试中的表现,增加成功录取的机会。
无领导小组面试是公务员考试中常见的一种面试形式,它旨在评估候选人的沟通能力、协作精神、逻辑思维和领导潜力。以下是对这种面试模式的三大关键技巧的详细解释: 1. 懂得聆听与记录 在无领导小组面试中,善于倾听...
综上所述,公务员面试中涉及的热点问题通常关联社会现象、公民责任、文化传承与发展等多个层面,考生需要具备全面的视角和深度的理解,能够就这些话题提出有见地的观点和解决方案。同时,这些热点事件也是考察考生...
文档“麦肯锡招聘面试案例分析样题和答案(英文).doc”将提供具体的案例题目和参考答案,这对于熟悉麦肯锡面试的风格、提高案例分析技能非常有帮助。通过反复练习,你可以逐步提高自己在高压环境下分析问题和解决问题...
3. 提供有价值的信息:面试时间有限,考生需充分利用每一秒提供最具价值的内容,突出自己的独特性和适合所报考专业的特质。例如,可以分享自己与编导相关的实践经历,展示创新思维和问题解决能力。 4. 真实性:在...
无领导小组面试是一种评估应聘者团队协作能力、领导力和沟通技巧的面试形式。在这个过程中,一组候选人被赋予一个问题或任务,他们需要共同讨论并达成共识,而面试官则在一旁观察和评估他们的表现。以下是无领导小组...
### 项目管理与软件工程见地 #### 一、引言 在当今信息化时代,无论是企业还是政府机构,都在不断推进数字化转型。在这个过程中,**项目管理**与**软件工程**成为了实现目标不可或缺的关键因素。本文旨在通过简洁...
从给定的文件信息来看,这是一份与IT硬件、集成电路设计、计算机体系结构以及编程相关的面试题集合,主要涉及威盛(VIA)公司的面试题目。以下是对这些知识点的详细解析: ### 1. 设计与保持时间违例 在数字电路...
准备充分,对公司和职位有深入了解,能够提出有见地的问题,这都是展现个人素质和专业素养的方式。同时,通过实例分享自己的学习经历和项目经验,可以生动地展示你的能力和潜力。 总的来说,找工作的过程是一个自我...
虽然一开始可能存在沉默和不适应,但随着讨论的深入,团队逐渐找到了共同的节奏,最终提出了有见地的建议。 小组讨论的技巧包括: 1. **积极参与**:即使面对压力,也要敢于表达自己的观点,但同时要注意尊重他人...
读者可以在这里找到各种有趣且有见地的信息,这些信息可以提高编写的代码质量或掌握的工具知识。 目标受众基本上是和我一样感兴趣的每个人,即这个列表的主题包括 Rust、C、C++、一些 Java 和其他编程语言以及 x86、...
精选的有关反脆弱性的有见地的资源清单 图书 ( 博客文章 -良好的总体概述和抗脆弱行动的具体示例 播客 -采访 影片 为何社会崩溃-以及对我们意味着什么-约瑟夫·塔因特的七部分演讲: 第1部分 第2部分 第三部分 ...
JVM作为一个重要的知识点,在面试中也是尤为重要的,面试之前就有朋友提醒过,要多去了解学习,从当前的一个就业形势来说,不仅对于基本操作内容要有良好的见地,面试官更多的也在考察你对他人不熟悉的技术点的认知...