[笔经面经] 我是如何挑选刚毕业的学生的(
转)
我们公司最近在招聘,我负责VC面试。我面试的有两种人:一种有工作经验的,一种没经验的学生;对于有工作经验的我的要求会高一些,对于没经验的学生我的要求不高。我们公司招聘一般没有笔试,都是第一轮面试,如果有第二轮就是上机考试。
我说说我是如何挑选刚毕业的学生的吧。首先是面试,面试的时候我会问三类问题:
第一类是书本上的基础知识,例如:会不会C和C++,C和C++的区别,什么是面向对象,链表和树大致如何操作等。
刚毕业的学生没有工作经验,只有学校的基础知识,我想问这些应该不算难为刚毕业的学生吧。如果连这些都回答不上来这种人显然不光是在学校没好好学习,在我看来连软件开发的兴趣都没有。
第二类是关于实践的问题,例如:毕业设计做的是什么,分成哪几块,每一块是如何衔接的,你做的是哪一块,用到了那些开发工具及相关技术或知识。
这些问题很重要,因为毕业设计几乎是学生走向社会的第一次实践,运用好书本上的知识做好毕业设计,学生的能力会有一个质的飞跃。问这些问题我主要关注这么几点:学生是否对毕业设计的整个项目是否了解,对自己做得那一块是否了解,涉及到哪些开发技术。学生如果只对自己做的一小块熟,而对参入的整个毕业涉及项目不了解,那么这种人显然团队意识不强,而且视野狭窄,不是我想要的;至于涉及到哪些开发技术,我主要考察一下书本上的知识运用得如何,是否了解一些windows开发技术或者VC的技巧,只要求能把自己负责的那一块说清楚就行了,其他部分都能说清楚那就非常令人满意了。
第三类问题我会再次问书本上的知识:计算的组成原理,操作系统的组成等。
这次的问题虽然还是书本上的,但属于理论知识,难度对毕业生来说要大些,这次的问题不是要求毕业生一定能回答上来,只要不是不懂装懂就行了。
上面三类问题就象三层筛子,第一类问题筛掉在学校没有好好学习的,及对软件开发没兴趣的;第二类问题筛掉没有团队意识,视野狭窄没有全局观,动手能力极差的;第三类问题筛选有一定理论知识的优秀毕业生。其实前面两类问题能通过,我一般都会给机会上机考试,第三类问题只是为了能找到比较优秀的毕业生。
我再说说上机考试吧。上机考试主要是为了考察毕业生的真实动手能力。题目主要来自《数据结构》,不外乎将链表、树、文件、排序等组合运用而已。我出的上机题只有一道,给半天时间,早上9:00-12:00或者下午13:30-17:30,呵呵,这是我们的作息时间。题目如下(这个题目是我自己想的, 如无雷同,版权所有, 如有雷同, 纯属巧合):
写两个程序,一个程序枚举windows指定目录,将该目录下的文件结构保存为一颗树,将这棵树保存在一个文件中,另一个程序从这个文件中读取树,并打印出来。要求用C语言形式写这个程序,即文件的扩展名为.c而不是.cpp。当然如果实在不会用.c写,我也不为难,可以用.cpp写,但是我优先选用.c完成的人。
这个程序考察这么几个方面:设计能力、逻辑思维能力、解决未知领域问题的能力、windows开发能力、基础知识运用能力。
首先,程序的框架结构以及如何将树保存在文件里面考察的是设计能力,程序的执行流程考察的是逻辑思维能力;这两个能力非常重要,即使程序最终没有完成,但只要程序的框架搭建起来了,程序的主流程出来了,保存树的文件格式设计出来了,就是考试合格了;其次枚举指定目录考察的是windwos开发能力,不是考察重点,不会没关系,通常刚毕业的学生都不懂得如何实现,我可以提供相关Win32 API的资料(包含例子程序,其实就是MSDN)供查询,如果毕业生有一定windwos开发能力,那么我总会找一个他没做过的让他去做,这时就是考察毕业生解决未知领域问题的能力,这个能力也很重要。至于基础知识运用能力的就是看对树的操作以及文件操作了,不是考察重点。