文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

十大系统设计面试问题

2024-12-03 05:39

关注

开发人员倾向于解决SDI问题,因为它们是如此开放,并且通常需要一种在其他编码面试挑战中没有实践的批判性思维。

尽管SDI问题随着时间而变化,但其中一些问题在各种顶级公司的访谈中仍然很受欢迎。

今天,我们将探讨最常见的10个系统设计面试问题,每个问题中必须解决的常见问题以及一些可以帮助您完成此任务的工具。

[[398993]]

有关任何SDI问题的提示

通过陈述您所知道的问题来开始每个问题:列出系统的所有必需功能,此类系统可能遇到的常见问题以及系统希望处理的流量。列出过程使面试官可以在开始解决方案之前查看您的计划技能并纠正任何可能的误解。

叙述任何权衡:每个系统设计选择都很重要。在每个决策点,至少列出该选择的正面和负面影响。

请您的面试官澄清:大多数系统设计问题是故意含糊的。提出澄清问题,向面试官展示您如何看待问题以及对系统需求的了解。

讨论新兴技术:在每个问题的结尾都概述了系统如何以及在何处可以从机器学习中受益。这将表明您不仅为当前的解决方案做好了准备,而且还为将来的解决方案做好了准备。

[[398994]]

 

1.设计一个全球聊天服务,例如Facebook Messenger或WhatsApp

对于这个问题,您将设计一种服务,允许用户通过Internet彼此聊天。对话可以是一对一的对话,也可以是与许多成员进行的群聊。对话中包含的消息只能访问这些消息。

必备功能:

常见问题:

需要考虑的工具:

[[398995]]

 

2. 设计类似Uber或Lyft的拼车服务

该问题要求您创建一种将用户与附近驾驶员匹配的乘车共享服务。用户可以输入目的地并发送其当前位置,并在几秒钟内通知附近的驾驶员。

然后,该应用程序会跟踪驾驶员和用户当前位置之间的路线,然后再跟踪从用户位置到目的地的路线。

必备功能:

常见问题:

需要考虑的工具:

[[398996]]

3. 设计URL短服务,例如TinyURL或 bit.ly

这个问题要求您创建一个程序来缩短长网址,例如TinyURL或bit.ly。这些程序采用一个长URL并生成一个新的唯一的短URL。他们还可以输入缩短的URL并返回原始的完整URL。

必备功能:

常见问题:

需要考虑的工具:

[[398997]]

4. 设计一个大众社交媒体服务,例如Facebook,Twitter或Instagram

对于这个问题,您将设计一个供Instagram之类的十万用户使用的社交媒体服务。用户应该能够查看带有跟随者帖子的新闻提要,并建议用户喜欢的新内容。

采访者通常希望听到您深入讨论新闻源。

必备功能:

常见问题:

需要考虑的工具:

[[398998]]

5. 设计一个社交网络和留言板服务,例如Quora,Reddit或HackerNews

对于这个问题,您将设计一个类似于论坛的系统,用户可以在其中发布问题和链接。

其他用户可以查看和评论问题。问题具有代表其主题的标签,用户可以跟随标签查看有关特定主题的问题。用户有一个新闻源,该新闻源从其关注的标签和相关主题中突出显示了常见问题。

必备功能:

常见问题:

需要考虑的工具:

[[398999]]

 

6. 设计全局文件存储和共享服务,例如Dropbox,Google云端硬盘或Google相册

对于这个问题,您将创建一个同步的跨平台存储系统,例如Dropbox。用户可以存储文件和照片并从其他设备访问它们。

必备功能:

常见问题:

需要考虑的工具:

[[399000]]

7. 设计全球视频流服务,例如YouTube或Netflix

这个问题要求您创建在线视频流服务,例如YouTube。该服务将存储和传输数百PB的视频数据。它还必须存储统计信息(观看次数,喜欢次数,观看次数等),并允许用户发表评论。

您的解决方案必须具有可扩展性,以支持成千上万的并发用户。

必备功能:

常见问题:

需要考虑的工具:

[[399001]]

8. 为Firebase或Github等网站设计API速率限制器

对于这个问题,您将创建一个API速率限制器,以限制服务在给定时间段内可以接收的API调用次数,以避免过载。

采访者可以从一台机器到整个分布式网络,以各种规模提出要求。

必备功能:

常见问题:

需要考虑的工具:

[[399002]]

9. 设计一个类似Yelp或附近的地方/朋友的接近服务器

对于最后一个问题,您将设计一个邻近服务器,用于存储并报告到餐厅等地方的距离。用户可以按距离或受欢迎程度搜索附近的地点。该数据库必须存储全球5亿个位置的数据,但延迟低。

必备功能:

常见问题:

需要考虑的工具:

[[399003]]

10. 设计与搜索引擎相关的服务,例如Type-Ahead

该服务将部分完成搜索查询,并显示5条建议以完成查询。它应该实时适应高度搜索的内容,并向其他用户建议。

例如,将在事件发生后的几分钟内建议“海鹰队赢得超级碗”。

必备功能:

常见问题:

需要考虑的工具:

接下来要学什么

这些问题应有助于您理解在系统设计面试中将要解决的问题类型。练习解决和解释此类问题是准备下一次面试的最有效方法。

本文翻译自The Educative Team的文章《Top 10 System Design Interview Questions》。

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯