Skip to content

华顺信安 已完结

版权声明

来源自互联网,仅供学习。如有侵权,请联系删除。

MySQL

❓MySQL 事务特征和事务隔离级别

SQL 语句执行优先级

  1. FROM:首先从指定的表中获取数据。
  2. JOIN:如果有连接操作,会在 FROM 之后进行。
  3. WHERE:对获取的数据进行过滤。
  4. GROUP BY:在过滤后的数据上进行分组。
  5. HAVING:对分组后的数据进行过滤。
  6. SELECT:选择需要的列。
  7. DISTINCT:去除重复的结果。
  8. ORDER BY:对结果进行排序。
  9. LIMIT/OFFSET:限制返回的行数。

Java

常量怎么声明?

使用 static final 声明

static 修饰方法的特点

  1. 方法属于类,而不是某一个对象。
  2. 可以使用类调用,也可以使用对象调用。
  3. 不能使用非 static 的成员变量,不能调用非 static 的成员方法。

接口能有具体实现吗?能多继承吗?

JDK 1.8 以后,接口可以有具体实现,分为默认方法和静态方法。默认方法使用 default 关键字,静态方法使用 static 关键字。

接口可以多继承。

多态怎么实现的?

  1. 方法重载:同一个类中,可以定义多个同名但参数不同的方法
  2. 方法重写:子类中重新定义父类的方法
  3. 接口和抽象类:接口和抽象类可以定义行为,但不提供具体实现

Java 集合框架

介绍 ArrayList 和 HashMap,能动态扩容吗?

  1. ArrayList 是动态数组。可以实现动态扩容,当数组容量已满仍需添加,会扩容到原来的 1.5 倍。
  2. HashMap 基于哈希表,可以存储键值对。有自动扩容机制,当已存储元素大于 "容量 * 负载因子" 时,会扩容到原来的 2 倍。

HashMap 为什么扩容到 2 倍?

哈希表使用哈希值取模运算来确定元素存储的位置,当 HashMap 长度是 2 的幂次方时,取模操作能转化为位运算,提高操作效率。

JVM

为什么有双亲委派机制?

  1. 避免核心类被篡改
  2. 保证每个类只被加载一次

SSM

SpringBoot 的常用注解?

  1. @SpringBootApplication
  2. @Configuration
  3. @RestController
  4. @Component
  5. @Autowire

Spring AOP 使用场景

  1. 记录日志
  2. 鉴权

❓什么是 CAS ?

计算机网络

描述一下 TCP 握手和挥手

TCP 三次握手:

  1. 客户端 -> 服务端:【SYC】syc = 1, seq = x
  2. 服务器 -> 客户端:【SYC + ACK】syc = 1, ack = x + 1, seq = y
  3. 客户端 -> 服务端:【ACK】ack = y + 1

TCP 四次挥手

  1. 客户端 -> 服务端:【FIN】fin = 1, seq = x, ack = y
  2. 服务器 -> 客户端:【ACK】ack = x + 1, seq = y
  3. 服务端 -> 客户端:【FIN】fin = 1, seq = y, ack = x
  4. 客户端 -> 服务端:【ACK】ack = y + 1, seq = x

img

tcp 和 udp 的适用场景

tcp:可靠性较高,比如消息传输、文件下载

upd:实时性较高,比如视频电话、直播、游戏

Socket 和 WebSocket 之间的区别

  1. Socket 是一种底层的网络通信机制,提供了一种在网络中进行数据传输的接口。
  2. WebSocket 是一个基于 TCP 协议,为在浏览器和服务器之间提供全双工网络通讯的协议。

说一下 osi 七层模型

  1. 应用层
  2. 表示层
  3. 会话层
  4. 传输层
  5. 网络层
  6. 链路层
  7. 物理层

Redis

什么是缓存穿透?怎么解决?

缓存穿透:请求一个 Redis 和数据库都不存在的数据,请求会直接到达数据库,且不会重建缓存。大量的请求会导致数据库压力。

解决方法:

  1. 缓存空对象:方法简单,但是会造成内存浪费。
  2. 布隆过滤器:用于查询数据是否存在,对于不存在的数据直接返回,不再查询数据库。
  3. 限流策略:限制对数据库的请求频率。

Redis 分布式锁怎么实现的

使用 setnx 命令,保证只有一个线程能够成功设置值,相当于这个线程获取到了锁。

Released under the MIT License.