【发布时间】:2017-06-03 21:05:26
【问题描述】:
我在一次采访中被问到这个问题。面试官让我为全球应用程序(例如 Yelp)设计后端架构,并问我需要使用哪些技术。
在面试时间段(这个问题预计需要大约 5 到 10 分钟),我需要给出哪些答案(或我需要考虑的方面)?它们可以推广到类似应用程序的架构设计吗?我找到了答案here,但对于面试问题的答案来说太过分了,而且对应用程序来说太具体了。
【问题讨论】:
标签: architecture backend
我在一次采访中被问到这个问题。面试官让我为全球应用程序(例如 Yelp)设计后端架构,并问我需要使用哪些技术。
在面试时间段(这个问题预计需要大约 5 到 10 分钟),我需要给出哪些答案(或我需要考虑的方面)?它们可以推广到类似应用程序的架构设计吗?我找到了答案here,但对于面试问题的答案来说太过分了,而且对应用程序来说太具体了。
【问题讨论】:
标签: architecture backend
我想这取决于“全球应用”的含义。它可能表示“很多人使用的应用程序”,也可能表示“在许多不同国家/地区拥有用户的应用程序”。如果您正在面试系统架构师或系统工程师的工作,我想前者可能是预期的;如果你面试的是程序员职位,那可能是后者。
对于前者,他们正在寻找稳健性和可扩展性类型的答案:跨多个 Web 和数据库服务器的负载平衡;包过滤和流量监控等...
对于后者,他们可能正在寻找可用性和各种界面类型的答案:语言本地化技术、用于处理地址和电话号码的不同格式的数据库模型等...
【讨论】:
你是对的,这是一个非常广泛的面试问题,或者一个广泛的答案可以让你了解你的可扩展性、可用性等技能,或者面试官想看看你如何解决问题,而你不这样做'没有详细信息。在这种情况下,此类问题的一个很好的答案是您对系统的问题,主要是关于非功能性需求的问题。在做出架构决策之前了解有关系统的所有详细信息非常重要,因此,如果您开始提出问题,则意味着您知道如何处理此类任务。
【讨论】: