根据我的经验,在您开始为公司工作之前,您没有机会查看代码库(我已经问过,出于保密原因,每个人都一直拒绝,我认为这很公平),所以在面试过程中,您是否想问最重要的问题以找出代码处于哪种状态(毕竟,如果它是狗,那么您将成为每天不得不走路的可怜的不幸者)?
更新:
清单:询问;
- 什么他们认为代码库。而且当您这样做时,请密切注意面部表情及其反应所需的时间。[阿农]
- 公司的CMM级别[DPD]是多少(如果您听到第5级的运行情况,则以其他方式运行[Doug T])
- 他们使用什么生命周期[DPD](如果您确实听到了“敏捷”,那就是当您开始问一些有穿透性的问题,试图通过“敏捷”来弄清楚它们是指“敏捷还是牛仔编码” [Carson63000])
- 他们使用什么工具来评估代码质量?[DPD]
- 他们使用什么工具进行开发?[DPD](寻找重构工具和连续构建服务器)
- 他们使用哪种源代码(版本控制)系统,以及良好的后续措施是询问为什么要使用它。[Zachary K]。
- 他们的测试程序是怎样的?[Karl Bielefeldt](特别是对于使用模拟框架并通过已建立的框架(例如NUnit / JUnit)强调彻底的自动化单元测试的团队;不要被那些不使用测试驱动的开发TDD的团队所推迟,而是如果他们不认为测试是整体软件开发不可或缺的组成部分,请保持警惕。请寻找有专门测试人员的团队。)
- 给新开发者什么样的任务?对于经验丰富的开发人员?[Karl Bielefeldt]
- 有多少人从事一个项目?[Karl Bielefeldt]
- 是否允许重构?鼓励?[Karl Bielefeldt]
- 正在考虑或最近进行了哪些与质量相关的过程或体系结构更改?[Karl Bielefeldt]
- 个人在模块上有多少自治权?[Karl Bielefeldt]
- 您将要开发较新的项目(未开发的项目)还是旧项目(未开发的项目)?(绿地开发通常更有趣,并且问题更少,因为您无需清理别人的错误)。
- 组织或团队中员工离职率高吗?(这通常表示代码质量较低)[M.Sameer]
- 您自己的一些编程问题;但请避免看起来像个混蛋。[活泼的]
- 开发人员如何进行协作,团队之间如何共享知识?(这应该与您的个性相匹配;我想说,单人和双人工作的混合可能是最好的,比例要符合您的社交需求)
- 他们的数据库与第三范式(3NF)的距离有多近?如果偏离了何处?为什么?(如果他们说“ 3NF ???”,请离开。如果没有,并且可能有充分的理由不这样做,请找出它们是什么)。
注意: 我接受了Anon的答案,因为大约一周后,社区认为这是最好的答案-我认为这表明您只是需要以某种方式开发第六感。但是,我认为每个人都有话要说。