#软件开发2024笔面经# 自我介绍说一下校园经历介绍一下第一个项目Redis相关:● 介绍一下 CacheAside 模式,如何解决的数据库与缓存一致性问题● Redis 是单线程还是多线程?● Redis 如何设置过期时间,逻辑过期原理?● 介绍一下 Redis 的 Stream 底层结构?项目中主要用来做什么?Stream 的发布订阅模式了解吗?● Redis 有哪几种数据结构?● Set 结构用于哪些场景Java 相关:● Java 中的 Set 用过什么?HashSet底层实现?● List 用过吗?List 和 Set 的区别?● ArrayList 底层实现?● 一个 ArrayList 已经有了10个元素,如何在第六个元素位置插入一个新的元素(变成11个元素)?add(index, Element e)● == 与 equals 区别● Object 类中的 equals 方法比较的是值还是地址?● hashCode()与 equals()区别?详细说一下 hashCode()● 两次调用 Integer.valueOf(100)得到的两个对象是同一个吗?● Java 多线程 ○ 说一下 volatile ○ 如何启动一个线程?run() 和 start() 的区别? ○ 新建线程的方式? ○ 线程池了解吗?线程池作用?线程池配置? ○ 说一下线程死锁?死锁的四个必要条件? ○ CAS 了解吗? ○ 说一下 ThreadLocal ?在哪些场景用过?MySQL相关:● MySQL中存储文本可以用哪些类型?● Char 和 VarChar 的区别?● 如果存储"abcd"的话,Char(4)和VarChar(4)各自占用多少空间?● MySQL 索引了解吗?平常在设计表的时候怎么考虑索引的添加呢?● MySQL中count(*)和count(唯一索引)一样吗?Spring相关:● SpringBoot常用注解?@SpringbootApplication详细配置?● 如果A依赖B,B依赖C,C依赖A,运行后会有问题吗(循环依赖问题)?Spring 有自己的循环依赖处理机制吗?考研了吗?反问薪资:年包大概14~17三天左右出结果#面经##山东云鼎科技#