java面试:你做项目过程中遇到什么问题?

举例一:SpringBoot+shiro+redis 一个账户只允许一处登录,强制用户下线

这个小难点实现了,一个用户只允许登录一个功能。

java面试:你做项目过程中遇到什么问题?

大概思路是:

1.每次请求获取他的session和sessionid

2.如果用户没有登录,走正常登录流程

3.如果用户来获取队列,但是队列里面没有数据,那么就新建一个存,将sessionid存到队列里面,用户名存到session里面

4.如果队列的size大于0,判断队列里面的sessionid和session里面的用户是否一样。

5.如果sessionid不一样,但是用户名是一样的,存到队列里面,那么这时候size>1

6.如果队列里面的数据大于1,那么就清楚掉老的sessionid。

7.更新缓存。

java面试:你做项目过程中遇到什么问题?
1、redis存一些热点数据,没有设置过期时间,采用默认相同的 过期时间,后来数据同时失效。大量的请求就落到了数据库,数据库数据库差点崩了。
2、循环嵌套循环,后来采用Java8新特性,提取一个集合某一对象的其中一个属性(例如id)有效的可以解决循环嵌套。
3、redis数据与数据库数据不同,出现了脏数据,没有设置过期时间。后来前端在请求数据的时候一直都是,先删除缓存,在更新数据库,在增删改时候我们都会删除一次缓存的,
4、使用分页插件没有实现分页。因为spring boot版本与pagehelper版本不兼容。
5、一对多数据查询翻倍:不写join链接,采用的是<select>这个标签。问题原因:多查了

关于java面试:你做项目过程中遇到什么问题?

你还可以弄jvm调优,数据库调优,比如分库分表之类的等等。

这个东西,一定要自己去积累,很多应届生或者初学者,照着网上的敲了一遍,其实还是理解不是那么深透。

 

声明:所有内容均收集于网络,收集的内容仅供内部学习和讨论,建议您在下载后的24个小时之内从您的电脑或手机中删除上述内容,如果您喜欢该内容,请支持并购买正版资源。如若本站内容侵犯了原著者的合法权益,请联系邮箱648765304@qq.com,我们将及时处理,本文链接:https://dbbp.net/602.html
0

评论0

站点公告

小虎资源网因各项成本逐渐加大,优质课程资源不断增多,明日将会恢复至原价499一年,今日只需299开通svip会员。网站始于2020年,稳定运行超过5年,每日更新,全站课程不加密,目前已收录全网五十多家机构,累积更新各大机构一百多T教程,总课程价值超过百万,比我们便宜的没有我们全,和我们一样全的没我们便宜,抓紧时间提升自己最重要。会员权益查看:点击会员介绍 其他加密课程或者代找其他课程联系微信:648765304
没有账号?注册  忘记密码?