大师兄

测一测 | 高性能检索系统的实战知识,你掌握了多少?

你好,我是陈东。欢迎来到进阶实战篇的测试环节!

在进阶实战篇中,我们针对一些应用中的实际问题,学习了对应的经典解决方案。这其中涉及了很多高级的检索知识,以及一些高性能检索系统的设计思想。这些知识,无论是对你现在的工作来说,还是对你之后自己设计系统、设计应用都会有非常大的帮助。

那这些知识你都掌握了多少呢?为了让你能检验自己的学习效果,同时也能巩固之前讲过的知识,我特别给你准备了一套测试题。和基础篇的测试一样,题目不多,依然是20道单选题,也同样建议你在30分钟内完成。

当然,我还为你准备了一道主观题。可以好好想想,利用我们进阶篇学到的知识怎么来解答,最后,希望你能把思考过程和最终答案都写在留言区,我们一起探讨。我会在下周三把解题思路放到评论区,一定要来看啊。

还等什么,点击下面的按钮开始测试吧!

主观题

假设有一个移动互联网应用,要实现找到附近具有相同兴趣的人功能。这里面的相同兴趣,指的是具有相同兴趣标签的人。如果一个人身上有多个标签,那只要有一个标签和其他人相同,就算有相同兴趣。

在这种情况下,我们需要支持以下功能:

  1. 列出附近兴趣相同的人,允许结果为空;
  2. 系统要具备实时性,如果有用户的标签发生变化或者位置发生变化,需要及时在系统中得到体现;
  3. 如果附近兴趣相同的人很多,那么需要将这些人进行排序,需要设计排序方案。

如果使用我们在进阶实战篇中学到的知识,你会怎么来设计和实现这个功能呢?