我在接受采访时被问到这个问题。面试官让我为全球应用程序(例如Yelp)设计后端架构,并问我需要使用的技术。
在面试时段我需要给出什么答案(或我需要考虑的方面)(这个问题预计需要5到10分钟左右)?它们可以推广到类似应用的架构设计吗?我找到了答案here,但对于面试问题的答案来说太过分了,而且对于申请来说太具体了。
答案 0 :(得分:0)
我认为这取决于“全球应用”的含义。它可能意味着“人们使用批次的应用程序”,或者它可能意味着“在许多不同国家/地区拥有用户的应用程序”。如果您正在面试系统架构师或系统工程师的工作,我认为前者可能是预期的;如果你正在为程序员职位面试,那可能就是后者。
对于前者,他们正在寻找健壮性和可伸缩性类型的答案:跨多个Web和数据库服务器的负载平衡;包过滤和流量监控等......
对于后者,他们可能正在寻找可用性和多种界面类型的答案:语言本地化技术,用于处理地址和电话号码的不同格式的数据库模型等......
答案 1 :(得分:0)
你是对的,对于一次采访来说这是一个非常广泛的问题,要么广泛的答案可以让你对你的可扩展性,可用性等技能有所了解,或者面试官希望看到你如何解决问题你没有详细信息。在这种情况下,这个问题的一个好答案是你对系统的问题,主要是关于非功能性要求。在做出架构决策之前找出有关系统的所有细节非常重要,所以如果你开始提问,就意味着你知道如何处理这些任务。