梦岩给一个应届毕业生的面试:
今天下午面试了一个应届毕业生,信息安全专业。
我问他:“对什么课程最有信心?”
他回答:“各种语言都熟悉,比较了解数据库,数据结构。”
我说:“那请你给我讲讲AVL树的特点是什么?”
他(停顿5秒钟):“没听说过这种东西。”
我:“没关系,这种数据结构确实比较少见。那你给我讲讲哈希表是怎么回事吧。”
他:“哈希...?”停顿10秒钟,一脸茫然。
我:“是不是学的时间久了,忘了?这样吧,你刚刚做的毕业设计是个什么项目?”
他:“是用VB和SQL做的。”
我:“VB和SQL Server?”
他:“对,SQL Server。”
我:“做什么东西?”
他:“做一个人力资源管理的系统。”
我:“那好,你给我讲讲,数据库的事务是什么?”
他(面露喜色):“这个我知道。数据库的事务就是一个查询。一个事务只有一条语句,执行一次查询。”
我:“你参加过实习?数据库维护?”
他:“对。”
我:“用的什么数据库?”
他:“SQL。”
我:“主要做什么工作?维护什么?”
他(茫然):“他们给我们打印的纸稿,我们做一些录入的工作。”
我:“...,我没什么问题了,你可以先回去,有结果我们尽快电话通知。”
他:“有可能的话请让我试试,我觉得真正的东西还是得在工作中学的。”
云风回复自己给硕士生的面试:
我说一个面试的学生的情况。最近几年做这些工作很多,面试的学生也有好几百了,这个倒不是普遍现象,只是觉得面对某些学生比较无奈。
去年我们去一个著名大学,老师推荐了一些硕士生,跟着一起做项目的。本来我们是有笔试的,有份笔试卷子虽然不满意,但是那个学生在推荐队列中,我们担心是笔试临场发挥的不好,结果还是安排了面试。
面试的话题谈到了他帮他的“老板”做的项目,是做数据库开发的。(不是用数据库开始,是自己开发数据库)他做的部分据说是跟字符串相关。我对搞算法的学生一般都多一些好感,就继续问下去了。
开始并没有直接问算法,而是用了个简单的问题开头。“一般在数据库内保存文本都是 unicode 吧,你们的数据库用的 UTF-8 还是 UTF-16 或者是其它呢?”
我看那个学生没沉默了一下,有点尴尬,就换了个问题,“你觉得 采用 unicode 编码有什么好处?”
可是等来的还是沉默。
坐在旁边的同事终于忍不住了,问了一句,“你知道什么是 ascii 什么是 unicode 吗?”
原以为问这样的问题,会让他觉得过于简单,毕竟是一个做过项目的计算机硕士研究生。太简单的面试问题不太好。
没想到回答却是,unicode 没听说过,ascii 似乎听过,但是说不太清楚。(._.!)
接下来更寒,居然连一个字符串在内存中怎么表示的都不清楚。面对把字符 '1' 转换成数字 1 ,如果禁止用库函数,那么真的是束手无策。感情一直都以为,内存就跟一杂货铺一样,想放什么对象就放什么对象,字符串是字符串,数字是数字。
再问了下平常用的语言,似乎是学了点 C 就一直用 java 。当然我们也没打算继续问下去,所以这位同学的编程能力也不得而知了。
一网友对梦岩面试的回复:
1,AVL也就是所谓的平衡二叉树,其特点是任何一个树节点的左右子树的深度(高度)差不能大于1,平衡二叉树的结构特点使得以这种树存储的数据查找起来平均时间保证0(lgn)的数量级。
2,哈希表的存储特点是存储位置和关键字有一定的关系,哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在当前可利用内存越来越多的情况下,用空间换时间的做法是值得的。另外,编码比较容易也是它的特点之一。
3,数据的事务,应该是描述的事务的ACID特性吧。A:原子性,事务是一个完整的事务,不能再分,如果整个事务必须完整的完成,否则将完整的取消;C:一致性,如果在事务期间发生错误,数据必须可以恢复到事务进行之前的部分;I:独立性,事务未进行完毕之前,它提交的数据必须与其他事务隔离;D,持久性,发生错误时已经提交的数据应该可以保留下来。
评论