研发相关,来讨论下快手这道场景题好不?


有没有大佬帮忙看看快手这道场景题啊,考点是什么?当时面试的时候没get到点


/*
需要给同事A提供inShop接口,判断用户U是否在浏览店铺S
客户端每5秒调用consume传浏览东西Action
实现两个方法:consume,inShop

public class Action {
    private long userId;
    private long shopId;
}
public void consume(Action action);

public boolean inShop(long userId, long shopId) ;
*/
求讨论,求解答~~~
#Java开发##快手##笔试题目#
全部评论
有两种思路,一是定一个concurrenthashmap里面key是用户id和店铺id租个的一个字符串,然后value是当前时间。 Consume方法每获得一个消息就存到map里面。然后inShop方法去get,如果发现时间大于5s就反悔false。 但是这样内存应该会越占越大,每个用户每5s就存一次。 另外一个思路是用redis,来一个存一个key同样是用户id与店铺id的组合。value随意。设置5s的过期时间,如果查的时候发现没有那就是用浏览别的去了,或者用户下线了。
点赞 回复 分享
发布于 2021-06-28 01:15

相关推荐

Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
缒梦&独舞:这家公司是这样的,去年给我实习offer了,不过也是面着玩儿的,他周六还要去做公益志愿活动
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务