由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - G家很喜欢出的一道setRPS设计题
相关主题
设计题leetcode 上的 two sum
java多线程问题请教 (转载)问一道T家的面试题: 分布式随机数生成器
问一道lyft design题,求大神!facebook面经
问个Google的面试题L两轮面经,都碰到了没见过的题,当场就跪了。。。。
U店面Google电面被拒,郁闷中
灭三哥也不容易gg面试题
用java面试真吃亏Bloomberg, Microsoft, Indeed, ebay面试题
问两道leetcode上的jump game 题关于java synchronized statement和static method or variable
相关话题的讨论汇总
话题: timestamp话题: setrps话题: integer
进入JobHunting版参与讨论
1 (共1页)
r*****e
发帖数: 30
1
有一个接口叫
void setRPS(int num);
接下来不断有request过来,如何实现下面的接口,返回accept或者deny,
bool process(int timestamp){
}
有什么好的想法吗
y*****i
发帖数: 141
2
这个也太语焉不详了。。能详细点么
m*****k
发帖数: 731
3
control request number within a second
x*******9
发帖数: 138
4
单线程多线程?
用一个双端队列存时间信息,然后每次有新请求来的时候维护一下。
不过对多线程不适用。
l*******0
发帖数: 95
5
This is a question about concurrency, the following code may work. Hope it's
helpful.
public class Solution {

AtomicInteger count = new AtomicInteger(0);
Integer limit = 0;
Integer startTimestamp = -1;
void setRPS(int num) {
limit = num;
}
bool process(int timestamp){ // suppose timestamp is ms
synchronized {
if(count.get() < limit) {
count.incrementAndGet();
return true;
} else if (timestamp - startTimestamp >= 60 * 1000) {
count.set(1);
startTimestamp = timestamp;
return true;
}
}
return false;
}
}
e***m
发帖数: 92
6
Google的Guava里提供了一个RateLimiter的class,可以做参考

【在 r*****e 的大作中提到】
: 有一个接口叫
: void setRPS(int num);
: 接下来不断有request过来,如何实现下面的接口,返回accept或者deny,
: bool process(int timestamp){
: }
: 有什么好的想法吗

w********8
发帖数: 55
7
请假大牛,这个题跟consumer producer有关系吗?
1 (共1页)
进入JobHunting版参与讨论
相关主题
关于java synchronized statement和static method or variableU店面
Linked电面分享,挺好的题 应该已挂灭三哥也不容易
求救:第一次电话面试用java面试真吃亏
concurrency应该怎么复习问两道leetcode上的jump game 题
设计题leetcode 上的 two sum
java多线程问题请教 (转载)问一道T家的面试题: 分布式随机数生成器
问一道lyft design题,求大神!facebook面经
问个Google的面试题L两轮面经,都碰到了没见过的题,当场就跪了。。。。
相关话题的讨论汇总
话题: timestamp话题: setrps话题: integer