作为面试官的一些琐事
- 陈大剩
- 2025-01-11 19:59:50
- 133
前言
有一段时间没有发博文了,我这博客也积了点灰。其实,是因为我最近搞了个大动作,入职一家做 AI 应用的公司,还成了技术大哥。新的挑战,新的开始,你说,是不是该给我点祝福呢?那作为技术 Leader, 当然少不了面试,因此负责了公司的一些面试,顺带说一些最近的感受吧。
面试时的一些细节
起初我也是很和面试候选人一样,心中充满了紧张和不安,我也是从面试者一步步到成面试官的。但随着面试的频次增多,逐渐找到了自己的节奏,面试过程也变得流畅和自如。
作为面试官,我首先会开场和候选人说流程,大致如下:“首先是您自我介绍,然后是介绍一个自己擅长和熟悉的项目(我据情况进行深入或浅出的提问),接着是专业知识层面的基础功考察,最后是您的反问环节。如果您准备好了就可以开始了。”
自我介绍阶段
往往在自我介绍阶段,有一些面试候选人,会把自我介绍和项目介绍混淆,就直接跳到项目经验,比如介绍完名字和年龄之后就谈项目,七八分中打底,仿佛没有一个整体架构。然而,其实我希望的是一个 3 分钟左右的自我介绍,包含:姓名、年龄、毕业院校、从事过那些行业、主要技术栈、擅长领域、职业发展方向。至今,我还没有听到一个完美的答案。
我想说的是,自我介绍并不仅仅是展示的技术能力,更重要的是展示个人特质,你的价值观,你的职业发展方向等等。
精简的例子:面试官您好,我叫 xx,来自于湖南长沙,xx 年毕业,专业是 “xxx”,我掌握的技能是:xxx,我的上一家公司是在 xxx,从事 xxx 岗位,开发的业务方向主要有:xxx。
项目介绍阶段
项目介绍阶段往往是最容易紧张的阶段,我会提示候选人可以放松一下,不要紧张,我们是平等沟通。在项目介绍阶段,一些面试候选人对自己的项目不是很熟悉,无法详细地解释项目的细节和技术实现。例如,有面试候选人提到他们使用 Docker 进行容器化部署,但当我问到 Docker 的几种网络模式时,他们却答不出来。
我想提醒大家,对自己的项目有深入的理解和认识是非常重要的,不要为自己不会的技术随便添加上去,这不仅不能展示你的技术实力,反而会试你的结果更加糟糕。
基础功考察环节
这个考察面试候选人专业知识的颗粒度,比如候选人是停留在应用层(框架),还是更细的颗粒度(语言基层)。
Golang 求职者我会考察,并发编程这块知识。如:我会直接编写下面这段代码,询问这段代码有什么问题吗?能输出什么?
var wg sync.WaitGroup
for i := 0; i < 10; i++ {
go func() {
wg.Add(1)
defer wg.Done()
fmt.Println(i)
}()
}
wg.Wait()
PHP 求职者我会考察,基础语法这块。如:请简述一下原生 PHP 如何实现 PUT 请求?
我为什么要问这些?
有一些声音会问,你考察这些语言基础法有什么用?现在不是都封装在框架内?谁还会用原生的 PHP 或 Golang 去写业务?
我想说的是:虽然现在的很多开发工作都是基于各种框架进行的,而且框架对于开发人员来说,的确大大简化了工作量,提高了开发效率。但是,如果你只停留在应用层面,只了解框架的使用,而不去关注和理解框架背后的原理,那么你可能会在遇到一些复杂问题时,感到束手无策。
可以用一个积木拼房子的比喻来解释这个问题。如果专业知识颗粒度只停留在应用层(框架层面),那么的木块可能只有正方形或长方形这两种形状。当需要构建一些复杂的结构,比如需要用平角或圆角的积木块时,可能就无法完成了。
但是,如果专业知识颗粒度更细,比如了解并掌握了编程语言的基础知识,那么就像是拥有了无数颗粒度极小的沙子,你可以用这些沙子拼凑出任何形状的积木块,然后用这些积木块构建出你想要的任何结构。这样,定制化程度就会更高,可以更灵活地解决各种复杂的问题。
我认为,掌握编程语言的基础知识,理解框架背后的原理,是每一个优秀的开发人员必备的素质。这不仅能帮助更好地使用框架,也能让你在遇到复杂问题时,有更多的解决方案可供选择。
反问环节
反问环节,面试候选人,往往只问了几个简单的问题,如:
- 你们是做什么的?
- 你们用 PHP/Golang 是做什么?
- 你们主要的项目是什么?
我认为可以问更多:
- 这个岗位的管理模式是什么样子?
- 岗位空缺的原因?
- 公司发版时间是哪个几个点?
- 目前研发人员规模是什么样的?
- 目前贵司此岗位主要技术栈是哪些呢?
- 目前要求的到岗时间是?
面试完如何给上级领导汇报
可能在大部分公司,上级只需要给 通过 与 不通过,我建议向上级汇报采用文档的形式(有人力资源系统另说),一方面证明你真的面试过,另一方面也可以提供给上级一些选择。
给上级汇报的模版
## XXX(PHP 后端工程师)
面试时间:2025年01月09日 15:30
逻辑能力:★★★★★☆
专业能力:★★★★☆☆
岗位匹配:★★★☆☆☆
年龄:18
婚姻:未婚
学校:湖南科大
上一份工作离职时间:2024年11月
最快入职时间:随时
Q: 怎么进入开始从事 PHP/Golang 后端开发的?
A: 大学学过
Q: 最近学习提升的方式:
A: 看 B站视频、看抖音、看书。
### 总结
xxx
目前此岗位专业知识招聘标准
一星:基础知识欠缺,无法独立完成基本的编程任务,需要大量的指导和帮助。
二星:有一些基础知识,能够完成一些简单的编程任务,但在遇到复杂问题时需要帮助。
三星:有应用层知识,能够独立完成一些复杂的编程任务,但在解决一些高级和技术选型问题时可能需要帮助。
四星:有应用层知识,还能独立解决复杂问题,但在解决一些高级问题时不能独立思考需要帮助。
五星:不仅有扎实的基础知识,在一些领域理解和经验,能够解决高级问题,能够在团队中独挡一面,独立完成产品,并编写技术方案。
六星:在本领域有的理解和经验,能够解决极其复杂的问题,能够在公司或行业中担任技术领导角色,对技术有深入的理解和创新的思维。
结语
最后,我想说,无论是面试官还是面试者,我们都在学习,都在成长。面试不仅是一次求职和招聘的过程,更是一次互相学习和进步的机会。