自用面试题,后期会把答案一一补齐
1、APP的版本控制你们是怎么实现的?
2、SAAS的多租户数据隔离你们是怎么实现的?
3、从开发到发布生产的流程是什么样的?
4、CICD的流程是什么样的? 各个组件之间是怎么关联运作的?
5、Redis如何防止被击穿?
6、Redis和数据库怎样保证数据一致性的?
7、分库分表的方案是什么样的? 横向和纵向的优劣势是什么?
8、分库分表后主键的生成是怎么生成的?
9、主键的无序会影响mysql写入性能吗?
10、MySQL中一行数据里有大varchar会影响性能吗?
11、MySQL中的text和varchar有什么区别? 存储的是内容还是引用?
12、MySQL中的page是什么? 占用多大空间?
13、MySQL页分裂问题如何避免?
14、MySQL explain执行器一般看什么指标?
15、遇到FileSort一般是什么情况? 如何优化FileSort?
16、什么情况下会直接查全表?
17、MySQL5.6以后,order by xx limit 的时候,xx字段如果数值相同的话,会出现什么情况?
18、使用过分布式锁吗? 是如何实现的?
19、你们的分布式事务怎么做的?
20、你们注册中心使用的什么? Eureka和Nacos你觉得有什么区别?
21、你们的网关用的是什么?网关是如何知道目标服务的节点ip的?
22、spring中怎么写自定义注解?
23、spring中的事务是怎么用的? 如果事务方法嵌套出现错误的话,会是什么情况?
24、你们的异步任务是怎么发起的?
25、你们在业务代码中有没有用过设计模式? 都是那些? 具体是怎么用的?
26、Java中的JUC集合有使用过吗?
27、ConcurrentHashMap使用过吗? 他是怎么保证线程安全的?
28、volatile关键字是做什么的?
29、主存和工作内存的区别是什么?
30、MESI协议了解过吗?
31、指令重排序是什么? 指令重排序的原则是什么?
32、双重锁单例模式中为什么要使用双重锁呢?
33、你们项目用的垃圾回收器是什么?
34、你们项目生产环境垃圾回收频率是什么样的?
35、你比较熟悉那个垃圾回收器? 能讲一讲他的回收流程吗?
36、如果一个新项目首次发布生产环境,你如何评估需要怎么样的JVM配置或JVM参数?
38、你们的发布生产流程是什么样的? 如何实现无感发布?
39、你们是否遇到过消息队列的消费者多线程消费导致最终无序的问题? 该怎么避免?
40、你觉得单体应用和微服务之间有什么优缺点?
2023.09.22补充
41、前端中如何解决跨域问题?
42、你们前后端加密的方案是什么?
43、非对称加密是什么? 公钥和私钥的作用是什么?
44、HTTPS是怎么保证安全的?
45、怎样知道数据在传输中有没有被篡改?
46、如何判断一台服务器的负载比较高了?
47、MySQL中怎样查看当前正在执行的SQL?
48、MySQL的执行计划怎么看?
49、怎么排查数据库负载高压力大的问题?
50、怎么防止SQL注入?
51、一张千万数据量的表,怎么新增一个字段且不影响使用?
52、Java中int类型溢出会出现什么现象?
53、序列化和反序列化的原理是什么?有什么作用?
54、一个分布式环境中,大量请求要求扣款100元,但只允许扣款一次,该怎么做?
55、数据存在redis里和存在JVM内存里,那种方式取出的速度更快?
56、怎样计算一个请求的响应时间?
57、git中的pull、push、branch的原理是什么?
58、怎么实现两个或多个物理库的同步操作?
59、分析一下埋点系统的设计
60、微信朋友圈功能分析一下是怎么实现的?
61、es多集群数据同步有什么方案?
62、灰度环境是什么? 大致描述一下该如何实现?