系统设计问题:
您将获得一个包含数百万辆二手车及其相关信息(里程,颜色,价格等)的数据集。您必须在两天内创建一个API端点,以便用户查询该数据集。
这是我给的答案:
使用关系数据库(例如PostgreSQL)来容纳数据。公开一个GET端点,该端点采用与数据集中的属性相对应的查询字符串参数,对其进行解析并使用它们来查询数据库。端点还可以跟踪查询最多的属性,并向这些属性添加索引以加快查询速度。我被问到如何处理一个范围(例如“ 50,000英里<=英里<= 100,000的汽车”),我说这可以通过查询字符串参数进行处理,并通过GET端点转换为SQL查询。
反馈
后来我在反馈中被告知,这个答案“并未传达出对如何设计Web系统的深刻理解。”我希望对我的解决方案可能不足/不足或可能忽略了一些有关设计Web系统的见解。
注意:我从记忆中重建了答案,因此这里的答案可能比访谈中的答案更清楚。
感谢您的帮助!
答案 0 :(得分:1)
就像评论中已经讨论过的那样,采访者想听听有关SQL注入的知识。您可以采取一些对策来避免SQL注入。这些是(很可能不是完整的列表,但是应该提示您要寻找的内容):