两亿个字符串,每个大小超过1KB,由大小写字母和数字构成,内存只有16GB。需要支持搜索某个目标字符串是否出现过以及出现的位置。你会怎么设计?
考察说明
考察海量数据检索的架构设计、内存限制下的分治策略和数据结构选型
回答思路
- 识别数据总量远超内存边界(约200GB),需要分治或外部存储
- 说明如何按前缀、哈希或范围分片,并利用多线程并行处理
- 阐述前缀树在内存中的优化使用,如压缩或分级索引
- 讨论搜索时的时间复杂度和定位位置的具体方案
- 能权衡准确率、内存占用和查询延迟
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。