【问题标题】:Good Architecture Interview Questions [closed]良好的架构面试问题[关闭]
【发布时间】:2010-10-23 09:48:44
【问题描述】:

在面试中有哪些好问题可以问出申请人对建筑的了解程度?

【问题讨论】:

  • 为什么这是一个社区维基?

标签: architecture


【解决方案1】:

架构不仅仅是一个琐碎的问题(例如,设计模式的使用),而且比其他面试主题更主观。通常没有一个正确的架构,因此评估某人变得更加棘手。你能得到的最多的是对受访者的想法的了解。

我建议您向受访者描述您(面试官)最熟悉的复杂产品或产品的一部分。然后让他思考他将如何构建它并解释他的推理,然后专注于具体的决定并提出问题。

当然,只有在以下情况下才这样做:

  • 您愿意听取不属于您自己的其他设计。
  • 您能够发挥潜力 批评并承认您的 自己的设计可能不完美

另外一个好处是,如果他被聘用,您会看到如何处理分歧。

如果您的产品曾经被重新架构过,另一种方法是描述旧版本的架构,并询问受访者他将如何重新架构它。如果结果接近当前架构,则候选人更有可能非常适合您团队的风格和心态。

【讨论】:

  • 我认为这是处理它的好方法。
【解决方案2】:
  1. 询问他们在“社区”中追随和钦佩谁的建筑能力,为什么?这将使您了解他们的建筑风格的哲学倾向。此外,如果他们不能说出任何人的名字或为什么钦佩他们,那是一个很大的危险信号,因为他们显然没有跟上社区的最佳实践和进步。
  2. 让他们说出与面试相关的架构设计模式的一些问题/缺点/权衡。如果他们不能做到这一点,这是一个危险信号,因为他们可能在不知不觉中无能(即:一个狂热的男孩),而不是在这个领域拥有真正的经验和洞察力。说出给定架构带来的优势要容易得多,而真正了解劣势则需要更深入的了解。

【讨论】:

  • 这是一个很好的答案!
  • 尽管我对同一个问题的回答半开玩笑,但我最喜欢第 1 点。
  • #1 的有趣点。让我想起了莎拉佩林的采访……:(
  • 我只想扮演魔鬼的拥护者并问:一个人是否必须跟随社区中的某个人才能成为一名优秀的软件设计师?哦,还有 - 更重要的是 - 一个好的设计或能够命名您应用的模式?
【解决方案3】:

假设您已经检查过他们的文化/个性契合度和发展技能,我建议您执行以下操作:

  1. 要求候选人描述他们实际设计和/或实施的中大型系统的架构。就他们所做的设计权衡提出探索性问题。

  2. 为候选人提供具有多个已知缺陷的系统设计。它可以是你编造的,也可以是众所周知的。假设他们没有时间或金钱限制,要求候选人找出缺陷并重新设计系统。

  3. 向候选人展示一组重要系统(即用于在医院环境中审查医学图像的分布式系统)的要求对他们从利益相关者(您)那里引出需求并在设计中做出适当权衡的能力感到满意。

这些都不能保证你会选择最好的“建筑师”(我和 Joel 和 Jeff 一样对标题建筑师有同样的问题)。但是,这些绝对是很好的过滤技术,应该可以帮助您为您的团队确定具有有价值特征的人。

【讨论】:

    【解决方案4】:

    “所以,我不打算在这里扯你的嘴:你能告诉我一些能让我相信你对建筑很了解的事情吗?”

    【讨论】:

    • 我不确定了解架构是否意味着您会成为一名优秀的架构师。我认识一些对艺术非常了解的人,除了简笔画之外什么都不会。
    【解决方案5】:

    我有点担心你的问题。乍一看,我建议的内容类似于“请描述中西部草原形式对现代艺术和手工艺设计的影响”。

    从脸颊上移开舌头,我建议克里斯在上面做了什么。为候选人提供与您和您的团队就与您的工作相关的架构设计进行互动的机会。如果你觉得没有能力根据看到他们解决问题而不是解决问题来判断他们的能力,那么你需要让其他人参与面试。或者从 Joel 和 Jeff 的书中找一页,从“架构”这个术语开始,开始寻找称职的软件工程师。

    在我看来,设计或“架构师”的能力是一种技能,而不是一套知识。问他们一堆问题,比如“使用 J2EE vX 与 J2EE vY 对性能有何影响”或“CORBA 还是 RMI 哪个更好”,只会让你看起来很傻。

    【讨论】:

      【解决方案6】:

      问这样的问题的问题在于没有真正的“正确”答案,所以主要是让候选人开始说话。我会要求他们描述一个他们已经实现并且引以为豪的架构。然后跟进诸如“你最自豪的是什么?”之类的事情。然后你可以问他们过去犯了什么错误,诸如此类。

      我对此感到更自在,因为您对这个人有感觉,而不是他们回答预设问题的能力。

      【讨论】:

        【解决方案7】:

        “你读过 McConnell 的 Code Complete 吗?”

        【讨论】:

          猜你喜欢
          • 2016-08-12
          • 2018-09-05
          • 1970-01-01
          • 2011-04-17
          • 1970-01-01
          • 1970-01-01
          • 2010-11-22
          • 2011-01-20
          • 1970-01-01
          相关资源
          最近更新 更多