Java教程

JAVA面试八股文

本文主要是介绍JAVA面试八股文,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • **面试八股文**
    • · **MyBatis**
    • · **分布式**
    • · **IO**
    • · **Redis**
    • · **MySQL**
    • · **MQ**
    • · **基础**
    • · **JVM**
    • · **类加载**
    • · **WEB**
    • · **Spring**
    • · **SpringBoot**
    • · **网络**

面试八股文

文档免费下载: https://download.csdn.net/download/zixiao217/24146305

· MyBatis

o mybatis的优缺点

o #{}与${}的区别

· 分布式

o CAP

o BASE

o RPC

o 分布式ID是什么?有哪些解决方案

o 分布式锁有哪些解决方案?

o 分布式事务、哪些实现方式?

o ZAB协议

o 为什么ZK可以用来做注册中心

o ZK领导者选举流程

o ZK集群中节点间数据如何同步的

o Doubbo支持哪些负载均衡策略

o Dubbo如何完成服务暴露的

o Dubbo如何完成服务引入的

o Dubbo的架构设计是怎样的

o SpringCloud有哪些常用组件

o SpringCloud与Dubbo有哪些区别

o 服务雪崩、服务限流

o 服务熔断、服务降级、二者的区别

o SOA、分布式、微服务的关系与区别

· IO

o BIO

o NIO

o AIO

o 零拷贝

o Netty

§ Netty是什么

§ Netty与Tomcat的关系、区别

§ Netty的线程模型

§ Netty的高性能体现在哪些方面

· Redis

o 常用数据结构、应用场景

o redis分布式锁底层如何实现的

o 主从复制的核心原理

o 缓存穿透、击穿、雪崩

§ 穿透:没有的数据查询

§ 击穿:数据有,但是并发高,都去数据库查询

§ 雪崩:同时间大量缓存key失效

o Redis和MySQL如何保证数据一致性

· MySQL

o explain各个字段的含义

o 索引覆盖是什么意思

o 最左前缀原则

o innodb如何实现事务

o B树、B+树的区别,MySQL为什么选择B+树

o MySQL所有哪些,如何理解

o MySQL慢查询如何优化

· MQ

o 消息队列的作用

o 死信队列、延时队列

o kafka为什么比其他MQ吞吐率高

o kafka的push、pull分别有什么优缺点

o rocketMQ底层实现原理

o 消息队列如何保证消息可靠性传输

· 基础

o String、StringBuffer、StringBuilder

§ StringBuffer线程安全

o ArrayList、LinkedList的区别

o CopyOnWriteArrayList的底层原理

o HashMap扩容机制

§ 1.6

§ 1.7

§ 1.8

o ConcurrentHashMap扩容机制

o ThreadLocal底层原理

o volatile原理

o ReentrantLock的公平锁、非公平锁底层机制

o CountDownLatch与Semaphore的底层机制、区别

o Synchronized的偏向、轻量、重量级锁

o 线程池底层工作原理

· JVM

o 哪些是线程共享区

o 哪些可以作为gcroot

o 项目中如何排查JVM问题

· 类加载

o 双亲委派机制

o Tomcat为什么要自定义类加载器

o Tomcat如何进行优化

· WEB

o 浏览器从发起一个请求到接受影响发生了什么

o 跨域请求是什么?有什么问题?如何解决

· Spring

o 创建Bean的生命周期的步骤

o Bean是线程安全的吗

o ApplicationContext与BeanFactory的区别

o Spring中事务是如何实现的

o Spring事务失效的场景

o Spring容器启动流程

o Spring用到了哪些设计模式

o SpringMVC的工作流程

· SpringBoot

o SpringBoot常用注解、实现原理

o SpringBoot是如何启动Tomcat的

o SpringBoot配置文件加载顺序

· 网络

o TCP三次握手

o TCP四次挥手

这篇关于JAVA面试八股文的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!