1 - 态度
这是我最看重的特质,当然这个态度说的不是对我的态度,而是思考问题和解决问题的态度。
个人来说比较偏好的是对自己感兴趣的领域具备‘打破砂锅问到底’的精神,具备这样精神的人往往有一种完美主义,对于自己的代码有强烈的mental attachment,会自己挤时间不断地fix bugs,增加unit tests或者refactoring,长远来看对项目质量非常有好处,组里有这样的人非常省心。
一般直接问candidate你最有自信的技术是什么?然后顺着这个不断地深入挖掘。通过“如果你来设计”这样的假设,来考察应聘者对自己自信的技术到底有何种程度的了解,到底有没有想过这些技术为什么会是这样的。
案例1,我对数据库很熟悉
那么“如果你来设计”的问题就会类似这样:
1,如果你来设计数据库,你会怎么管理文件的? 比如我insert了一行数据到employee表,具体在后台发生了什么事情? 会有什么样的写入操作?有哪些东西会被更新
2,好,现在record已经在数据里面了。我跑一句select * from employee where last_name = 'Smith'。你觉得数据库具体做了哪些事情把这一条数据给返回的?它是怎么从文件系统中把这一条记录给找出来的?
3,假设我的employee表里已经有一些数据了,这时候我加了一个新的column,会发生什么事情? 文件系统中需要做哪些改动?
4,