在面试进程中,一般都会有一个固定环节,那便是在临近结束时,面试官会问求职者:你还有什么问题吗?

其实,这是一个很好的了解公司,了解未来团队的机会,但许多求职者却不知道问什么,或许是问不到点儿上,错过了这个机会。

我最近逛 GitHub 时刚好看到一个库房,这个库房是一份求职者向面试官的提问清单。内容包含关于职位,公司,文明,作业内容等一系列问题,覆盖面仍是挺广的。

我们在看的时分可以记一些自己感兴趣的,然后结合具体面试进程,提有针对性的问题。

原库房是英文的,我测验地翻译了一下,假如有不准确的当地,欢迎我们交流,或许提 pr。

内容如下:

关于职位

  • 你为什么招聘这个职位?
  • 我在公司的角色是什么?
    • 我将在安排内的作业处在什么位置?
  • 我估计会在这个职位上停留多久?
  • 我的日常责任是什么?
    • 你估计我会花多少时刻在每一个上?
  • 我都会运用哪些编程言语?
    • 公司会给我时刻学习我需求运用但还不会的言语吗?
  • 你有方针薪资范围吗?

开发协作/团队交流

  • 你的团队是怎样构成的?
    • 现在有多少开发人员?
    • 团队规划有多大?
    • 笔直切片仍是水平切片?
  • 团队坐在一起吗?
  • 团队是否有与其他职工/其他团队隔离的区域?
  • 团队成员多久参加一次会议?
  • 开发人员是否会定时结对编程?
  • 开发人员是否运用屏幕同享或协作编码东西?
  • 你(或我未来的老板)的领导风格是什么?
  • 是否遵从项目办理的敏捷方法(Kanban, scrum, etc)
  • 你怎样分配作业?
    • 你是依据娴熟程度预先分配使命,仍是期望一切成员都同样娴熟?
  • 你怎样评价作业?
  • 单一产品,仍是我会定时从事不同的项目?
  • 您的公司/团队多久开端一个新项目?
  • 您的团队与公司其他团队的最佳和最差作业联系是什么?
  • 您的团队与其他团队互动的频率怎样?
  • 你是否发现自己经常被其他团队的依靠所阻止?
  • 团队的作业时长?

开发进程

  • 你运用什么源代码办理东西?你能解释一下你为什么挑选它吗?
  • 你的库房是在内部保管仍是在第三方服务上保管?
    • 假如在内部,您是否运用 GitHub Enterprise 或 Gitlab 等库房办理程序?
  • 关于开发人员推送变更,您现在的作业流程是什么?
    • 你做拉取请求,仍是每个人都只是合并到一个中央库房?
    • 你运用什么分支方法?(Git-Flow、Github-Flow、Environment Merging、something custom)
  • 你是在运用工单体系吗?仍是口头说说,听一听就算了。
    • 您是否对 bugs 和新功用运用相同的体系?
    • 优先级怎样确定?
    • 什么更优先?bugs 仍是功用?
    • 是否提前确定并记载了使命的具体要求?
    • 使命是怎样添加到待办事项中的?
  • 谁来决议产品的功用?是怎样抉择的?
    • 开发人员怎样参与该决策?
    • 测验人员怎样参与该进程?
  • 您怎样跟踪开发时刻?
  • 你有代码检查流程吗?
    • 您的代码检查进程是否会阻止部署代码?
    • 你的代码检查进程是否促进了同理心?
  • 您的团队是否鼓舞运用 SOLID 和 DRY 规划原则来避免复杂性?
    • 你对方针的健壮性怎样看?
  • 您是否已建立了代码标准?
    • 您是否创建了自己的标准,或许是运用第三方的(PEP8, PSRs, Standard JS, etc)
    • 是否有自动化的 linting 流程来验证您的标准?
    • Tabs or spaces?
    • Allman or BSD braces?
    • 分号?
  • 你的开发环境是什么样的?
    • 虚拟机?本地(VirtualBox)仍是远程(ESXi)?
    • 每个人都有相同的开发环境吗?
    • 你在运用 vagrant and/or puppet/chef 吗?
    • 开发环境与出产环境的镜像有多接近?
  • 我会得到一台新的笔记本电脑吗?(作者注:这些基本上是乔尔测验“最佳东西”问题的更直接版别。)
    • Windows、Mac 仍是 Linux?我有挑选吗?
    • 我可以在那台笔记本电脑上装置我想要的任何东西吗?
    • 它会装备 SSD 和尽可能多的内存吗?
    • 我有多难证明购买软件的合理性?
    • 我多久会收到一次硬件升级?
  • 你的发布时刻表是怎样的?
  • 我会定时与客户直接交流,仍是一般都会经过中间人进行?
  • 在开端一个新项目之前,我能看到项目的明确标准/模型吗?
  • QA/测验是怎样完成的?
    • 开发人员是否也需求进行测验?到什么程度?
    • 假如有独自的测验团队,测验和开发之间怎样协调?
    • 怎样做出发布准备就绪的决议?
  • 谁来规划 UI?
    • 是否期望开发人员做?
    • 公司里有图形规划师吗?
    • 公司里有用户体验规划师吗?
  • 公司是否有像 CMM 或 SOC 这样的合规要求?
  • 您有 SLA(Service Level Agreement)吗?
    • 您能保证以下任何一项吗?假如可以,多长时刻?
      • Turn Around Time (TAT)
      • Average Speed to Answer (ASA)
      • Time Service Factor (TSF)
    • 升级方案是什么?假如不恪守方案会有什么结果?
    • 你有 on-call 时刻吗?
      • on-call 时刻表是怎样的?
  • 您的工程师对当前东西集的满足度怎样?假如他们有必要替换一种东西,它会是什么,他们会用什么来代替它?

监控/on-call

  • 你有任何运用等级的日志吗?假如有,怎样检查?
    • 日志是否跨多个硬件途径聚合?
    • 日志可以搜索吗?
    • 日志记载有多具体?
  • 你用什么监控软件?(Nagios、Icinga、Zabbix 等)
  • 您是否定时记载和检查运用程序性能指标?相对于其他类型的使命,性能优化的优先级怎样?
  • 怎样告诉职工报错状况?(PagerDuty, Email, SMS, big monitors in each teams room, etc.)
  • 每个 IT 团队是否需求永久 on-call 待命?
  • 是否有一个永久性的“操控中心”来跟踪事情并告诉担任的 on-call 值勤人员?
  • 假如无法联系到或人,是否有升级流程?
  • 开发人员是否也需求 on-call 值勤?
  • 当 on-call 值勤时,下班后处理事情/问题的时刻,是否算作加班?
  • 职工在等待 on-call 时是否应该在下班后作业?

远程

  • 公司在什么时区作业?
  • 公司会为电子或家具等家庭办公设备付费吗?
    • 假如是,该设备是否会被视为公司产业?
    • 假如当我脱离公司时,我有必要归还吗?
  • 您是否有比如 Slack 或 Jabber 之类的团队聊天东西?您的开发人员是否活跃运用它,这是他们的首要交流途径吗?
  • 您的开发人员是否运用 Skype 或 Google Hangouts 等视频聊天软件?
  • 假如团队中的一部分人在办公室作业,您是否有专用计算机用于与远程职工进行视频聊天?
  • 我有必要经过 VPN 作业吗?
  • 我应该多久去一次办公室?
  • 我的差旅费用会由公司报销仍是直接承当?
  • 我的作业时刻有多灵敏?假如需求,我可以在白日请假并在晚上补上吗?

开源

  • 你运用开源库吗?
    • 您知道这些库的许可吗?
  • 贵公司是否发布开源代码?
  • 贵公司是否为开源库做出奉献(或鼓舞他们的开发人员做出奉献)?
  • 关于我发布开源代码(个人项目)的公司方针是什么?
    • 假如有批阅流程,需求多长时刻?
    • 流程是否正式?

代码库/架构

  • 代码库多长时刻了?
  • 你有自动化测验套件吗?
    • 你运用什么库和东西?
    • 都做哪些种类的测验?(unit, integration, system, load, …)
    • 你的测验方法都有哪些?(BDD, TDD, Spike & Stabilize, …)
    • 现在的测验覆盖率是多少?你满足吗?
  • 您是否定时纠正技能债务?
  • 从 0 到 10,你有多少 spaghetti code?
  • 您的代码库的文档记载怎样?
    • 您是否运用像 PHPDoc 或 JSDoc 等自动化文档体系?
    • 维护 wiki 吗?
  • 纯 CSS,仍是编译中间件(LESS, SASS, etc)?
  • 您支持哪些浏览器和操作体系版别?
  • 您的代码库是否需求构建进程,并且是自动化的吗?
  • 您是否施行了持续集成流程?
  • 您是否运用 MVC 或类似的代码结构?
  • 是否有内部框架,假如有,谁来操控它?
  • 您是自己保管产品(Local、CoLo、VPS)仍是在 AWS 或 Heroku 等云途径上运转?

多样性

  • 公司的 非男性 份额是多少?
  • 公司的 非白人 份额是多少?
  • 公司的 LGBTQ 份额是多少?
  • 公司的 非开发人员 份额是多少?

文明

  • 在这里作业的节奏是怎样的?是偶然很忙,需求通宵,仍是一年之内都差不多?一周,或许一个月呢?是在一个星期,或许一个月之内散布的很平均,仍是会特别忙?
  • 是什么让你(面试官)挑选加入这家公司?
    • 在这里作业最享受的是什么?
  • 贵公司的英雄是谁?
    • 最有名的人有什么共同点?
  • 公司是否有针对职工成果的奖励制度?
  • 什么样的人在这里简单成功?什么类型的人不简单?
  • 我是否被答应或期望将我的作业带回家?
  • 关于作业时刻、截止日期和加班时刻的期望是什么?
  • 你们供给多少假日?
    • 假日请求估计需求多长时刻?
  • 开放式办公室、个人办公室或隔间?
  • 有着装要求吗?
  • 开发部分与出售部分联系怎样样?谁设定最终期限?
  • 公司是否供给零食或饮料?
  • 您对开发人员每天有多少出产时刻有什么期望?

公司

  • 贵公司现在是否盈利?
  • 你的团队在过去一年中最大的改变是什么?
  • 假如我得到这份作业,我怎样在绩效评价中取得“gold star”?在接下来的一年里,你期望在这个职位上看到哪些关键成果?
  • 你最忧虑哪个竞争对手?
  • 出售/运营/技能/营销/财政在这里是怎样作业的?(即,您要作业的小组以外的小组。)
  • 什么是公司成功的关键的一件事,这件事是公司以外的人不知道的?
  • 您是怎样开端从事这个职业的?你为什么留下来?
  • 是什么让你彻夜难眠?这些天你最大的忧虑是什么?
  • 您对公司最大的诉苦是什么?
  • 假如咱们有一个非常成功的一年,那会是什么样子?未来 12 个月会产生什么?这个职位怎样协助完成这一方针?
  • 公司或许我未来的老板怎样进行绩效评价?我怎样充分利用绩效评价流程以保证我为公司尽我所能?
  • 与职工同享哪些信息(收入、成本、运营指标)?
    • Is this an open-book shop, or do you play it closer to the vest?
    • 信息怎样同享?
    • 我怎样取得在这份作业中取得成功所需的信息?
  • 谁是医疗保健供给者?
  • 贵公司付出多少百分比的保险?
  • 贵公司是否供给产假/育儿假?
  • 公司会为训练方案/认证/会议付费吗?批阅流程是怎样的?
  • 关于副项目,公司的方针是什么?我可以在自己的网站上作业吗?
  • 我是否拥有我自己在自己的硬件上编写的代码,仍是公司宣称它是他们的?

PHP

  • 您运用公共框架仍是内部环境?
    • 当您在公共框架中发现错误时,您会将其回馈给社区吗?
  • 您运用 PHP 驱动的 HTML 模板,仍是 Smarty 或 Twig 等第三方模板引擎?
  • Do you use Composer?
  • 您鼓舞您的开发人员参加 ZCE 考试吗?
  • 您运用的是哪个版别的 PHP?
    • PHP 新版别的更新方案是什么?

JavaScript

  • 您的前端技能栈是什么?(jQuery?, Underscore/Lodash?, Angular/Ember/React?, etc)
    • 为什么这么选?
  • 您的前端代码是否运用比如 Webpack 或 Browserify 之类的模块加载器捆绑在一起?
  • 您是否运用模板引擎,例如 EJS、Jade 或 Handlebars?
  • 您是否运用编译言语,例如 Coffeescript 或 Typescript?(假如是,是必要的吗?)
  • 你运用 NodeJS 作为软件途径吗?(ie, beyond tooling)

体系和网络办理 / IT 运维

  • 您运用装备办理东西吗?(Puppet, Chef, cfengine, Ansible)
    • 为什么挑选它?
    • 您的 IT 职工是否接受运用它?
  • 装备版别是否受控?
  • 向体系颁发用户拜访权限(RDP、SSH 等)的进程是什么?
  • 不同类别的用户是否有多个拜访等级?
  • 开发人员是否拥有体系的办理员/root 权限?
    • 假如是:为什么?
  • 您是否有用于测验/开发的不同暂存环境?(例如:DEV、QA、PreLIVE、LIVE)
  • 是否答应开发人员连接到开发环境之外的体系?
  • 您有变更办理流程吗?(ITIL 等)
  • 您是怎样安排体系办理、运用程序开发、运用程序部署和运用程序运维,使它们有序结合的?
  • 是否有服务器文档/操作指南/最佳实践的 wiki?
  • 您是否在一切服务器上运用相同的操作体系分发版,或许是否为每个服务器装备了特定需求?
    • 你为什么挑选你的操作体系?有什么要求?
  • 开发体系和服务是标准化的,仍是开发人员挑选自己的环境?
  • 东西是否需求在运用前取得批准,或许我可以运用我想要的任何东西吗?
  • 您多久替换一次服务器硬件?
  • 我有必要自己替换硬件零件仍是有专门的团队/外部承包商?
  • 您运用什么软件/服务来进行负载平衡?
  • 您的运用程序是针对水平扩展仍是笔直扩展而构建的?
  • 服务器的平均正常运转时刻是多少?
    • 您认为正常运转时刻是体系可靠性的一个很好的指标吗?
  • 你怎样测验容错才干?你有某种“Chaos Monkey”吗?
  • 当官方存储库无法供给包/错误修正时,是否有将自构建包 (.deb/.rpm/.msi) 放入某个内部存储库的进程?
  • 您怎样办理网络上的 IP 地址和 DNS 记载?
  • 您有(切换到)IPv6 的方案吗?
  • 你对你的网络进行分类吗?(数据库服务器网络、前端网络、中间件网络?)仍是各种网络中的一切内容都混合在一起?
  • DEV/QA/PreLIVE/LIVE 体系都在一个大网络中,仍是每个都在一个独自的网络中?他们是否有防火墙,所以 DEV 体系不能 DoS 一个 LIVE 体系?
  • 办理内部/外部防火墙规矩的流程是什么?

看完之后你什么感觉呢?横竖对于我来说仍是挺惊讶的。里边的许多问题都让我怀疑,国外的求职者真的会在面试进程中问这些问题吗?问得这么细?

仍是说国内的求职环境也是如此,只要我还停留在什么都不知道的观念里。

不过话说回来,其中的一些问题仍是有学习含义的,期望可以给我们带来协助。

假如我们有什么新的想法,也欢迎留言讨论,或许直接给项目提 pr。

以上便是本文的全部内容,假如觉得还不错的话欢迎点赞转发重视,感谢支持。


项目地址:

  • github.com/yongxinz/In…

引荐阅读:

  • Go 学习道路(2022)
  • Python 学习道路(2022)
  • 本着什么原则,才干写出优秀的代码?