2024.7.12
面试
-
自我介绍, 上一段实习介绍
-
同步数据怎么做的, 怎么保证数据一致性, 除了重试以外怎么回滚 (没答上来, 面试官大概说了一下)
- 同步方法: 先插入本地数据库, 调远端数据库, 如果出错则抛异常用事务回滚
- 异步方法: 没听太清, 只记得有个死信队列. 下来想了一下, 可能不太一样, 想的是消费者端手动提交, 服务端发送后等待确认 ack/nack/无. 如果是 ack 则消费成功; nack 则消费失败, 事务回滚; 如果是没有等到确认则重发, 重发到一定次数后判定为失败, 事务回滚
-
WebSocket 怎么用的, 具体用的什么注解, 有什么参数
-
MyBatis-Plus 和 MyBatis 区别
-
为什么 Sa-Token, 怎么用的
-
Spring Cloud 的组件有哪些
-
new String()
和 引号创建 String 对象区别,new String()
的对象是放在哪 -
HashMap 解决哈希冲突
-
Redis 怎么用的
-
@Async
用线程池了吗, 线程池的参数, 线程池什么时候创建新线程 -
负载均衡原理
-
MySQL 事务, 用了吗, 怎么用的
-
@Transactional()
有几种模式, 什么时候失效几种模式这个下来也没找到确切的描述, 估计想问的可能是事务传播? 找到了一篇文章 , 里面对这个注解的各个参数都分析了.
-
java 两种代理, jdk 动态代理和 cglib 两个区别
-
角色和人员几张表, 怎么存的
-
字符串的分割方法
-
StringBuffer 和 StringBuilder 区别
-
实习时间
反问
经典业务、评价、流程三件套
总结
有一说一, 面试官还可以, 还帮我找到了一个项目里面没想到过的 bug. 公司说是 2C 业务, 但是很难评. 大概率不会考虑去吧, 毕竟不超过 150/d, 总不能一次不如一次吧 😂