Java基础
1、String类能否被继承,为什么?
2、Java中的几种基本数据类型,各占多少字节
3、String、StringBuffer、StringBuilder区别
4、ArrayList和LinkedList区别,数组和链表各自的时间复杂度?
抽象类和接口的区别,类是否可以继承多个类?接口是否可以继承多个接口?类可以实现多个接口吗?
5、IO模型有哪些?讲讲nio、bio、aio及它们之间的区别,谈谈reactor模型
6、Java中的HashSet是怎么工作的?
7、final的用途
8、深拷贝VS浅拷贝
9、列举5个运行时异常
10、有没有可能2个不相等的对象有相同的hashcode?
11、a.hashcode()有什么用?与a.equal()有什么关系?== 和 equal的区别
12、继承和聚合有什么区别?
13、讲讲Java的反射机制,反射的原理描述,反射类的三种创建实例方式是什么;在反射中Class.forName 和Classloader有什么区别?动态代理和cglib实现的区别是什么?
14、描述动态代理的几种实现方式和各自优点
15、jdk1.5引入了泛型,泛型是用来解决什么问题的?
16、什么是序列化,为什么要序列化?反序列化会遇到什么问题?
17、双亲委派机制是什么
18、类加载机制是什么
19、锁机制
20、
JVM
1、什么时候会发生栈内存溢出?当内存溢出怎么排错?
2、JVM内存为什么要分新生代、老年代、持久代?新生代中为什么要分为Eden和Survivor?
3、垃圾回收算法的原理是什么?你知道哪几种垃圾收集器?终点讲讲G1和cms,包括原理、流程、优缺点。描述JVM中一次完整的GC流程。
4、G1和cms的区别,吞吐量优先和响应优先的垃圾收集器怎么选择
5、怎么打出线程栈信息?
框架
1、Spring
1、描述Spring的加载流程
2、Spring如何管理事务?如何配置事务(具体说出一些关键的xml元素)
3、Spring AOP的实现原理。说AOP中的几个术语,它们是怎么相互工作的?
4、讲讲Spring事务的传播机制
5、讲讲对Spring的理解。DI非单例注入原理,
6、Spring MVC用到的注解有哪些,有什么作用
7、讲讲springboot启动机制
8、Spring事件的实现原理?写出几个常用的事件。
9、Spring的bean的生命周期?比较BeanFactory和FactoryBean。Spring中使用到了FactoryBean的哪个方法?
2、MyBaits
3、MySQL
1、说说mysql的查询优化
2、说说脏读、幻读、不可重复读
3、codis和redis集群的区别
4、mysql为什么要用b+树不用平衡二叉树做索引结构?
5、创建数据库索引应该怎么考虑
6、
4、Redis
1、Redis的应用场景有哪些
2、谈谈Redis的持久化机制
3、如何保证redis与数据库的一致性?(例如用户名既存在数据库,又存在redis做缓存,有下面操做update_db(username);update_redis(username).但是执行update_db(username)后有故障,update_redis(username)没有执行,应该如何解决呢)
4、当大量数据要求用redis保存,单机单点难以满足需要,设计一个负载均衡的方案
5、如果一个业务依赖单点Redis,此redis故障导致业务不可用,该如何改进?
6、Redis sharding有哪些做法?当redis采用hash做sharding,现在有8个节点负载方案是pos=hash(key)%8,然后保存在pos节点上,这样做有什么好处坏处?当8个节点要扩充到10个节点,应该怎么办?有什么更方便的扩充方案吗?
5、Tomcat
6、Kafka
1、项目中哪里用到了Kafka?Kafka有哪些特性?
2、rabbitMQ、Kafka、RocketMQ对比
3、