2020 Java开发某电商面试题 每天看一遍 提醒自己有多菜

某电商 架构师面

项⽬问的很详细,基本每个项⽬具体实现⽅案、亮点都讲了⼀下,遇到的问题。

具体技术⾯:
1、JVM & GC 1)你们JVM线上使⽤的什么垃圾回收算法?
2)详细说⼀下CMS垃圾回收算法回收过程?
3)CMS中的remark阶段⽐较慢,怎么分析和解决?
- XX: +CMSScavengeBeforeRemark Remark前提前来⼀次YGC;增加CMS回收的线程数…
4)线上如何来分析GC问题?
5)JVM线上是如何调优的?
6)1.7和1.8中jvm内存结构的区别?
7)发⽣Full GC时会回收Metaspace空间内存吗?

2、数据库
1)锁等待问题如何处理?⼀个事务中调⽤了本地事务,还调⽤了RPC接⼝?
应该是想问出现死锁、间隙锁问题应该如何来处理
3、缓存 & ⾼并发
1)⾼并发下缓存与数据库⼀致性如何保证?
2)⾼并发情况下扣减库存如何处理?如何优化?
3)当队列满了,核⼼线程空闲、扩展线程也空闲,谁从队列⾥获取?
4、JUC
1)为什么线程池⾥要先创建coreSize⼤⼩的核⼼线程?
2)线程池中的各个参数的含义解释⼀下?

5、框架 & 源码
1)SpringCloud和RPC具体都有哪些区别?
2)SpringCloud中遇到过哪些坑,具体讲解了Eureka注册中⼼的坑。
3)Apollo 配置中⼼说出实现原理。
4)Dubbo 实现原理,内部扩展机制等等

6、算法题
1)编程珠玑⾥的⼀道题:⼀个40亿的⽆序数字,请找出不存在的数字
2)⼀个很⼤的List,⾥⾯都是int类型,如何实现加和?

某电商部门领导面

1、介绍下项⽬的亮点和有成就感的项⽬

2、JVM相关
1)深⼊探讨了CMS、GC Roots,跨代是如何进⾏GC的?提到了GC Roots Tracing,Rset、Card Table
2)ParallelScavenge了解吗,什么算法?
3)为什么不能和CMS⼀起使⽤呢?

3、MySQL索引如何做优化的?
1)假设有⼀个表字段⼏⼗个,索引如何创建的?所有字段都能建吗?区分度、选择性、列基数
2)MySQL为什么是B + 树的结构,为什么不能是红⿊树呢?优化的是什么?

4、MQ队列⽤了哪些,Kafka,那⾦融场景下,Kafka如何保证消息不丢失?
5、Redis⽤过哪些数据结构?zset底层是什么结构,hash和跳表,为什么是跳表?

猜你喜欢

转载自blog.csdn.net/qq_33229669/article/details/107801392