面试总结(mysql定精度/oom排查/spring三级缓存/stream流)

Mysql数据类型上的一个把握

1、MySQL Decimal为什么不会丢失精度

DECIMAL的存储方式和其他数据类型都不同,它是以字符串形式存储的。假设一个字段为DECIMAL(3,0),当我们存入100时,实际上存入的1、0、0这三个字符拼接而成的字符串的二进制值,由于一个数字字符占用1个字节,所以共占用三个字节的空间。然后还要存入描述该数据的元数据,元数据固定占用2个字节,所以共占用5个字节。

总结:DECIMAL(M,N)会占用(M+2)个字节。

2、websocket和http的联系

WebSocket和HTTP都是应用层协议,用于在客户端和服务器之间进行通信。它们之间有一些联系和区别:

  1. 基于TCP:WebSocket和HTTP都是基于TCP协议的。HTTP通过短暂的请求-响应方式进行通信,每次请求都需要建立一个新的TCP连接。而WebSocket在建立连接后,可以保持持久的双向通信连接,避免了频繁建立和关闭TCP连接的开销。

  2. 握手过程:HTTP使用无状态的请求-响应模型,每次请求都需要进行完整的握手过程。而WebSocket在建立连接时进行一次握手过程,之后可以保持连接,并实现双向通信。

  3. 数据格式:HTTP协议通常使用JSON、XML等格式来传输数据,而WebSocket可以传输任意格式的数据,包括文本和二进制数据。

  4. 请求-响应 VS 实时双向通信:HTTP协议是一种请求-响应协议,客户端发送请求,服务器返回响应。而WebSocket提供了实时的双向通信能力,客户端和服务器可以在同一个连接上进行双向数据交换。

  5. 端口:HTTP协议默认使用80端口进行通信,而WebSocket默认使用的端口是443(加密)或80(非加密)。

3、websocket建立连接的过程

4、Spring事务

5、JVM排查OOM

6、Java8新特性的stream

7、spring的三级缓存

相关推荐
小兔崽子去哪了2 小时前
Java 自动化部署
java·后端
ma_king2 小时前
入门 java 和 数据库
java·数据库·后端
后端AI实验室2 小时前
我用Cursor开发了3个月,整理出这套提效4倍的工作流
java·ai
码路飞6 小时前
GPT-5.3 Instant 终于学会好好说话了,顺手对比了下同天发布的 Gemini 3.1 Flash-Lite
java·javascript
SimonKing7 小时前
OpenCode AI编程助手如何添加Skills,优化项目!
java·后端·程序员
Seven978 小时前
剑指offer-80、⼆叉树中和为某⼀值的路径(二)
java
怒放吧德德20 小时前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆21 小时前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
心之语歌1 天前
基于注解+拦截器的API动态路由实现方案
java·后端
华仔啊1 天前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端