You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
2.0 KiB
Markdown

2 years ago
# 测一测 | 高性能检索系统的实战知识,你掌握了多少?
你好,我是陈东。欢迎来到进阶实战篇的测试环节!
在进阶实战篇中,我们针对一些应用中的实际问题,学习了对应的经典解决方案。这其中涉及了很多高级的检索知识,以及一些高性能检索系统的设计思想。这些知识,无论是对你现在的工作来说,还是对你之后自己设计系统、设计应用都会有非常大的帮助。
那这些知识你都掌握了多少呢为了让你能检验自己的学习效果同时也能巩固之前讲过的知识我特别给你准备了一套测试题。和基础篇的测试一样题目不多依然是20道单选题也同样建议你在30分钟内完成。
当然,我还为你准备了一道主观题。可以好好想想,利用我们进阶篇学到的知识怎么来解答,最后,希望你能把思考过程和最终答案都写在留言区,我们一起探讨。我会在下周三把解题思路放到评论区,一定要来看啊。
还等什么,点击下面的按钮开始测试吧!
[![](https://static001.geekbang.org/resource/image/28/a4/28d1be62669b4f3cc01c36466bf811a4.png?wh=1142*201)](http://time.geekbang.org/quiz/intro?act_id=131&exam_id=283)
## 主观题
假设有一个移动互联网应用,要实现找到附近具有相同兴趣的人功能。这里面的相同兴趣,指的是具有相同兴趣标签的人。如果一个人身上有多个标签,那只要有一个标签和其他人相同,就算有相同兴趣。
在这种情况下,我们需要支持以下功能:
1. 列出附近兴趣相同的人,允许结果为空;
2. 系统要具备实时性,如果有用户的标签发生变化或者位置发生变化,需要及时在系统中得到体现;
3. 如果附近兴趣相同的人很多,那么需要将这些人进行排序,需要设计排序方案。
如果使用我们在进阶实战篇中学到的知识,你会怎么来设计和实现这个功能呢?