近期参与了几个大学的校园招聘,总体下来感觉还行,由于校园招聘需要面的人很多,差不多面试流程都形成模式了,在面试的过程中,有不少学生问过我,到底面试的标准是什么,不过每个面试官的标准都是不同的,所以也就注定了面试是会有些不公平的,是否对面试官的胃口会起到很大的决定性因素,当然,最重要的还是实力,很多学生会认为面试不公平,但我觉得这也算是从学校进入社会的第一课吧,工作后学生们会发现更多不公平的事,对于学生而言,无论是应届毕业的本科、硕士,我的面试标准都差不多,考察的为Java基础、Java框架、设计模式、互联网架构的了解,当然,在最后会问一些其他的问题,例如大学学习情况呀、一两年后对自己的期望呀、优势和不足、最近看过的技术新闻等等,在这些所有的问题的背后,考察的最重要的是基础掌握的是否扎实、学习能力、反应速度、抗压能力以及技术兴趣。
对于应届生而言,通常都没有太多的实际的商业项目的经验,更多要求是基础的扎实,因此第一关会是java基础的考察,在java基础的考察上通常我会考察下学生对于protected、static等等的掌握程度,在面试的过程中,几乎所有的同学都认为自己熟悉的包是集合,其他的包都谈不上熟悉,在集合包方面可以考察的点也很多,例如List、Set的区别;HashMap的实现方式等;在基础方面,线程、通信、远程调用、并发、GC等这些会成为加分项,我觉的如果学生能对这些有掌握的话就更好了。
第二关会是Java框架的考察,在这方面会考察学生对于自己认为的最熟悉的框架的掌握程度,然后会考察学生对这类框架中的核心思想的掌握情况,例如Struts,那么就可以考察学生对于MVC思想的掌握情况,自主如何实现MVC框架;例如spring,可以考察如何自主实现一个DI框架等,这些题目其实如果学生具备很强的举一反三和反向推理的能力,基本是可以答出来的。
第三关会是设计模式的考察,这关我觉得基本已经属于加分环节了,设计模式方面可以让学生当场写一段自己最熟悉的模式的代码,例如singleton模式,有很多种写法,可以问下学生各种写法有什么不同。
第四关为互联网架构的了解状况,这关纯属加分环节,如果能够对互联网的架构有所了解的话,会非常有帮助。
第一关和第二关属于通关制,如果顺利的通过了第一关和第二关,其实基本也就过了,之后就可以聊聊在大学的学习情况、一两年后的期望、最近看过的技术新闻、大学期间做过的最有成就感的事等等,尽可能的更加全面的了解学生。
根据整体的面试情况来看,现在应届生找工作的压力确实非常的大,而且大部分都已经是硕士了,本科生能过笔试的都不多,能过面试的就更少了,不过也会有就是,面过一个不错的本科生,竟然对jdk的很多代码都有阅读、开源框架上spring DI那部分的代码也仔细的阅读过,并且他去阅读这些代码的原因就是他认为这些代码应该是会写的不错的,需要仔细看看,:),这我觉得基本是典型的技术人士,另外,还碰到过一个硕士生,他对于Java框架几乎完全不了解,但他有个很明显的特征,就是只要他用过、学过的Java包什么的,例如ArrayList、HashMap等等,他都能做到从头到尾的掌握,可以称的上是精通了,这种我觉得很适合做专业型的基础技术,:)
很多应届生会觉得是因为大学中没教这些,所以导致他们面试很难通过,但我觉得这还是对于技术的兴趣以及自学能力等决定的,大学中最不缺的应该就是时间,完全有足够的时间看看一些源码什么。加强自己的知识体系,为离开学校、进入社会工作做好充足的准备,另外,在面试的时候一定要诚实,不懂的就是不懂,没什么的,不能完全答对面试的问题并不代表就被淘汰了,希望这篇blog能给大学生们提供一点帮助,:)。