2021年金三银四Java面试宝典,横扫社招+春招+秋招! 落日映苍穹つ 2023-01-08 09:29 169阅读 0赞 ## 前言 ## > 回顾多灾多难的2020年,新冠疫情持续肆虐全球,疫情确诊曲线起伏跌宕,由此引发一系列事件–经济萎缩、 > 财政刺激、疫苗研发、经济复苏等等—无不牵动着市场的神经。“后疫情时代”将重新定义2021年,新旧交接之际,把握机遇。珍惜当下。 ## Java基础 ## 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、数组在内存中如何分配? ## Java 并发 ## 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工具 ## JVM ## 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的方式(没有)。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ4Nzk1NjA3_size_16_color_FFFFFF_t_70] ## Spring ## 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并发的安全? ## Redis ## 1.RDB和AOF区别。 2.为什么RDB要fork子进程而不是线程。 3.redis基本数据类型。 4.zset的底层数据结构,跳表何时增加高度。 5.分布式redis,缓存和数据库读写不一致,答延迟双删。 6.面试官让随便讲讲redis,所以还说了缓存穿透,击穿,雪崩以及处理方法。 ## SpringBoot-Spring Cloud ## 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? ## MySQL高频20题解析 ## 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?我们需要它吗? ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ4Nzk1NjA3_size_16_color_FFFFFF_t_70_pic_center][] > 文中所有面试题都可免费分享给大家,需要的小伙伴可看文末领取方式。 ## ZooKeeper ## 1.ZooKeeper是什么? 2.ZooKeeper提供了什么? 3.Zookeeper文件系统。 4.Zookeeper怎么保证主从节点的状态同步? 5.四种类型的数据节点Znode。 6.Zookeeper Watcher机制–数据变更通知。 7.客户端注册Watcher实现。 8.服务端处理Watcher实现。 9.客户端回调Watcher。 10.ACL权限控制机制。 11.Chroot特性。 12.会话管理。 ## Netty ## 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源码? ## Tomcat ## 1.Tomcat是什么? 2.Tomcat的缺省端口是多少,怎么修改? 3.tomcat有哪几种Connector运行模式(优化)? 4.Tomcat有几种部署方式? 5.tomcat容器是如何创建servlet类实例?用到了什么原理? 6.Tomcat工作模式。 7.Tomcat顶层架构。 8.Tomcat顶层架构小结。 9.Connector和Container的微妙关系。 10.Container架构分析。 ## 总结 ## ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ4Nzk1NjA3_size_16_color_FFFFFF_t_70 1] > 所有的面试题目都不是一成不变的,特别是一线互联网大厂,上面的面试题只是给大家一个借鉴作用,最主要的是给自己增加知识的储备,有备无患。 笔者整理了最新各路知识点合集包含有:JAVA基础、开源框架知识、多线程、分布式、 数据结构、算法、数据库、Spring全家桶系列、JVM、MySQL、MyBatis、Dubbo、Liunx、TomCat等多种知识点。需要的小伙伴可以[这里免费获取资料][Link 1]。 希望大家都能找到适合自己的公司,开开心心的撸代码! ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ4Nzk1NjA3_size_16_color_FFFFFF_t_70_pic_center 1][] [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ4Nzk1NjA3_size_16_color_FFFFFF_t_70]: /images/20221119/6f8825e82886455282ec2f667f2cb5cf.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ4Nzk1NjA3_size_16_color_FFFFFF_t_70_pic_center]: /images/20221119/49c03905ac6c46c18d071a9c2069dfcf.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ4Nzk1NjA3_size_16_color_FFFFFF_t_70 1]: /images/20221119/30b91a45ff7645da8e307aa32df0f478.png [Link 1]: https://mp.weixin.qq.com/s?__biz=Mzg2ODUzMDg1OQ==&mid=2247483699&idx=1&sn=c0d55c9ecf68a17105134cd5b3d9cef0&chksm=ceabaef7f9dc27e13dc0d7ada9bee4baf1c3d559fda084c9d92ff09a98f9381e798d4520cbed&token=83015836&lang=zh_CN#rd [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ4Nzk1NjA3_size_16_color_FFFFFF_t_70_pic_center 1]: /images/20221119/d792dd3b545440e988a2703b7aa0f7b5.png
还没有评论,来说两句吧...