由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - NewsFeed API 设计该如何回答?
相关主题
这道题太神奇了,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),近期的一些面经
求教移除数组重复元素的时间复杂度!!一道C/C++的面试题
请教一道面试题,跟数组排序有关一道面试题
FB onsite面经请教一个C++的题目,谢谢
问一个fb的design问题请教几个电面题
fb面试题【转】问一道关于字符串的面试题
F家onsite面经问一道面世题
FB data scientist 一面面经(已挂)问个题: 找read-only array中duplicate的数
相关话题的讨论汇总
话题: 排序话题: api话题: newsfeed话题: feed话题: ranking
进入JobHunting版参与讨论
1 (共1页)
r*********n
发帖数: 32
1
往上拉就得最新的newsfeed,往下拉就得旧的。但这些内容不是按时间排序,是按
ranking排序。
P*******r
发帖数: 210
2
这个可以看一下twitter API developer's guide. 处理pagination.
s****3
发帖数: 270
3
楼主有些不懂 重复是因为如果user 刷新了页面两次 所以requst 两次? 另外 "如果有
不同的
device,你必须返回重复的内容" 这个iiea 是为什么 ? 如果要frondend 去重 能不能
用304 的status 确认缓存?

【在 r*********n 的大作中提到】
: 往上拉就得最新的newsfeed,往下拉就得旧的。但这些内容不是按时间排序,是按
: ranking排序。

t******c
发帖数: 348
4
Thanks!
I just found this post https://dev.twitter.com/rest/public/timelines,
explained how to handle the pagination issue with new feed coming in real
time: add a max_id parameter to track the lowest id received.
In another case, to receive the latest feed without duplication, add a since
_id parameter to track the highest id received.
Hope it helps!

【在 P*******r 的大作中提到】
: 这个可以看一下twitter API developer's guide. 处理pagination.
m**********s
发帖数: 518
5
Feed id 全局单调增?!
s*****p
发帖数: 30
6
Twitter 这个 timeline是 按 时间 排序的。也就是说新来的 post 是在 timeline的
最前面。 但是 这个题目的要求是 timeline按照 ranking 排序的。 那么新来的
post 可能因为他们的 ranking score 被放在 timeline的 任意位置, 如果这样的话
, 怎么用 cursor?

since

【在 t******c 的大作中提到】
: Thanks!
: I just found this post https://dev.twitter.com/rest/public/timelines,
: explained how to handle the pagination issue with new feed coming in real
: time: add a max_id parameter to track the lowest id received.
: In another case, to receive the latest feed without duplication, add a since
: _id parameter to track the highest id received.
: Hope it helps!

t******c
发帖数: 348
7
如果不是按照timeline而是按照ranking,这样新的旧的混在一起,pagination没有意
义。
一个笨办法是把目前所有的feed id放在一个参数里面, 让server处理,保证返回没有
重复的
比如: https://www.fb.com/newsfeed?id:not-in=[1,2,3,5]
BTW:facebook 的graph api 用的参数是since, until:https://developers.
facebook.com/blog/post/478/



【在 s*****p 的大作中提到】
: Twitter 这个 timeline是 按 时间 排序的。也就是说新来的 post 是在 timeline的
: 最前面。 但是 这个题目的要求是 timeline按照 ranking 排序的。 那么新来的
: post 可能因为他们的 ranking score 被放在 timeline的 任意位置, 如果这样的话
: , 怎么用 cursor?
:
: since

G**O
发帖数: 147
8
我觉得还是能用cursor
cursor之前的timeline都被query过了,
cursor之后的timeline,全部fetch,然后按照rank 排序,返回rank高的几个并且在DB
里面mark成visited。。如果cursor恰好被mark了,就把cursor移动到下一个。
不过这样的问题在于,如果我是分布式的,我要把好几个replica都mark成visited,可
能会比较慢。



【在 s*****p 的大作中提到】
: Twitter 这个 timeline是 按 时间 排序的。也就是说新来的 post 是在 timeline的
: 最前面。 但是 这个题目的要求是 timeline按照 ranking 排序的。 那么新来的
: post 可能因为他们的 ranking score 被放在 timeline的 任意位置, 如果这样的话
: , 怎么用 cursor?
:
: since

m******e
发帖数: 82
9
题目的意思是你取第一页之后,取第二页之前,有一些新的feed产生,因为是按照rank
排序,所以新的feed可能会夹杂在第一页的数据之间。所以取第二页时应该考虑怎样才
能不取到重复数据,即第一页的若干数据。
p*****2
发帖数: 21240
10

往上拉就得最新的newsfeed,往下拉就得旧的。
但这些内容不是按时间排序,是按ranking排序。
感觉这两句话是矛盾的呀。

【在 r*********n 的大作中提到】
: 往上拉就得最新的newsfeed,往下拉就得旧的。但这些内容不是按时间排序,是按
: ranking排序。

m******e
发帖数: 82
11
简单来说就是实现按ranking排序,在某用户某一次浏览过程中做到一页一页取,不返
回重复数据。按ranking和按时间排序,最大的不同是前者会将新的feed排到旧的feed
之间。
i***h
发帖数: 12655
12
同感
一般需要当场和面官澄清定义

【在 p*****2 的大作中提到】
:
: 往上拉就得最新的newsfeed,往下拉就得旧的。
: 但这些内容不是按时间排序,是按ranking排序。
: 感觉这两句话是矛盾的呀。

d****n
发帖数: 1637
13
try circular buffer.
x**********l
发帖数: 27
14
感觉仍然可以用created_time解决啊。前端记录上一次request的time,
然后下一页的时候先filter(created_time <= time) ,这样就排除了新增加的数据。
然后再pagination, 根据ranking排序取第2页。这里需要提供created_after, page_
num
, limit 3个参数。和twitter api的做法有一点不样。
1 (共1页)
进入JobHunting版参与讨论
相关主题
问个题: 找read-only array中duplicate的数问一个fb的design问题
问个构造函数的问题fb面试题【转】
问一个构建二叉树的问题F家onsite面经
弱问,BST到底能不能有重复值?FB data scientist 一面面经(已挂)
这道题太神奇了,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),近期的一些面经
求教移除数组重复元素的时间复杂度!!一道C/C++的面试题
请教一道面试题,跟数组排序有关一道面试题
FB onsite面经请教一个C++的题目,谢谢
相关话题的讨论汇总
话题: 排序话题: api话题: newsfeed话题: feed话题: ranking