最近团队要招聘几个人,然后招聘工作就落到了我的头上,前后也面试了十几个人,下面说说面试的感受。

1. 提前进入会议
为了尊重候选人,我一般会提前1到2分钟进入网络会议,这个时候候选人基本都已经在房间里面了,也作好了面试的准备。候选者也都是非常守时的。
2. 开场
开场的时候会询问下是否可以进行面试了,一般候选者会回答准备好了,这个时候就可以开始了。开场我一般会简单的自我介绍下,说下自己是什么公司什么部门的,然后自己平时的工作内容大概有哪些,接下来就可以让候选人简单的自我介绍下,开场大概花个1到2分钟的时间。
3. 对着简历提问
面试前会准备好候选人的简历,然后大致看一看,找出项目中的一些难点和关键点,然后会看看候选者用了哪些技术栈。这个时候就可以针对这些进行提问了。
- 看看候选者的教育经历与工作经历是否正常,比如中间出现断档的情况,如果有就需要询问一下
- 看看候选人的籍贯和上大学的地点,一般候选人会选择离家近的地方或者大学的所在地
- 就着候选人的工作项目进行询问,特别是如何去解决项目中的难点的,看他能否顺利的讲出当时的背景和解决问题所做的努力,可以针对项目问些开放性的问题,比如如果要加XX功能应该怎么考虑,安全性是如何保证的,性能是如何保证的等等。
4. 问些面试问题
4.1 网络问题
- 网络七层模型或者四层模型
- TCP 三次握手和四次挥手过程
- TIMEWAIT状态的作用,如何防止过多的TIMEWAIT
- TCP与UDP协议的区别
- HTTP协议的常用状态码,HTTPS、HTTP2、HTTP3协议分别解决了什么问题
4.2 Linux操作
- Linux常用命令,比如查找文件
- 怎么查看系统的负载和内存的使用情况等,TOP中us/sy/ua的涵义
4.3 操作系统
- 进程和线程的区别
- 进程间通信的手段有哪些
- 什么是协程
4.4 数据结构
- 排序算法
- 二叉搜索树的定义
- 常用的数据结构和使用场景
4.5 Mysql
- 常见的引擎及其区别
- mysql优化的常用手段
- 谈谈mysql的索引
- 如果对大表修改字段
4.6 Redis
- 重用的数据类型
- 怎么设计一个排行榜
4.7 安全问题
- sql注入
- XSS
- CSRF
- 重复请求
4.8 性能优化
- 服务器性能优化
5. 扩展方面
- 日常空余时间做些什么
- 有些什么计划
- 平时的爱好
- 是否愿意分享,写过博客没有
6. 代码面试
在代码面试网站上列1-2个题目,让面试者在线编程
7. 总结
面试,其一是找寻具备一定专业能力的人,这是基础,其二是了解候选者的性格,看看是不是适合团队需要、看看是不是足够稳定。概括起来就是通用能力和专业能力都符合的T型人才。