网上铺天盖地的都是面试官面试候选人的面试问题,而针对面试过程面试官的最后一问:“最后还有什么想问的么?”,没有问题,略显尴尬。发现github上有位叫 viraptor 的小哥反向思维,整理了一份求职反问手册,从岗位职责、基础设施、团队情况、公司技术发展、公司变现途径、是否坐班、办公室情况等角度,罗列了可问问题。截止当前已接近6k star : GitHub地址: https://github.com/yifeikong/reverse-interview-zh

反向面试

下面列表里的问题对于参加技术面试的人来说可能有些用。

列表里的问题并不一定适用于某个特定的职位或者工作类型, 也没有排序

最开始的时候这只是我自己的问题列表, 但是慢慢地添加了一些我觉得可能让我对这家公司亮红牌的问题。

我也注意到被我面试的人提问我的问题太少了, 感觉他们挺浪费机会的。

预期使用方式

  • 检查一下哪些问题你感兴趣
  • 检查一下哪些是你可以自己在网上找到答案的
  • 找不到的话就像面试官提问

绝对不要想把这个列表里的每个问题都问一遍。

请记住事情总是灵活的,组织的结构调整也会经常发生。

拥有一个 bug 追踪系统并不会保证高效处理 bug。CI/CD (持续集成系统) 也不一定保证交付时间会很短。

职责

  • On-call (电话值班)的计划或者规定是什么?值班或者遇到问题加班时候有加班费吗?
  • 我的日常工作是什么?
  • 团队里面初级和高级工程师的比例是多少?(有计划改变吗)
  • 入职培训会是什么样的?
  • 自己单独的开发活动和按部就班工作的比例大概是怎样的?
  • 每天预期/核心工作时间是多少小时?
  • 在你看来,这个工作做到什么程度算成功?

技术

  • 公司常用的技术栈是什么?
  • 你们怎么使用源码控制系统?
  • 你们怎么测试代码?
  • 你们怎么追踪 bug?
  • 你们怎么集成和部署代码改动?是使用持续集成和持续部署吗?
  • 你们的基础设施搭建方法在版本管理系统里吗?或者是代码化的吗?
  • 从计划到完成一项任务的工作流是什么样的?
  • 你们如何准备故障恢复?
  • 有标准的开发环境吗?是强制的吗?
  • 你们需要花费多长时间来给产品搭建一个本地测试环境?(分钟/小时/天)
  • 你们需要花费多长时间来响应代码或者依赖中的安全问题?
  • 所有的开发者都可以使用他们电脑的本地管理员权限吗?

团队

  • 工作是怎么组织的?
  • 团队内/团队间的交流通常是怎样的?
  • 如果遇到不同的意见怎样处理?
  • 谁来设定优先级 / 计划?
  • 如果被退回了会怎样?(“这个在预计的时间内做不完”)
  • 每周都会开什么类型的会议?
  • 产品/服务的规划是什么样的?(n周一发布 / 持续部署 / 多个发布流 / …)
  • 生产环境发生事故了怎么办?是否有不批评人而分析问题的文化?
  • 有没有一些团队正在经历还尚待解决的挑战?

公司

  • 有没有会议/旅行预算?使用的规定是什么?
  • 晋升流程是怎样的?要求/预期是怎样沟通的?
  • 技术和管理两条职业路径是分开的吗?
  • 对于多元化招聘的现状或者观点是什么?
  • 有公司级别的学习资源吗?比如电子书订阅或者在线课程?
  • 有获取证书的预算吗?
  • 公司的成熟度如何?(早期寻找方向 / 有内容的工作 / 维护中 / …)
  • 我可以为开源项目做贡献吗?是否需要审批?
  • 有竞业限制或者保密协议需要签吗?
  • 你们认为公司文化中的空�