【问题标题】:Need Heavy Client side System Design and Architecture design ideas and answers/tips需要重型客户端系统设计和架构设计理念和答案/提示
【发布时间】:2016-09-07 23:32:16
【问题描述】:

我希望可以在这里发布。 我想知道是否有人可以分享示例系统设计和架构面试问题/想法,特别是在客户端/Web 重点和一些服务器参与方面。 (就像刽子手的服务器只存储高分并提供当前的猜测词) 我即将进行一次面试,由于它是一个全栈软件工程师,每个 3 分钟、45 分钟的系统设计和架构问题将要求设计一个具有大量客户端组件的应用程序,并且还要查看客户端/服务器关系。

此外,您可以分享有关如何处理它/它在白板上的外观的任何信息都会很棒。我很乐意绘制一个服务器密集型设计,但我对如何绘制客户端架构/系统有点困惑。

谢谢!

【问题讨论】:

    标签: javascript web architecture system-design


    【解决方案1】:

    有人问了我几个非常有趣的问题,讨论进行了一个多小时:)

    1. 设计一个音乐编辑软件,但问题是多个人将同时处理同一首歌曲/曲目。它还应该支持离线编辑和自动碰撞检测和解决(当时我对Google Docs中使用的Operational Transformation不太了解,但我真的很开心地解决了这个问题)

    2. 如何设计拼车系统? (你可以猜到,这是在一家著名的拼车公司采访中提出的)

    我不想在这里详细说明设计理念,但帮助我解决此类问题的是知道没有完美的答案,而且您正在处理很多模棱两可的问题。您应该分阶段详细说明需求,并尝试使用缓存、水平扩展等常见模式在架构上解决它。大多数公司甚至会通过过度概括来寻找不进行过早优化等特征。

    【讨论】:

    • 拼车可能会给服务器带来负担,而客户端只是服务器池分组决策逻辑的窗口。
    • 不完全正确,您需要跟踪汽车的位置,驾驶员是否可以容纳更多人等。如果您阅读 Uber 的架构,他们使用驾驶员的手机作为备份数据中心排序,当主 DC 发生故障或存在故障转移时。这是一个供需问题,等式的两边都同样复杂(尽管我同意大部分实际的调度工作发生在服务器端)
    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 2022-08-20
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    相关资源
    最近更新 更多