由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问一个system design的题,看看大家怎么想的。
相关主题
问个Google的面试题Fresh CS PhD, MS 面经
Dropbox 电面如何用JAVA中的circular array of queue 解决Josephus problem? (转载)
g家一道设计题面试题目求助?
面完了GA few glassdoor questions
G面试题求解A家电面
问一道g的题LinkdIn面经
面google,看来读熟guava很有好处阿FB Internship 挂在电面第二轮
web count 设计现在出发去F onsite
相关话题的讨论汇总
话题: allowance话题: leaky话题: design话题: bucket话题: rate
进入JobHunting版参与讨论
1 (共1页)
a*****p
发帖数: 1285
1
如何design一个系统,确保每秒最多只处理1000个request。 data structure?
data structure应该用queue。但是具体怎么想呢。
C******l
发帖数: 64
2
Rate limiter? Token bucket?
l***4
发帖数: 1788
3
见过类似的题,说用queue不行

【在 a*****p 的大作中提到】
: 如何design一个系统,确保每秒最多只处理1000个request。 data structure?
: data structure应该用queue。但是具体怎么想呢。

x*****z
发帖数: 15
4
leaky bucket就行吧?求confirm
l***4
发帖数: 1788
5
应该是正解

【在 x*****z 的大作中提到】
: leaky bucket就行吧?求confirm
a*****p
发帖数: 1285
6
这个属于哪个范畴的design?
t**r
发帖数: 3428
7
leaky bucket用queue实现可以么??
a*****p
发帖数: 1285
8
网上看好像是circular queue
t**r
发帖数: 3428
9
rate = 5.0; // unit: messages
per = 8.0; // unit: seconds
allowance = rate; // unit: messages
last_check = now(); // floating-point, e.g. usec accuracy. Unit: seconds
when (message_received):
current = now();
time_passed = current - last_check;
last_check = current;
allowance += time_passed * (rate / per);
if (allowance > rate):
allowance = rate; // throttle
if (allowance < 1.0):
discard_message();
else:
forward_message();
allowance -= 1.0;
a*****p
发帖数: 1285
10
网上看好像是circular queue
x*****z
发帖数: 15
11
Leaky bucket 就是个带时间记录的counter,具体可以看guava ratelimiter

:leaky bucket用queue实现可以么??

【在 t**r 的大作中提到】
: rate = 5.0; // unit: messages
: per = 8.0; // unit: seconds
: allowance = rate; // unit: messages
: last_check = now(); // floating-point, e.g. usec accuracy. Unit: seconds
: when (message_received):
: current = now();
: time_passed = current - last_check;
: last_check = current;
: allowance += time_passed * (rate / per);
: if (allowance > rate):

x*****z
发帖数: 15
12
Leaky bucket 就是个带时间记录的counter,具体可以看guava ratelimiter

:leaky bucket用queue实现可以么??

【在 t**r 的大作中提到】
: rate = 5.0; // unit: messages
: per = 8.0; // unit: seconds
: allowance = rate; // unit: messages
: last_check = now(); // floating-point, e.g. usec accuracy. Unit: seconds
: when (message_received):
: current = now();
: time_passed = current - last_check;
: last_check = current;
: allowance += time_passed * (rate / per);
: if (allowance > rate):

1 (共1页)
进入JobHunting版参与讨论
相关主题
现在出发去F onsiteG面试题求解
一道电话题问一道g的题
Bloomberg 面经面google,看来读熟guava很有好处阿
面试题目web count 设计
问个Google的面试题Fresh CS PhD, MS 面经
Dropbox 电面如何用JAVA中的circular array of queue 解决Josephus problem? (转载)
g家一道设计题面试题目求助?
面完了GA few glassdoor questions
相关话题的讨论汇总
话题: allowance话题: leaky话题: design话题: bucket话题: rate