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


有没有大佬帮忙看看快手这道场景题啊,考点是什么?当时面试的时候没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

相关推荐

昨天 17:30
已编辑
字节跳动_实习生(实习员工)
要怎么办呢牛:我觉得大厂日常实习最大的意义就是给自己背书,一个好公司的实习就像一个好学历似的,能够给自己增加一个标签,让别人觉得你可以。(至于真正实习干了啥,这个感觉并不太重要)。当然一家之言,仅供参考。另外,楼主已经很强了,实习毕业双双拿下,已经领先好多好多人了,羡慕啊
点赞 评论 收藏
分享
02-01 19:48
门头沟学院 Java
神哥了不得:(非引流)直接暑期吧,没时间日常了,老鱼简历把水印去了,或者换个模板,简历字体大小都不太行,建议换2个高质量的项目,面试应该还会再多一些
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客企业服务