史上最全Java初、中、高三级都适用的面试八股文(2024版含答案)

news2024/9/20 22:56:40

在Java编程的世界里,无论你是初出茅庐的新人,还是已经有一定经验的中级开发者,抑或是寻求突破的高级工程师,面试时总有一套通用的“八股文”知识点,就像是每位程序员的必备宝典。这套2024版的Java面试指南,包含了从基础知识到高级架构的方方面面,它不仅仅是一份问题列表,更是通往职业进阶的桥梁。

想象一下,你正站在一座巍峨的知识山脉面前,每一级台阶都代表着一个技术深度的提升。最初级的台阶,是那些关于Java数据类型、流程控制、面向对象编程的基础知识,它们是你攀登的第一步,也是最稳固的基石。接下来,你会遇到关于集合框架、多线程、异常处理的中级台阶,这是检验你能否应对复杂问题的关键。最后,高级台阶则考验你对Spring框架、微服务架构、设计模式等高级概念的掌握,以及你解决问题的能力和创新思维。

这份“八股文”就像是一位经验丰富的向导,它会指引你如何回答面试官的问题,更重要的是,它能帮助你回顾和巩固你的知识体系,让你在面对技术挑战时更加自信。无论是初学者还是资深开发者,都能在这份指南中找到自己的位置,不断向上攀登,直到达到技术的巅峰。

所以,不论你处于Java学习的哪个阶段,都不要忽视这些看似基础却至关重要的知识点。它们不仅是面试成功的关键,更是你职业生涯中不可或缺的宝贵财富。

Java基础面试题(一)

1、面向对象的特征有哪些方面?

2、访问修饰符 public,private,protected,以及不写(默认)时的区别?

3、String 是最基本的数据类型吗?

4、float f=3.4;是否正确?

5、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

6、Java 有没有 goto?

7、int 和 Integer 有什么区别?

8、&和&&的区别?

9、解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法。

10、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

11、switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?

12、用最有效率的方法计算 2 乘以 8?

13、数组有没有 length()方法?String 有没有 length()方法?

14、在 Java 中,如何跳出当前的多重嵌套循环?

15、构造器(constructor)是否可被重写(override)?

16、两个对象值相同(x.equals(y) == true),但却可有不同的 hashcode,这句话对不对?

17、是否可以继承 String 类?

18、当一个对象被当作参数传递到一个方法后,此方法可改变这个对

象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传

递?

19、String 和 StringBuilder、StringBuffer 的区别?

20、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?

文章展示不全,需要这份面试文档的家人们扫描下方二维码免费获取!

Java基础面试题(二)

1、Java 中能创建 volatile 数组吗?

2、volatile 能使得一个非原子操作变成原子操作吗?

3、volatile 修饰符的有过什么实践?

4、volatile 类型变量提供什么保证?

5、10 个线程和 2 个线程的同步代码,哪个更容易写?

6、你是如何调用 wait()方法的?使用 if 块还是循环?为什么?

8、什么是 Busy spin?我们为什么要使用它?

9、Java 中怎么获取一份线程 dump 文件?

10、Swing 是线程安全的?

11、什么是线程局部变量?

12、用 wait-notify 写一段代码来解决生产者-消费者问题?

13、用 Java 写一个线程安全的单例模式(Singleton)?

14、Java 中 sleep 方法和 wait 方法的区别?

15、什么是不可变对象(immutable object)?Java 中怎么创建一个不可变对象?

16、我们能创建一个包含可变对象的不可变对象吗?

17、Java 中应该使用什么数据类型来代表价格?

18、怎么将 byte 转换为 String?

19、Java 中怎样将 bytes 转换为 long 类型?

20、我们能将 int 强制转换为 byte 类型的变量吗?如果该值大于byte 类型的范围,将会出现什么现象?

21、存在两个类,B 继承 A,C 继承 B,我们能将 B 转换为 C 么?

如 C = (C) B;

22、哪个类包含 clone 方法?是 Cloneable 还是 Object?

Java 并发编程(一)

1、在 java 中守护线程和本地线程区别?

2、线程与进程的区别?

3、什么是多线程中的上下文切换?

4、死锁与活锁的区别,死锁与饥饿的区别?

5、Java 中用到的线程调度算法是什么?

6、什么是线程组,为什么在 Java 中不推荐使用?

7、为什么使用 Executor 框架?

8、在 Java 中 Executor 和 Executors 的区别? 

9、如何在 Windows 和 Linux 上查找哪个线程使用的 CPU 时间最长?

10、什么是原子操作?在 Java Concurrency API 中有哪些原子类(atomic classes)?

11、Java Concurrency API 中的 Lock 接口(Lock interface)是什么?对比同步它有什么优势?

12、什么是 Executors 框架? 

13、什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?

14、什么是 Callable 和 Future?

15、什么是 FutureTask?使用 ExecutorService 启动任务。

16、什么是并发容器的实现?

17、多线程同步和互斥有几种实现方法,都是什么?

18、什么是竞争条件?你怎样发现和解决竞争?

19、你将如何使用 thread dump?你将如何分析 Thread dump?

20、为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?

Java 并发编程(二)

1、并发编程三要素?

2、实现可见性的方法有哪些?

3、多线程的价值?

4、创建线程的有哪些方式?

5、创建线程的三种方式的对比?

6、线程的状态流转图

7、Java 线程具有五中基本状态

8、什么是线程池?有哪几种创建方式?

9、四种线程池的创建:

10、线程池的优点?

11、常用的并发工具类有哪些?

12、CyclicBarrier 和 CountDownLatch 的区别

13、synchronized 的作用?

14、volatile 关键字的作用

15、什么是 CAS

16、CAS 的问题

17、什么是 Future?

18、什么是 AQS

19、AQS 支持两种同步方式:

20、ReadWriteLock 是什么

 文章展示不全,需要这份中高级开发面试文档的家人们扫描下方二维码免费获取!

微服务面试题

1、您对微服务有何了解?

2、微服务架构有哪些优势?

3、微服务有哪些特点?

4、设计微服务的最佳实践是什么?

5、微服务架构如何运作?

6、微服务架构的优缺点是什么?

7、单片,SOA 和微服务架构有什么区别?

8、在使用微服务架构时,您面临哪些挑战?

9、SOA 和微服务架构之间的主要区别是什么?

10、微服务有什么特点?

11、什么是领域驱动设计?

12、为什么需要域驱动设计(DDD)?

13、什么是无所不在的语言?

14、什么是凝聚力?

15、什么是耦合?

16、什么是 REST / RESTful 以及它的用途是什么?

17、你对 Spring Boot 有什么了解?

18、什么是 Spring 引导的执行器?

19、什么是 Spring Cloud?

20、Spring Cloud 解决了哪些问题?

MyBatis面试题

1、什么是 Mybatis?

2、Mybaits 的优点

3、MyBatis 框架的缺点

4、MyBatis 框架适用场合

5、MyBatis 与 Hibernate 有哪些不同?

6、#{}和${}的区别是什么?

7、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?

8、 模糊查询 like 语句该怎么写?通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗?

10、Mybatis 是如何进行分页的?分页插件的原理是什么?

11、Mybatis 是如何将 sql 执行结果封装为目标对象并返回的?都有哪些映射形式?

12、如何执行批量插入?

13、如何获取自动生成的(主)键值?

14、在 mapper 中如何传递多个参数?

15、Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sql?

16、Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?

18、为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别

在哪里?

19、 一对一、一对多的关联查询 ?

20、MyBatis 实现一对一有几种方式?具体怎么操作的?

Redis 面试题

1、什么是 Redis?

2、Redis 的数据类型?

3、使用 Redis 有哪些好处?

4、Redis 相比 Memcached 有哪些优势?

5、Memcache 与 Redis 的区别都有哪些?

6、Redis 是单进程单线程的?

7、一个字符串类型的值能存储最大容量是多少?

8、Redis 的持久化机制是什么?各自的优缺点?

9、Redis 常见性能问题和解决方案:

10、redis 过期键的删除策略?

11、Redis 的回收策略(淘汰策略)?

12、为什么 edis 需要把所有数据放到内存中?

13、Redis 的同步机制了解么?

14、Pipeline 有什么好处,为什么要用 pipeline?

15、是否使用过 Redis 集群,集群的原理是什么?

16、Redis 集群方案什么情况下会导致整个集群不可用?

17、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?

18、Jedis 与 Redisson 对比有什么优缺点?

19、Redis 如何设置密码及验证密码?

20、说说 Redis 哈希槽的概念?

MySQL面试题

1、MySQL 中有哪几种锁?

2、MySQL 中有哪些不同的表格?

3、简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别

4、MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

5、CHAR 和 VARCHAR 的区别?

6、主键和候选键有什么区别?

7、myisamchk 是用来做什么的?

8、如果一个表有一列定义为 TIMESTAMP,将发生什么?

9、你怎么看到为表格定义的所有索引?

10、LIKE 声明中的%和_是什么意思?

11、列对比运算符是什么?

12、BLOB 和 TEXT 有什么区别? 

13、MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么?

14、MyISAM 表格将在哪里存储,并且还提供其存储格式?

15、MySQL 如何优化 DISTINCT?

16、如何显示前 50 行?

17、可以使用多少列创建索引?

18、NOW()和 CURRENT_DATE()有什么区别?

19、什么是非标准字符串类型?

20、什么是通用 SQL 函数?

 文章展示不全,需要这份面试文档的家人们扫描下方二维码免费获取!

ZooKeeper 面试题

1. ZooKeeper 面试题?

2. ZooKeeper 提供了什么?

3. Zookeeper 文件系统

4. ZAB 协议?

5. 四种类型的数据节点 Znode

6. Zookeeper Watcher 机制 -- 数据变更通知

7. 客户端注册 Watcher 实现

8. 服务端处理 Watcher 实现

9. 客户端回调 Watcher

10. ACL 权限控制机制

11. Chroot 特性

12. 会话管理

13. 服务器角色

14. Zookeeper 下 Server 工作状态

15. 数据同步

16. zookeeper 是如何保证事务的顺序一致性的?

17. 分布式集群中为什么会有 Master?

18. zk 节点宕机如何处理?

19. zookeeper 负载均衡和 nginx 负载均衡区别

20. Zookeeper 有哪几种几种部署模式?

Dubbo 面试题

1、为什么要用 Dubbo?

2、Dubbo 的整体架构设计有哪些分层?

3、默认使用的是什么通信框架,还有别的选择吗?

4、服务调用是阻塞的吗?

5、一般使用什么注册中心?还有别的选择吗?

6、默认使用什么序列化框架,你知道的还有哪些?

7、服务提供者能实现失效踢出是什么原理?

8、服务上线怎么不影响旧版本?

9、如何解决服务调用链过长的问题?

10、说说核心的配置有哪些?

11、Dubbo 推荐用什么协议?

12、同一个服务多个注册的情况下可以直连某一个服务吗?

13、画一画服务注册与发现的流程图?

14、Dubbo 集群容错有几种方案?

15、Dubbo 服务降级,失败重试怎么做?

16、Dubbo 使用过程中都遇到了些什么问题?

17、Dubbo Monitor 实现原理?

18、Dubbo 用到哪些设计模式?

19、Dubbo 配置文件是如何加载到 Spring 中的?

20、Dubbo SPI 和 Java SPI 区别?​

Elasticsearch 面试题

1、elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据

大小,分片有多少,以及一些调优手段 

2、elasticsearch 的倒排索引是什么

3、elasticsearch 索引数据多了怎么办,如何调优,部署

4、elasticsearch 是如何实现 master 选举的

5、详细描述一下 Elasticsearch 索引文档的过程

6、详细描述一下 Elasticsearch 搜索的过程?

7、Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法

8、lucence 内部结构是什么?

9、Elasticsearch 是如何实现 Master 选举的?

10、Elasticsearch 中的节点(比如共 20 个),其中的 10 个选了一个master,另外 10 个选了另一个 master,怎么办?

11、客户端在和集群连接时,如何选择特定的节点执行请求的?

12、详细描述一下 Elasticsearch 索引文档的过程。

13、详细描述一下 Elasticsearch 更新和删除文档的过程。

14、详细描述一下 Elasticsearch 搜索的过程。

15、在 Elasticsearch 中,是怎么根据一个词找到对应的倒排索引的?

16、Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

17、对于 GC 方面,在使用 Elasticsearch 时要注意什么?

18、Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?

19、在并发情况下,Elasticsearch 如果保证读写一致?

20、如何监控 Elasticsearch 集群状态?

 文章展示不全,需要这份面试文档的家人们扫描下方二维码免费获取!

Memcached 面试题

1、Memcached 是什么,有什么作用?

2、Memcached 服务分布式集群如何实现?

3、Memcached 服务特点及工作原理是什么?

4、简述 Memcached 内存管理机制原理?

5、memcached 是怎么工作的?

6、memcached 最大的优势是什么?

7、memcached 和 MySQL 的 query

8、memcached 和服务器的 local cache(比如 PHP 的 APC、mmap

文件等)相比,有什么优缺点?

9、memcached 的 cache 机制是怎样的?

10、memcached 如何实现冗余机制?

11、memcached 如何处理容错的?

12、如何将 memcached 中 item 批量导入导出?

13、如果缓存数据在导出导入之间过期了,您又怎么处理这些数据呢?1

4、memcached 是如何做身份验证的?

15、memcached 的多线程是什么?如何使用它们?

16、memcached 能接受的 key 的最大长度是多少?

17、memcached 最大能存储多大的单个 item?

18、memcached 能够更有效地使用内存吗?

19、什么是二进制协议,我该关注吗?

20、memcached 的内存分配器是如何工作的?为什么 不适用malloc/free!?为何要使用 slabs?

Linux 面试题

1、绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目

录用什么表示? 切换目录用什么命令?

2、怎么查看当前进程?怎么执行退出?怎么查看当前路径?

3、怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户id?查看指定帮助用什么命令?

4、Ls 命令执行什么功能? 可以带哪些参数,有什么区别?

5、建立软链接(快捷方式),以及硬链接的命令。

6、目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?

7、查看文件内容有哪些命令可以使用?

8、随意写文件命令?怎么向屏幕输出带空格的字符串,比如”helloworld”?

9、终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个

命令?

10、移动文件用哪个命令?改名用哪个命令?

11、复制文件用哪个命令?如果需要连同文件夹一块复制呢?如果需要有提示功能呢?

12、删除文件用哪个命令?如果需要连目录及目录下文件一块删除

呢?删除空文件夹用什么命令?

13、Linux 下命令有哪几种可使用的通配符?分别代表什么含义?.44014、用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)

15、Grep 命令有什么用? 如何忽略大小写? 如何查找不含该串的行?

16、Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用

什么符号表示的?

17、怎么使一个命令在后台运行?

18、利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息?

19、哪个命令专门用来查看后台任务?​

20、把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1995532.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mma.sync.aligned.m16n8k16.row.col.f16.f16.f16.f16测试

mma.sync.aligned.m16n8k16.row.col.f16.f16.f16.f16测试 1.参考文档2.numpy测试3.cuda kernel测试4.相关截图 本文演示了如何按PTX指令文档中的layout格式要求,加载数据,执行mma指令,并且跟numpy对比结果的一致性 1.参考文档 Matrix Fragments for mma.m16n8k16 with floatin…

MAVSDK添加自定义消息与函数实现云台(Gimbal)调整功能

1.找到action.proto文件并添加如下消息 2. 定义RPC方法AdjustGimbal方法如下: 3.运行generate_from_protos.sh重新根据.proto生成.cpp与.h文件 生成过程 生成完成 4. .proto生成的.h文件,成功包含同步与异步方法声明

零基础转行网络安全真的好就业吗?

网络安全作为近两年兴起的热门行业,成了很多就业无门但是想转行的人心中比较向往但是又心存疑惑的行业,毕竟网络安全的发展史比较短,而国内目前网安的环境和市场情况还不算为大众所知晓,所以到底零基础转行入门网络安全之后&#…

python自动化笔记:excel文件处理及日志收集

目录 一、openpyxl模块1.1、安装:pip install openpyxl1.2、openpyxl模块三大组件1.3、创建excel并写入数据1.4、读取excel 二、日志收集 一、openpyxl模块 1.1、安装:pip install openpyxl 注: openpyxl只支持xlsx格式,xls格式…

10+ Midjourney V6.1 提示:生成精美的角色海报

前言 近期图像生成界最大的更新是MidjourneyV6.1!我迫不及待地想要开始创作和分享,这次分享的重点是V6.1在角色创作方面的增强。 以下是半天测试的结果,包括提示,专注于角色摄影照片和角色插图。 网上关于这方面的教程虽然很多&…

【第22章】Spring Cloud之Gateway集成Knife4j(下)

文章目录 前言一、访问页面加权控制1. 加权控制2. 登录 二、生产环境如何屏蔽Knife4j、Swagger等Ui资源和接口1. 基于Spring Boot框架提供的Conditional条件控制相关Bean的生效2. 效果 三、聚合个性化配置1. 用户服务1.1 引入依赖1.2 Knife4j配置类1.3 控制器 2. 网关服务2.1 排…

JG08Z-GD系列 八轴智能测径仪系统介绍

1.测径仪: 主要用于轧制线,棒材,八个方向直径及椭圆度在线测量,轧制螺纹钢特钢尺寸在线测量。 2.功能介绍: (1)显示内容 主控室液晶显示器:管材截面的最大/最小直径、平均值、椭圆…

问题本记录(1):mac有网络但打不开网页

此学习类别,仅作为小许的问题本,方便后续再次遇到相关问题进行查看。 第一步: 第二步: 添加一个新的位置 第三步: 选择这个新建的位置,Wi-Fi显示已连接就 万事大吉啦啦啦

html+css+js+jquery实现一个 飘零的树叶

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>飘落的枫叶</title><style>.maple {position: absolute;top: 0;color: #ff0000;}</style><script src"https://www.jq22.com…

片上POR和BOR的区别

片上 POR 和 BOR 的区别 片上 POR&#xff08;Power On Reset&#xff09;和 BOR&#xff08;Brown-out Reset&#xff09;是微控制器中用于确保系统在电源异常情况下能够恢复正常运作的两种复位机制。 1. POR&#xff08;上电复位&#xff09; POR 是在微控制器上电时触发的…

多路RTSP转RTMP推送方案的两个选择

技术选型 RTSP转RTMP推送到流媒体服务器&#xff0c;说起来技术实现不难&#xff0c;简单来说&#xff0c;获取RTSP流后&#xff0c;拿到未经解码的H.264/H.265和audio数据&#xff0c;重新打包RTMP发送出去即可。需要注意的是&#xff0c;大多RTSP转RTMP模块&#xff0c;需要…

数学建模~~追逐仿真问题

目录 1.前景介绍 2.题目描述 3.核心思路 4.思路分析 5.代码分析 5.1准备工作 5.2设置循环 5.3终止循环 5.4绘制图形 5.5完整代码 1.前景介绍 今天上午的数学建模培训王老师介绍的这个数学建模相关的经验真的是让我受益匪浅&#xff0c;让我对于数学建模有了更加清晰的…

数据增强库albumentations使用指南

数据增强技术就是人为地生成真实数据集的不同版本以增加其数据大小。计算机视觉(CV)和自然语言处理 (NLP) 在模型训练过程中经常使用数据增强策略来处理数据稀缺和数据多样性不足的问题&#xff0c;避免模型因数据量而导致的过拟合、泛化性不足等问题。计算机视觉中常见的数据增…

Node.JS - 基础

目录 A. 简介 B. 安装和配置 C. npm A. 简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 一、运行原理 事件驱动和非阻塞 I/O 模型&#xff1a; Node.js 采用事件驱动、异步编程的方式。这意味着它不会在等待一个操作&#xff08;如读取文件或网络请求&a…

spfa算法判断是否存在负权回路

spfa算法判断是否存在负权回路 题目 当一个图中存在一个负权回路时&#xff0c;是无法利用spfa 算法去求最短路问题的&#xff0c;但是可以利用spfa 算法判断有没有负权回路 题目 给定一个 n n n 个点 m m m 条边的有向图&#xff0c;图中可能存在重边和自环&#xff0c; 边…

VisionPro二次开发学习笔记11-使用 Caliper和Fixture定位Blob工具检测方块

该示例演示了如何使用卡尺工具和夹具工具来固定 Blob 工具。示例代码将检测图像上部区域中小方块的存在。当点击“运行”按钮时&#xff0c;将读取一张新图像。卡尺工具将被运行&#xff0c;卡尺工具的输出 Y 信息将传递给夹具工具。夹具工具使用来自卡尺工具的 Y 信息和新图像…

新手养猫怎么选智能猫砂盆?不踩雷平价实用攻略测评分享!

众所周知&#xff0c;猫咪是非常爱干净的动物&#xff0c;一旦猫砂盆满了&#xff0c;它们就可能会选择其他角落“解决”&#xff0c;这不仅会让家里充满异味&#xff0c;还可能影响猫咪的健康。而长期堆积的猫砂&#xff0c;也容易滋生细菌&#xff0c;对猫咪的爪子也是一种伤…

[CISCN2019 华东南赛区]Web111

打开题目&#xff0c;看到题目 注意最下面的Build With Smarty! , 猜测是smarty模板注入。smart是php的模板引擎&#xff0c;模板引擎的作用就是分离前端页面和数据的&#xff0c;题目中显示API的URL由于环境的原因无法使用&#xff0c;但我们的IP依旧显示在了页面的右上角&…

python-约瑟夫环(赛氪OJ)

[题目描述] n 个人&#xff08; 0,1,2,3,4...n−1 &#xff09;&#xff0c;围成一圈&#xff0c;从编号为 k 的人开始报数&#xff0c;报数报到 m 的人出队。 下次从出队的人之后开始重新报数&#xff0c;循环往复&#xff0c;当队伍中只剩最后一个人的时候&#xff0c;那个人…

【Material-UI】Checkbox 组件中的 Label Placement 设置详解

文章目录 一、Checkbox 组件简介1. 组件概述2. labelPlacement 属性 二、labelPlacement 属性的使用方法三、各标签位置的效果与应用场景1. Top&#xff08;顶部&#xff09;2. Start&#xff08;左侧&#xff09;3. Bottom&#xff08;底部&#xff09;4. End&#xff08;右侧…