1. 自我介绍
2. 项目
1.重点介绍你的两个项目,重点说一下哪些技术组件,为什么选用这个技术组件,介绍项目比较亮点的地方?
2.你刚说数据库你们不是搭建了一个主库一个从库和读写的分离?它主从之间的一个数据有延迟的话,你怎么办?
3.你说的那个日志的话具体是哪一个日志?就MySQL,它有好几种日志。你说的是哪一个日志?
4.然后你缓存这块的话有遇到过这种不一致的问题吗?就你缓存的缓存里面的数据跟你是数据库的数据不一致,有遇到过吗?
5. 将用户的 ID 从存到那个 HTTP session 改成那个 ThreadLocal,就你这块是当时是遇到了什么场景,你需要去做这样的优化?
6.用户管理中心的那个里面你去自己自定义了统一的错误码,并封装了全局异常处理器,你可以说一下这块是怎么做的吗?spring 它里面的那个全局的一个异常处理的那个类吗?你有了解过它这个异常处理它是基于什么去实现的吗?
7.你可以说一下你那块为什么要用这个双检索单例模式,然后用这种方式,然后你DCL里面它就是为什么要加两次锁?
3. 八股
1.Java 语言里面的那个自动装箱跟拆箱了解过?包装你可以举个例子,比如说你在代码里面就怎么写的时候,它会出现这种?
2. Java 那个里面有一些引用有了解过吗, Java 里面对象的一些引用?
3. JVM 里面的那个 cms 跟 G1 这两个垃圾回收器有了解吗?
4.一条 MySQL一般你会怎么考虑去对它做优化呢?
5.计算机网络里面的那个 Http 1.0、 2.0 跟3.0,你这个有了解过吗?
6. HTTP 1.1,这个知道吗?
7.你有用过一些中间件吗?像消息中间件就 mq 那种。
8.算法题:一个链表,就把链表倒数第 n 个节点删除,然后返回那个链表的一个头节点。
4. 反问
1.我想请问一下面试官,你们那边的业务是做什么?做什么相关的。
2.那我相关知识可能还我自己觉得还有些薄弱,你请问能给些建议吗?
#软件开发2024笔面经#