栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java后端面试回答

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java后端面试回答

问题一:商品推荐列表城市动态变化

增加人员与查询城市关系表,存储:主键,用户ID、访问城市ID、访问时间。

用户登录页面时。通过这张表的用户id按照时间顺序查询相应的城市热销产品,同时返回到页面,通过页面显示。

用户查询城市商品信息时,查询此表数据,如果没有这个城市id,新增入此表,如果已存在与表中,刷新这个城市访问时间。

这张表使用定时任务每天随机访问数据,超过两个月没有访问的记录即可删除。

问题二:线上秒杀削峰访问

使用微服务将秒杀部分独立出来,秒杀模块如果宕机不会影响整体系统的使用。
使用redis创建一个对象 key为access_token ,value初始值为1000作为令牌数量。

每次访问秒杀程序时,首先增加正常访问用户验证,比如滑动模块或者文字校验。对正常用户进行分流。通过访问验证的用户,先查询redis中的access_token 的值是否大于0,如果大于零access_token 自减1,代表令牌消耗一个,用户session增加令牌标识,可以继续付款流程。如果access_token 为0代表令牌已消耗完毕,阻止访问,返回信息空。

设置access_token 字段每秒刷新一次,刷新为初始值1000,控制每秒至多只有一千的并发量。秒杀成功的用户信息,将秒杀商品相关的字段存入消息队列,成功入队的返回给用户秒杀成功等待发货中。付款流程和发货流程使用多线程去消费消息队列中的信息。消费完的用户显示付款成功已出货。

问题三:防止刷单和恶意注水

考虑到用户数量较多使用一个新的redis缓存,用户下单或者访问需要防止恶意注水的接口前,在redis中存入key为Mac地址value为list的对象。list存入当前访问时间,访问次数,是否能访问。如果对象已存在使用当前时间与缓存中的时间比对,如果间隔不超过五秒,访问次数加一,超过五秒则不做修改。如果访问次数超过五次将能否访问的标识修改为不能访问,并设置五分钟过期。页面提示请五分钟以后再付款或者评论。下一次该用户登录或者评论时需要进行真人验证,比如图案或者滑动验证。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/837382.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号