Uri*_*Uri 40
架构是不仅仅是一个琐事问题(例如,设计模式使用)的事情之一,并且比其他访谈主题更主观.通常没有一个正确的架构,这使评估某人变得更加棘手.你能得到的最多的是对受访者如何思考的想法.
我建议你向受访者描述一个复杂的产品或产品的一部分,你(访谈员)最熟悉的.然后让他思考如何构建它并解释他的推理,然后专注于具体的决定并提出问题.
当然,只有这样做:
另外一个好处是,如果他被录用,你会看到如何处理分歧.
如果您的产品被重新架构,另一种方法是描述旧版本的架构,并询问受访者他将如何重新构建它.如果结果接近当前架构,那么候选人很可能会很好地适应您团队的风格和心态.
jno*_*ris 16
小智 16
假设您已经检查了它们的文化/个性适应性和开发技巧,我建议您执行以下操作:
要求候选人描述他们实际设计和/或实施的中大规模系统的架构.询问围绕他们所做的设计权衡的探讨问题.
为候选人提供具有多个已知缺陷的系统的设计.它可以是你组成的,也可以是众所周知的.要求候选人识别缺陷并重新设计系统,假设他们没有时间或金钱限制.
向候选人提出一系列非平凡系统的要求(即用于在医院环境中检查医学图像的分布式系统)让他们在系统的组件中增加白板的细节,直到您对他们的引出能力感到满意为止利益相关者(您)的要求,并在其设计中做出适当的权衡.
这些都不能保证你会选择最好的"建筑师"(我和标题建筑师的问题与Joel和Jeff一样).但是,这些肯定是很好的过滤技术,应该可以帮助您识别具有适合您团队特征的人.
Chr*_*lan 15
"所以,我不会在这里把你拉到一边:你能告诉我一些可以让我相信你对建筑有很多了解的东西吗?"
我有点担心你的问题.乍一看,我会提出一些建议:"请描述中西部草原形式对现代工艺品设计的影响".
从脸颊上移开舌头,我会建议克里斯在上面做了什么.为候选人提供与您和您的团队互动的机会,以设计与您的工作相关的架构.如果你觉得有能力判断他们的能力是基于看到他们解决问题而不是罐头问题,你需要让其他人参与面试.或者从乔尔和杰夫的书中取一页并划掉术语"架构"并开始寻找称职的软件工程师.
在我看来,设计或"建筑师"的能力是一种技能,而不是一套知识.问他们一堆问题,比如"使用J2EE vX vs J2EE vY的性能影响"或"哪个更好,CORBA或RMI"只会让你看起来很傻.