为什么理解软件工程师(候选人)的思考过程很重要?

好问题。 多年来,我采访了许多出色的工程师和夸大其词的工程师。 许多工程师既出色又夸大其词。 真正了解这个人是否以及如何适应团队以及他们的已实现潜力和未来潜力是很重要的。 首先,让我先说一下,我与大多数公司的面试方式不同,因为我认为他们对面试的态度不正确。 特别是在大型软件工程公司中,但我更愿意为博客或其他内容保留自己的方法。 但是,在这一点上,我认为这个概念很好,只是可以更好地培训面试官。 至少就我而言,首先让我声明,总是存在一个问题,我要求应聘者解决我不希望他们能够解决的问题。 它通常是开放式的。 我希望他们探讨问题,提出解决方案,甚至可能扩大想法。 这就是我想从面试中脱颖而出的方法,如果他们提出“最佳”解决方案,我个人可能会不太在意。 这也取决于我采访他们的水平。 级别越高,我越希望听到有关真实系统如何组合在一起并形成形状,模式,算法和良好实践的知识。 我实际上关心的是它们如何解决问题,而不是他们在脑海中存储了多少知识。 因此,让我们分解一下。 他们是否掌握了一些方便的关键概念,这将有助于他们解决问题。 例如,他们是否对如何说一个好的解决方案有一定的了解(您能计算出一个O数)。 他们是否使用了适当的数据结构集。…