回顾多灾多难的2020年,新冠疫情持续肆虐全球,疫情确诊曲线起伏跌宕,由此引发一系列事件–经济萎缩、
财政刺激、疫苗研发、经济复苏等等—无不牵动着市场的神经。“后疫情时代”将重新定义2021年,新旧交接之际,把握机遇。珍惜当下。
1、List和Set的区别。
2、HashSet是如何保证不重复的?
3、HashMap是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)?
4、HashMap的扩容过程。
5、HashMap1.7与1.8的 区别,说明1.8做了哪些优化,如何优化的?
6、final finally finalize。
7、强引用 、软引用、 弱引用、虚引用。
8、Java反射。
9、Arrays.sort 实现原理和Collection实现原理。
10、LinkedHashMap的应用。
11、cloneable接口实现原理。
12、异常分类以及处理机制。
13、wait和sleep的区别。
14、数组在内存中如何分配?
1、synchronized的实现原理以及锁优化?
2、volatile的实现原理?
3、Java的信号灯?
4、synchronized在静态方法和普通方法的区别?
5、怎么实现所有线程在等待某个事件的发生才会去执行?
6、CAS?CAS有什么缺陷,如何解决?
7、synchronized和lock有什么区别?
8、Hashtable是怎么加锁的 ?
9、HashMap的并发问题?
10、ConcurrenHashMap介绍?1.8 中为什么要用红黑树?
11、AQS简述。
12、如何检测死锁?怎么预防死锁?
13、Java内存模型?
14、如何保证多线程下i++结果正确?
15、线程池的种类,区别和使用场景?
16、分析线程池的实现原理和线程的调度过程?
17、线程池如何调优,最大数目如何确认?
18、ThreadLocal原理,用的时候需要注意什么?
19、CountDownLatch和CyclicBarrier的用法,以及相互之间的差别?
20、LockSupport工具
1.JVM的内存结构。
2.JVM方法栈的工作过程,方法栈和本地方法栈有什么区别?
3.JVM的栈中引用如何和堆中的对象产生关联。
4.可以了解一下逃逸分析技术。
5.GC的常见算法,CMS以及G1的垃圾回收过程,CMS的各个阶段哪两个是Stop the world的,CMS会不会产生碎片,G1的优势。
6.标记清除和标记整理算法的理解以及优缺点。
7.eden survivor区的比例,为什么是这个比例,eden survivor的工作过程。
8.JVM如何判断一个对象是否该被GC,可以视为root的都有哪几种类型?
9.强软弱虚引用的区别以及GC对他们执行怎样的操作?
10.Java是否可以GC直接内存。
11.Java类加载的过程。
12.双亲委派模型的过程以及优势。
13.常用的JVM调优参数。
14.dump文件的分析。
15.Java有没有主动触发GC的方式(没有)。
1、BeanFactory和FactoryBean?
2、Spring IOC的理解,其初始化过程?
3、BeanFactory和ApplicationContext?
4、Spring Bean的生命周期,如何被管理的?
5、Spring Bean的加载过程是怎样的?
6、如果要你实现Spring AOP,请问怎么实现?
7、如果要你实现Spring IOC,你会注意哪些问题?
8、Spring是如何管理事务的,事务管理机制?
9、Spring的不同事务传播行为有哪些,干什么用的?
10、Spring中用到了那些设计模式?
11、Spring MVC的工作原理?
12、Spring循环注入的原理?
13、Spring AOP的理解,各个术语,他们是怎么相互工作的?
14、Spring如何保证Controller并发的安全?
1.RDB和AOF区别。
2.为什么RDB要fork子进程而不是线程。
3.redis基本数据类型。
4.zset的底层数据结构,跳表何时增加高度。
5.分布式redis,缓存和数据库读写不一致,答延迟双删。
6.面试官让随便讲讲redis,所以还说了缓存穿透,击穿,雪崩以及处理方法。
1、什么是Spring Boot?
2、SpringBoot有哪些优点?
3、什么是JavaConfig?
4、4、如何重新加载Spring Boot上的更改,而无需重新启动服务器?
5、Spring Boot中的监视器是什么?
6、如何在Spring Boot中禁用Actuator端点安全性?
7、如何在自定义端口上运行Spring Boot应用程序?
8、什么是YAML?
9、如何实现Spring Boot应用程序的安全性?
10、如何集成Spring Boot和ActiveMQ?
11、如何使用Spring Boot实现分页和排序?
12、什么是Swagger?你用Spring Boot实现了它吗?
13、什么是Spring Profiles?
1.事务四大特性(ACID)原子性、一致性、隔离性、持久性?
2.事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别?
3.MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别?
4.MySQL的MyISAM与InnoDB两种存储引擎在,事务、锁级别,各自的适用场景?
5.查询语句不同元素(where、jion、limit、group by、having等等)执行先后顺序?
6.什么是临时表,临时表什么时候删除?
7.MySQL B+Tree索引和Hash索引的区别?
8.sql查询语句确定创建哪种类型的索引?如何优化查询?
9.聚集索引和非聚集索引区别?
10.有哪些锁(乐观锁悲观锁),select 时怎么加排它锁?
11.非关系型数据库和关系型数据库区别,优势比较?
12.数据库三范式,根据某个场景设计数据表?
13.数据库的读写分离、主从复制,主从复制分析的 7 个问题?
1.Java实现多线程有哪几种方式?
2.Callable和Future的了解。
3.线程池的参数有哪些,在线程池创建一个线程的过程。
4.volitile关键字的作用,原理。
5.synchronized关键字的用法,优缺点。
6.Lock接口有哪些实现类,使用场景是什么?
7.可重入锁的用处及实现原理,写时复制的过程,读写锁,分段锁(ConcurrentHashMap中的segment)。
8.悲观锁,乐观锁,优缺点,CAS有什么缺陷,该如何解决?
9.ABC三个线程如何保证顺序执行。
10.线程的状态都有哪些?
11.sleep和wait的区别。
12.notify和notifyall的区别。
13.ThreadLocal的了解,实现原理。
14、什么是Spring Cloud?
15、使用Spring Cloud有什么优势?
16、服务注册和发现是什么意思?Spring Cloud如何实现?
17、负载平衡的意义什么?
18、什么是Hystrix?它如何实现容错?
19、什么是Hystrix 断路器?我们需要它吗?
20、什么是Netflix Feign?它的优点是什么?
21、什么是Spring Cloud Bus?我们需要它吗?
文中所有面试题都可免费分享给大家,需要的小伙伴可看文末领取方式。
1.ZooKeeper是什么?
2.ZooKeeper提供了什么?
3.Zookeeper文件系统。
4.Zookeeper怎么保证主从节点的状态同步?
5.四种类型的数据节点Znode。
6.Zookeeper Watcher机制–数据变更通知。
7.客户端注册Watcher实现。
8.服务端处理Watcher实现。
9.客户端回调Watcher。
10.ACL权限控制机制。
11.Chroot特性。
12.会话管理。
1.Netty 是什么?
2.Netty 的特点是什么?
3.Netty 的优势有哪些?
4.Netty 的应用场景有哪些?
5.Netty 高性能表现在哪些方面?
6.BIO、NIO和AIO的区别?
7.NIO的组成?
8.Netty的线程模型?
9.TCP 粘包/拆包的原因及解决方法?
10.什么是 Netty 的零拷贝?
11.Netty 中有哪种重要组件?
12.Netty 发送消息有几种方式?
13.默认情况 Netty 起多少线程?何时启动?
14.了解哪几种序列化协议?
15.如何选择序列化协议?
16.Netty 支持哪些心跳类型设置?
17.Netty 和 Tomcat 的区别?
18.NIOEventLoopGroup源码?
1.Tomcat是什么?
2.Tomcat的缺省端口是多少,怎么修改?
3.tomcat有哪几种Connector运行模式(优化)?
4.Tomcat有几种部署方式?
5.tomcat容器是如何创建servlet类实例?用到了什么原理?
6.Tomcat工作模式。
7.Tomcat顶层架构。
8.Tomcat顶层架构小结。
9.Connector和Container的微妙关系。
10.Container架构分析。
所有的面试题目都不是一成不变的,特别是一线互联网大厂,上面的面试题只是给大家一个借鉴作用,最主要的是给自己增加知识的储备,有备无患。
笔者整理了最新各路知识点合集包含有:JAVA基础、开源框架知识、多线程、分布式、
数据结构、算法、数据库、Spring全家桶系列、JVM、MySQL、MyBatis、Dubbo、Liunx、TomCat等多种知识点。需要的小伙伴可以这里免费获取资料。
希望大家都能找到适合自己的公司,开开心心的撸代码!