新浪微博算法优化工程师面试题及答案详述.docxVIP

  • 3
  • 0
  • 约7.07千字
  • 约 17页
  • 2026-03-16 发布于福建
  • 举报

新浪微博算法优化工程师面试题及答案详述.docx

第PAGE页共NUMPAGES页

2026年新浪微博算法优化工程师面试题及答案详述

一、编程题(共3题,每题15分,总分45分)

题目1(15分):实现微博推荐系统的相似度计算函数

问题描述:

假设你需要为微博推荐系统设计一个相似度计算函数,输入两个用户的关注列表(用集合表示),输出两个用户的相似度得分。相似度得分采用Jaccard相似系数计算,即两个集合交集的大小除以并集的大小。请实现该函数,并考虑输入为空集合时的处理。

示例输入:

python

user1={A,B,C,D}

user2={B,C,E,F}

示例输出:

python

0.25

要求:

1.不能使用内置的Jaccard相似系数函数,需手动实现。

2.处理空集合输入时,若两个集合都为空,返回1;若其中一个为空,返回0。

答案:

python

defjaccard_similarity(set1,set2):

ifnotset1andnotset2:

return1.0

ifnotset1ornotset2:

return0.0

intersection=set1.intersection(set2)

union=set1.union(set2)

returnlen(intersection)/len(union)

示例测试

user1

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档