Java 还能不能继续搞了?

CSDN 2024-06-28 12:05:02 阅读 60

在这里插入图片描述

金三银四招聘季已落幕,虽说行情不是很乐观,但真正的强者从不抱怨。

在此期间,我收到众多小伙伴的宝贵反馈,整理出132道面试题,从基础到高级,有八股文,也有对某个知识点的深度解析。包括以下几部分:

Java:基础、线程、并发编程、 网络编程、JVM。框架:Spring Boot、Spring Cloud。数据库:Redis、MySQL。架构:系统设计、技术选型、分布式理论等。

准备好迎接金九银十吧!!!

Java 基础

以下面试题可以移步至:

《Java基础面试题》

Java 创建对象有几种方式?有了数组为什么还要ArrayList?重载和重写的区别什么是内部类?应用在什么场景?介绍下Java中的四种引用static都有哪些用法?HashCode在集合中的作用Hash冲突怎么处理?深拷贝和浅拷贝的区别是什么?你知道什么是fail-fast吗?介绍下你对红黑树的理解异常处理影响性能吗?介绍下try-with-resource语法你知道哪些数据结构?AVL树是怎么保持平衡性的?为什么红黑树比AVL树效率高?

Java 线程

以下面试题可以移步至:

《Java线程面试题》

《Java线程安全面试题》

创建线程有几种方法?介绍下线程的生命周期?如何停止正在运行的线程?什么是线程安全?线程安全需要保证几个基本特性?为什么wait和notify方法要在同步块中调用?Synchronized和Lock的区别?常用的线程池有哪些?为什么需要线程池?简述一下线程池的工作原理线程池的拒绝策略有哪些?说说ThreadLocal的原理?如何保证线程安全?为什么需要确保共享变量的可见性?volatile是如何保证可见性、有序性?谈一下 CAS 机制实现原理?CAS 机制存在什么问题?简述一下synchronized工作原理?简述一下synchronized锁升级的过程?什么是锁粗化和锁消除?为什么 HashMap 是线程不安全的?

Java 并发编程

以下面试题可以移步至:

《Java并发编程面试题》

AQS是什么?AQS唤醒节点时,为什么是从后往前找?AQS为什么用双向链表?AQS为什么要有一个虚拟的head节点?ReentrantLock 的底层实现ReentrantLock的公平锁和非公平锁的区别ReentrantReadWriteLock如何实现读写锁?CountDownLatch,Semaphore有什么用?你知道哪些常用的阻塞队列?阻塞队列中的虚假唤醒是什么?

Java 网络编程

什么是网络编程?什么是BIO、NIO、IO多路复用?Java NIO是New IO还是Non-blocking IO?聊一下你对Netty的认识?Netty和Java NIO是什么关系?Netty为什么那么高效?

Spring Boot

以下面试题可以移步至:

《Spring Boot面试题 》

什么是 Spring Boot?Spring Boot 有哪些核心注解?Spring Boot 自动装配是什么?Spring Boot 自动装配原理?Spring Boot 配置文件的加载顺序bootstrap.properties 和 application.properties 有何区别 ?Spring Boot Actuator是什么?Spring Boot项目如何热部署?Spring Boot 中的 starter 是什么 ?Spring Boot 有哪些 starter ?

Spring Cloud

以下面试题可以移步至:

《Spring Cloud 面试题》

Nacos是CP还是AP?注册中心应该选择CP还是AP?Nacos注册中心工作机制是怎样的?Eureka注册中心工作机制是怎样的?Eureka自我保护机制原理是什么?Eureka和Nacos区别Nacos配置中心长轮询机制是什么?Nacos配置中心为什么不选择主动推送而是采用长轮询机制?Nacos配置中心宕机了,会影响服务吗?为什么Feign第一次调用耗时很长?使用Feign如何实现认证的传递?Seata中xid如何通过Feign进行全局传递?Feign底层默认使用什么发送HTTP,有什么问题?Seata支持那些事务模式?Gateway和Zuul的区别?

JVM

以下面试题可以移步至:

《JVM 面试题》

谈一下你对JVM的理解?JVM 为什么可以实现跨平台?JAVA内存模型和JVM内存模型有啥关系?JDK,JRE以及JVM的关系JDK编译器是怎么工作的?类加载机制是什么?有哪些类加载器?什么是双亲委派机制?介绍一下JVM内存区域划分堆为什么进行分代设计?什么是内存的担保机制?为什么Eden:S0:S1 比例是8:1:1?描述一下对象内存分配过程如何判断对象已死?讲一讲内存模型?常用的垃圾回收算法有哪些?常用的垃圾收集器有哪些?常用的JVM调优参数有哪些?

Redis

以下面试题可以移步至:

《Redis 面试题》

为什么要使用Redis做缓存?为什么Redis单线程模型效率也能那么高?Redis常见数据结构以及使用场景?Redis的数据结构是如何组织的?pipeline有什么好处,为什么要用 pipeline?Redis官方为什么不提供 Windows版本?Redis 持久化方式有哪些?有什么区别?什么是Redis事务?原理是什么?Redis6.0为什么要引入多线程?如何在100个亿URL中快速判断某URL是否存在?什么是渐进式rehash?Redis有哪些的过期策略?Redis有哪些的淘汰策略?什么是BigKey?什么是缓存击穿、缓存穿透、缓存雪崩?

MySQL

MySQL索引在什么情况下会失效?为什么?描述一下一条SQL的执行流程?执行器调用存储引擎后,InnoDB做了什么事?MySQL是如何保证数据不丢失的?MySQL是如何保证数据一致性的?MySQL数据被误删怎么办?描述一下MySQL的主从复制流程。分库分表有什么好的方案?谈一下对MySQL事务隔离的认识?MySQL是怎么处理并发事务的?什么是异构索引表,在分库分表场景下如何应用?

架构

如何在海量数据中快速检测某个数据?消息中间件如何选型?如何避免RabbitMQ消息丢失?什么情况下可以用微服务架构?高并发的系统都是怎么设计出来的?什么是限流?你知道哪些限流算法?如何理解分布式系统下的CAP理论?BASE理论又是什么?你知道哪些分布式一致性算法?如何保证分布式系统中ID的唯一性?



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。