第一类是书本上的基础知识,例如:会不会C和C++,C和C++的区别,什么是面向对象,链表和树大致如何操作等。
刚毕业的学生没有工作经验,只有学校的基础知识,我想问这些应该不算难为刚毕业的学生吧。如果连这些都回答不上来这种人显然不光是在学校没好好学习,在我看来连软件开发的兴趣都没有。
第二类是关于实践的问题,例如:毕业设计做的是什么,分成哪几块,每一块是如何衔接的,你做的是哪一块,用到了那些开发工具及相关技术或知识。
这些问题很重要,因为毕业设计几乎是学生走向社会的第一次实践,运用好书本上的知识做好毕业设计,学生的能力会有一个质的飞跃。问这些问题我主要关注这么几点:学生是否对毕业设计的整个项目是否了解,对自己做得那一块是否了解,涉及到哪些开发技术。学生如果只对自己做的一小块熟,而对参入的整个毕业涉及项目不了解,那么这种人显然团队意识不强,而且视野狭窄,不是我想要的;至于涉及到哪些开发技术,我主要考察一下书本上的知识运用得如何,是否了解一些windows开发技术或者VC的技巧,只要求能把自己负责的那一块说清楚就行了,其他部分都能说清楚那就非常令人满意了。
第三类问题会再次问书本上的知识:计算的组成原理,操作系统的组成等。
这次的问题虽然还是书本上的,但属于理论知识,难度对毕业生来说要大些,这次的问题不是要求毕业生一定能回答上来,只要不是不懂装懂就行了。
上面三类问题就象三层筛子,第一类问题筛掉在学校没有好好学习的,及对软件开发没兴趣的;第二类问题筛掉没有团队意识,视野狭窄没有全局观,动手能力极差的;第三类问题筛选有一定理论知识的优秀毕业生。其实前面两类问题能通过,我一般都会给机会上机考试,第三类问题只是为了能找到比较优秀的毕业生。