面试

  • 给面试者10分钟时间,让他介绍自己最擅长和最感兴趣的领域
  • 这个人对他所做的事情是否充满激情
  • 他们是否能在团队中很有效地进行沟通
  • 他们是否在专业领域足够擅长
  • 你的团队是否会乐于和这个人一起工作
    1. HashTable与HashMap有什么区别?
    2. Servlet是线程安全的吗?
    3. JSP中@include跟jsp:include的区别
    4. HTTP的response code 403和500分别代表什么

  这一招我在面试中用得很多,而实践证明也确实非常有效

请你描述一下,在这个项目中,从一个HTTP请求发起,到最终的Response返回,它在你的系统和框架内部是如何流转的?

  这个问题往往能够判断出面试者对于相关技术掌握的深度。较初级的开发人员描述的层级往往比较浅,比如使用Spring MVC框架的,只能说到实现一个Controller继承BaseCommandController(甚至很多开发人员只知道继承了一个公司内部框架的基类),至于再往下Spring框架是如何进行内部流转的,就再也说不清楚了。而更资深的开发人员,往往能说出框架内部的实现机制,以及如何调用和处理的。在面试者描述的过程中,你还可以穿插询问一些比较有深度的问题,比如框架中某个类这样设计是哪一种设计模式的体现,采用这样的设计有什么好处等等。这比让面试者默写一个设计模式代码要有效、自然得多。

  除了技术层面上的考察之外,对于资深开发人员,还需要考察他们的设计能力。说到软件设计,大部分面试者都能熟练地背出面向对象的三个基本特性:继承、封装、多态,也能把它们的概念描述清楚。但我一般会问下面的这个问题来考察他们的面向对象设计能力。

请用一段程序代码描述我们所在的这间房间。

  我惊讶地发现至少有一半的面试者都很难准确使用Interface和Class来给房间建模,也有一些人会将最基本的代码语法或关键字写错。

 

posted on 2018-09-03 21:25  qq2461196038com  阅读(125)  评论(0编辑  收藏  举报

导航