自动完成/预输入系统设计详解
一、功能需求分析
在设计自动完成系统时,需要与面试官进行一系列问答来明确功能需求,具体如下:
1. 服务范围
- 使用场景 :用于通用搜索服务中的搜索字符串建议。
- 支持语言 :仅支持英语。
- 支持词汇量 :支持最多 10 万个单词。平均每个英语单词长度约为 5 个字母,每个字母 1 字节,因此存储需求仅为 5MB,手动添加单词和短语对存储需求影响极小。
2. 用户体验细节
- 建议类型 :初始考虑仅针对单词,后续有时间可扩展到短语或句子。
- 最小输入字符数 :输入 3 个字符后显示建议较为合理。
- 建议最小长度 :建议的单词至少 6 个字母。
- 字符类型 :仅考虑字母,忽略数字和特殊字符。
- 建议数量和顺序 :每次显示 10 条建议,按频率从高到低排序。可先提供一个接受字符串并返回 10 个按优先级降序排列的字典单词列表的建议 API GET 端点,后续扩展为接受用户 ID 以返回个性化建议。
3. 搜索历史考虑
- 数据处理 :限制建议的单词集合意味着需要处理用户提交的搜索字符串。若处理结果用于获取自动完成建
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



