如何在面试中识别优秀团队
我四月份在博客上发表了这篇文章,最终促成了teamrank.dev 的诞生。这是一个根据文中提出的想法对团队进行排名的应用。欢迎大家试用并分享结果!
怎么做到的?!答案很简单:问对问题!😁
在techpilot.dev 工作期间,我面试过不少人,虽然也听到过很多精彩的技术问题答案,但有一点始终不变:似乎很少有人真正想了解他们未来可能加入的团队。😅
我认为这是一个错失的机会,所以这里提供一些可以询问的问题。
工作流程
- 他们如何管理需求和功能规格?
- 在此过程中,他们会使用哪些工具?
- 谁在编写技术规范?(也就是说,肯定得有人负责编写,而且应该尽快答复。)
- 发布流程是否定义完善?
问题和缺陷管理
- 编写新代码之前是否已修复错误?
- 他们在哪里以及如何追踪漏洞和问题?
- 他们如何确定漏洞的优先级并进行排序?由谁负责这项工作?
测试
- 谁负责手动/集成测试?(例如,理想情况下应由指定的测试人员负责)
- 该项目是否有单元测试?单元测试覆盖率如何?
发布周期和自动化
- 他们是否使用持续集成(CI)?如果使用,具体配置如何?
- 他们使用哪些工具?(例如 Jenkins、Github Actions 等)
- 他们会构建每日/夜间版本吗?
生长
- 如果被录用,公司是否会安排导师或人员帮助您规划职业发展道路?
- 他们会审查代码吗?在开发生命周期的哪个阶段进行?由谁负责审查(例如,同事、项目负责人等)?
- 他们公司有图书馆吗?还是会为员工购买技术书籍?
- 近期会有新建项目的机会吗?(启动一个项目可能充满挑战,但也是学习的好方法!)
工作区
- 这里安静吗?
- 人多吗?
- 每个开发人员都能获得哪些设备(一般来说,要寻找那些了解设备会影响工作效率的公司)。
代码库、框架和工具
- 这个项目有多久了?(时间越长,越有可能存在问题)
- 他们使用哪些技术栈和工具?(请记住,你想要一份适合自己的工作,或者一份你能轻松适应的工作,所以即使是个人观点也很重要。)
- 他们是否采用了编码风格?如果采用了,他们是否使用代码检查工具来强制执行?
团队
- 如果你被录用,你将加入一个多大的团队?
- 还有谁承担类似的职责?(也就是说,除非你非常清楚自己在做什么,否则最好避免单人团队)
如果你胆子够大:
- 询问他们是如何解决你之前遇到的特定任务或架构问题的(例如“服务之间如何通信?”、“私钥是如何安全存储的?”等)。
- 询问现有团队成员的背景。明确表示你不是想了解个人信息,而是想了解团队的成熟度和经验(例如从业年限、专业领域等)。
最后,以下是一些需要避免的事情:
- 不要问你不真正感兴趣的事情。要坦诚直率。没完没了的面试也可能意味着没完没了的会议。(对双方都是如此)
- 那些泛泛而谈、毫无意义、敷衍了事的问题。虽然人力资源部门可能喜欢,但在技术面试中最好避免这类问题,而是要问得切中要害。诸如“你们团队通常是如何处理问题的?”“公司有职业发展机会吗?”之类的问题,应该在上述更详细的问题中得到解答。直接问这些问题对任何人都没有帮助。这就像问“这份工作好吗?”一样。“好!”“好的,这就是我想知道的全部了!”
- 个人信息。你或许认为这会营造一种更亲切轻松的氛围,然而,人们对此看法不一,想当然就好比是在赌博:你可能赢,也可能输。