gpt4 book ai didi

api-design - 系统设计面试 - Car API

转载 作者:行者123 更新时间:2023-12-04 15:39:46 24 4
gpt4 key购买 nike

系统设计问题:

您将获得一个包含几百万辆二手车的数据集及其相关信息——英里数、颜色、价格等。您必须在两天内创建一个 API 端点,以允许用户查询该数据集。

这是我给出的答案:

使用关系数据库(比如 PostgreSQL)来存储数据。公开一个 GET 端点,该端点采用与数据集中的属性对应的查询字符串参数,解析它们并使用它们来查询数据库。端点还可以跟踪哪些属性被查询最多,并为这些属性添加索引以加快查询速度。有人问我如何处理一个范围(例如“50,000 <= 英里 <= 100,000 的汽车”),我说这可以通过查询字符串参数处理并通过 GET 端点转换为 SQL 查询。

反馈

事后反馈告诉我,这个答案“没有表达对如何设计网络系统的深刻理解”。我希望就我的解决方案在哪些方面可能不足/薄弱,或者可能忽略了有关设计 Web 系统的某些方面获得一些见解。

注意:我是根据内存重建我的答案,所以这里的答案可能比采访中的更清楚。

感谢您的帮助!

最佳答案

就像评论中已经讨论过的那样,面试官想听听有关 SQL 注入(inject)的一些信息。有一些反制措施,您可以采取这些措施来避免 SQL 注入(inject)。这些是(很可能不是完整列表,但应该给出提示,说明要注意什么):

  • 使用准备好的语句
  • 注意访问限制(在数据库和操作系统中)
  • 验证用户输入

关于api-design - 系统设计面试 - Car API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58202090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com