初、中级java面试题
基础题:
1、动态代理 和静态代理 分别怎么实现 ?
3、接口和抽象类有什么区别?
4、java8新特性有哪些?
5、如何实现自定义注解,你知道有哪些使用场景?
6、枚举有什么好处/为什么要用枚举?
8、如何理解java中的多态,如何实现多态
9、泛型有哪些作用?
10、浅拷贝和深拷贝有什么区别?
框架:
1、springboot 和ssm/ssh框架 相比有哪些优点?
2、springboot 配置文件 有哪些存放方式、 加载优先级?
3、springboot 接口要实现统一的 日志和鉴权 有哪些方案?
4、springboot 如何实现自动装配
实战:
1、接口运行后越来慢可能是哪些原因?怎么解决?
2、代码测试环境没问题,线上发布后报错,可能是什么原因?如何避免。
3、单服务架构10个请求同时要扣减某个商品的库存,要保障数据安全,防止超卖;有哪些实现方案?
——————————————————————————————————————
高级
基础题:
1、jvm常见内存溢出类型有哪些?怎么处理?
2、1.8中 hashmap扩容机制 / hashmap1.8版本和1.7版本有哪些不同?
3、说说spring 的ioc主要使用了哪些技术 或者设计模式 ,用在什么地方?
4、springmvc 和 webflux 的对比?或者 springmvc 和struts2的对比。
5、mybatis的一二级缓存是什么? springboot/ssm框架中mybatis一级缓存是否有效?
分布式架构:
1、springcloud Netflix/alibaba 有哪些组件,分别有什么功能?
2、分布式事务如何处理,除了seata框架外 还有哪些解决方案
3、服务间接口调用鉴权如何实现?
实战:
1、云闪付app百万级qps抢购3种面额各20万张消费券,要实现秒级响应,防止超发;架构如何实现?
2、一个教育app,答题功能的用户答题记录,每天有500万条明细数据,
学生端中需要查看答题记录(1年内),教师端需按书目、时间等查看本班学生答题情况(1年内);报表系统中需按时间、题目、年级、学校等统计答题数、正确率等数据(全部数据)。
请问设计一个存储和查询方案,满足上述各端的秒级查询需求,且能够保障系统长时间稳定运行。