答案见下方
基础题
1、cookie和 session的区别,分布式环境怎么保存用户状态
2、RequestMapping和 GetMapping的不同之处在哪里?
3、Spring Boot提供了哪些 Starter Project Options?选一个比较熟悉的介绍。
4、Spring Boot自动配置原理是什么?
5、介绍 SpringCloud中的 gateway或zuul,如何实现动态路由?
前端方面
6、JavaScript里“==”和“===”的区别
7、比较下Flex布局和 Float布局
8、JS里,this 关键字指向的是什么?
中间件
9、如何实现异步请求(队列)?
10、rabbitmg有哪些重要的角色?
11、rabbitmq 如何保证消息的唯一消费及稳定性?
12、如何实现订单30分钟未支付自动取消并通知客户的功能?
13、Redis有哪些数据类型,分别介绍使用场景?
14、如何使用 Redis实现考试分数排名?
持久层+数据库
15、mybatis是否支持证迟加载?延迟加载的原理是什么?
16、简单描述你在项目中有代表性的mysql 优化经验
实战场景
17、微信对接token失效,如何确保在不间断中请求正常?
18、预约报名业务,怎么来保证每次报名都是有序且正常进行?
答案
1,Session和Cookie的区别?
1、数据存储位置:cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、安全性:cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。
3、服务器性能:session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
4、数据大小:单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。session存储在我们的服务器端,没有存储数量限制,可以保存更多复杂类型的数据结构
5、信息重要程度:可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。
6、生命周期不同:以20分钟为例,cookie的生命周期是累计的,从创建时开始计时,20分钟后cookie生命周期就结束了。session的生命周期是间隔的,从创建时开始计时,如果在20分钟内没有访问的我们的session,那么session生命周期就被销毁了,但是如果在20分钟内,比如第19分钟时呢访问过session,那么将重新计时session生命周期
分布式环境下的session(举例两种):
1,服务器session复制
原理: 任何一个服务器上的session发生改变(增删改),该节点会把这个 session的所有内容序列化,然后广播给所有其它节点,不管其他服务器需不需要session,以此来保证Session同步。
优点: 可容错,各个服务器间session能够实时响应。