JAVA面经
2020-10-14 本文已影响0人
花醉霜寒
远东集团
- Spring Boot的特性?
- @Component和@Service注解的区别?
- Spring事务的传播机制?(要求完整具体的说出有哪些传播机制,具体有什么应用场景,问的非常细节)
- Spring的特性
- Spring框架中有哪些地方用到了AOP,项目中是怎么用的?Spring AOP动态代理还是静态代理?
- 分布式事物?
- @Controller和@RestController的区别?
- Kafka的消费组机制,分区机制,负载均衡机制
- Redis缓存击穿,缓存穿透和缓存雪崩,如何解决?
- 数据库索引(主键索引,组合索引等),最左匹配相关知识
- @Transcational注解的作用是什么?
- 数据库的隔离级别?不同隔离级别下的问题?
- 动态代理的机制
- HashMap和ConcurrentHashMap,HashMap的数据结构,ConcurrentHashMap如何保证线程安全的等
- CountDownLatch和CycleBarrier的区别,项目中是如何用多线程的?
- 单例模式,手写双重检查锁
- 什么是CAS?
- volatile是干什么的?解决的是什么层面的问题?
- 什么是CSRF、XSS、CORF?
- 如何防止sql注入?
- Redis数据结构,zset的细节,比如sort的值能不能是字符串?
- 哪些实现分布式锁的方式,各自的原理?(主要是redis和zookeeper)
- 说一说你心目中的微服务(开放题)
- 研究过k8s吗?
菜鸟网络
- 解决线上问题积累了哪些经验?
- 日志经验?
- JVM调优经验?
- 内存泄露如何排查问题?
- 线程安全的集合和非线程安全的集合有哪些?
- HashMap数据结构越详细越好?追问HashMap的扩容机制?
- ConcurrentHashMap数据结构越详细越好?
- LinkedHashMap数据结构越详细越好?
- Lock和Synchronized的区别?
- AQS如何实现的?
- 如何运用AQS实现公平锁和非公平锁?
- 如何解决高并发场景下的IO密集型任务(主要考察NIO)?
- 介绍多线程,原子性、可见性和有序性如何理解?
- 项目中消息中间件kafka的作用?
- CAS是什么,Integer如何实现?
- Redis介绍一下,为什么新版本用多线程?
- Redis 持久化方式有哪些?有什么区别?
- 项目中性能优化的实际案例?
- 还研究过哪些源码?Spring的源码有研究过吗?
- 数据库高可用方案
- 一致性hash了解吗?
叽里呱啦
- 手写LRU缓存
- 熟悉的设计模式,装饰模式和代理模式的区别?项目中使用过装饰者模式吗?
- CMS了解吗?为什么CMS的停顿时间短?
- 双亲委派模型了解吗?为什么要用双亲委派模型?
- 类加载机制了解吗?
- 了解过热部署吗?
- 哪些方法能够实现线程安全?
- ThreadLocal的内存泄露问题了解吗?
- 了解服务治理吗?
- 有没有在框架源码的基础上进行二次开发?
- mysql有哪些不走索引的情况?
- mysql中有哪些索引?hash算法的原理研究过吗?MySQL InnoDB为什么用B+树,而不用红黑树或者B树?
- 项目中有挑战性的事情?
- 有没有处理过分布式事务,如何处理的?
菜鸟网络(二轮)
- spring starter原理
- ArrayList和LinkedList的区别?如何选择?ArrayList的初始大小为什么是10?
- HashMap与HashTable的区别?升华到ConcurrentHashMap如何实现并发安全?
- Synchronized实现锁的原理?
- 接口和抽象类有什么区别?如何选择?试用场景?
- 什么是序列化?有哪些序列化方式?protobuf是如何提高效率的?采用了什么压缩算法?
- 线程池是干什么的?jdk中有什么实现?如何实现?线程池选型?线程数如何设置?不同场景的拒绝策略?
- 序列化中的UUID是干什么的?没有UUID会有什么后果?序列化和发序列化底层是如何实现的?
- CMS垃圾回收器了解吗?如何做到低延迟的?CMS有什么缺点?了解其他的垃圾回收算法吗?
- 如果内存为8G,如何设置JVM的最大内存和最小内存?
- survivorRatio怎么理解?
- @Resource注解和@Autowired注解的区别?
- 为什么用mybatis而不用JDBC?mybatis只需要接口而不需要实现类是如何做到的?
- Redis数据结构?
- 一致性hash的原理
- MySQL常见的存储引擎?
- MySQL乐观锁和悲观锁?试用场景是什么?
- 聚蔟索引和非聚蔟索引的区别?
- 如何排查慢sql问题?
- 数据库选错索引该如何解决?
- Kafka消息中间件如何做到消息的可靠性?
- 消息幂等性如何保证?
- 线上问题,线上请求响应变慢如何排查定位?
- Mybatis缓存了解吗?
- dubbo了解吗?如果做服务注册和发现的?
- Spring bean的循环依赖问题如何解决?
- 项目中遇到的有挑战的事情是什么?
网易
- topK问题,手写代码
- 有哪些实现线程安全的方式
- ThreadLocal的原理了解么?说一下ThreadLocal的使用场景?ThreadLocal使用过程中要注意什么问题?
- synchronized和lock的区别?synchronized底层原理?Lock是如何实现的?
美团点评
- spring starter原理
- 线程池原理
- CountDownLatch实现的功能还能用什么来实现(CompletableFuture)?
- Redis常用数据结构,Hash底层数据结构是什么?
- 手写斐波那契数列
美团点评
- 手写String转int
- 手写两个有序数组合并
- 设计模式用的多么?观察者模式原理是什么?
- 性能优化做了哪些方面的工作?
- 高可用做了哪些方面的工作?
中国平安陆金所
- 字符与字节的区别,char占用多少个字节,汉子能用char来表示吗?
- 浅拷贝和深拷贝了解么?如何实现深拷贝?
- ArrayList了解么?扩容是什么过程?数组复制的方式是通过什么形式来完成的(System.arrayCopy,系统调用)?
- Mysql如何查看sql语句的执行计划?什么情况下Mysql会选错索引?选错索引如何解决?
- Java反射了解么?
美团点评
- 点赞系统设计?
- 线程池方面,主要是线程数量的选择;
- 大事务是如何导致MGR集群失败的;
- 如何保证kafka消息不丢失?
- kafka消息阻塞如何解决?
美团点评
- 性能优化方面;
- 微服务拆分;
- 如何统计访问记录?
- 挑一个熟悉的中间件讲原理?
- 后端多人编辑冲突合并算法设计?
哔哩哔哩
- SpringBoot和Spring Cloud的联系和区别?
- Eureka做服务发现的原理,说自己比较了解Dubbo一些,问Dubbo的服务注册和发现时如何实现的?
- Spring MVC那一套了解么?
- @Autowired是如何实现的
- CountDownLatch是如何实现的?
- 数据库隔离级别,不同隔离级别会出现什么问题?举一些不同隔离级别的使用场景?
- InnoDB事务是如何实现的?
- 数据库中有哪些索引,为什么用B+树,不能其他平衡二叉树吗?
- 数据库中有哪些锁?
- MySQL商业版和MariaDB有什么区别?
- MysQL SQL解析(explain那一套)
- Redis主从同步是怎么做的?
- Redis的持久化方式有哪些?各有什么不同?
- zookeeper了解吗?
- Raft和Paxos了解吗?
- MySQL InnoDB Cluster主从切换的过程是什么?
- docker了解吗?
- 有自己配置过Kibana参数吗?
- maven父子模块依赖问题?
- kafka中的key是干什么用的?kakfa的负载高吗?了解RocketMQ吗?
- Restful API的理解
- 性能优化做过哪些方面的工作?
- 高可用做过哪些方面的工作?
阿里巴巴某政企部门一轮
- 举例说明必须重写equals方法的场景?重写equals方法需要注意什么?为什么每个实例都需要一个默认的hashCode方法?
- 单例模式(double check + volatile)
- 增删改查场景如何实现幂等性?
- 一个微服务需要支持1000QPS,你如何设计?你会考虑哪些方面?
- 高可用中间件搭建过多少?