最近正好有时间空下来,前一段时间本来打算呢,写一写阶段的总结,今天就来谈谈吧。作为一个java入门小白,之前就职于浙江大华,是通过大华10月份秋季招聘通过大华的面试。
浙江大华校招采用模式是先笔试、再面试。笔试题目不算太难,不过基本很细致,有涉及到集合容量增长方式(要查查集合ArrayList等源码中就会知道)、IO流、数据库操作、多线程死锁等问题。
笔试题目是网上完成的,然后就是面试。这就是校招容易的地方,校招时候人特别多,而且简历筛选也不是很容易,所以主要看面试,面试时间10分钟左右,面试官会引导你让你回答问题,先看看简历上做过的项目,让你讲一讲,我可能是大学期间做过的项目比较多,讲项目就用了很久的时间。然后基本的东西都没有问我,也就问问一些比如hibernate和mybatis什么区别、IOC/AOP谈谈、多线程的一些问题。整个环节轻松愉快,然后就是HR面试,可能是简历比较好一点,HR就谈谈了大学的事情,像聊天一样。然后就收到offer。
这个面试经历,我想谈的是,其实作为一个学生去参加一个大公司的面试,你的知识储备肯定有漏洞的。简单来说,那你要准备面试java开发,首先你要会清楚java SE的东西、oracle/mysql的增删改查,多表查询,视图,触发器,存储过程、一些常用的框架Spring,struts,hibernate,mybatis,RESTful,OSGI等等太多框架、还有tomcat,Jetty吧、还有JavaScript,html,css等吧,LINUX、数据结构等等。
需要准备太多,而你肯定也有自己擅长的领域和不熟悉的知识点,我想说的是,在面试过程中如果设计一个知识点你不是很了解,那最好的办法就是抓紧时间说这个我不会,比如他问你linnux中的文件包括哪些,如果你不确定或者不了解,那最好的办法就是说linux你最近接触不多,这些你还不了解,但是你会马上去学。这样的话,你只是用了30秒来终结一个linux问题,仔细想想技术面试时间基本确定的,在最后面试官结束以后他会感觉你整体面试情况,如果你其他擅长的回答的比较满意的话,这30秒就不会影响到你,这是我亲身经历。但是如果那你回答了这个问题,不管对错,他都会继续在这个问题上扩展,那结果是可能在2-3分钟,你都还在回答linux的问题,结果整体还不是很好,那面试肯定挂了。
然后再谈谈最近面试华三的情况吧。华三通信大概是5轮左右,第一轮笔试(笔试题目全部是java基础,特别基础),比较简单的。第二面是技术官面试,也是比较基础的问题,常用的集合线程是否安全、多线程run()和start()方法区别、接口和抽象类的区别、java中内存泄漏描述、Spring的AOP、Spring mvc等等。还有一个程序开发流程思路的题目,比较综合,比较全面。
第三面是部门的经理,他会考考你的逻辑思维的一些题目,聊聊你做过的项目。
第四面应该是个副总了,他问的很简单,成绩、学生工作、获奖情况。还好大学期间都玩过,我就说说了,他说ok,就结束了。
第五面应该是你的部门主管了,他会和你谈谈你的性格,爱好,聊聊你的发展方向,后面都是别的就不具体谈了。
对于这样比较基础的面试,我想说的是不要看起来很简单,因为大家都基础,都会,所以扩展,展现出你的能力更重要。在他问我集合的问题上,我不仅回答了问题,还讲了一些我查过集合源码的一些总结和积累,在Spring时候我也讲了一些Spring 源码的东西。相信他们会看出来,所以说面试就注意一点,不会的不要装懂,会的话就把这个问题引导过来,展开来讲。