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调优,数据库调优,比如分库分表之类的等等。

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

 

侵权联系与免责声明
1、本站资源所有内容均收集于网络,与本网站立场无关
2、本站所有资源收集于互联网,由用户分享,该帖子作者与小虎网站不享有任何版权,如有侵权请联系本站删除
3、本站部分内容转载自其它网站,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
侵权联系邮箱:648765304@qq.com 本文链接:https://dbbp.net/602.html
0

评论0

站点公告

小虎资源网因各项成本逐渐加大,优质资源不断增多,站内总资源价值超过千万!!!!!明日将会恢复至原价999,今日只需299开通svip会员。网站始于2020年,稳定运行超过5年,每日更新,全站课程不加密,目前已收录全网100多家机构,累积更新各大机构1000多T教程,我们是全网性价比最高的网站,全网天花板,资源稀缺性高,不是其他网站烂大街的资源,抓紧时间提升自己最重要。会员权益查看:点击会员介绍  
没有账号?注册  忘记密码?