牛客网热门Java面试题及答案整理(2024最新版)

news2025/2/28 15:22:35

当今互联网行业中,Java 作为一种广泛应用的编程语言,对于求职者来说仍是一项受欢迎的技能。然而,随着市场上的开发人员数量越来越多,Java 面试的竞争也愈加激烈。

目前 Java 面试有着以下现状:

面试难度加大与过去相比,现在的企业对 Java 程序员的需求更高,因此招聘流程变得更加严格。许多公司增加了笔试环节和多轮面试,以确保他们雇佣到最适合的候选人。

技术面试重点在 Java 面试中,重点考察的是候选人的编程能力、数据结构和算法知识、Spring 框架和数据库相关知识等。此外,企业通常还会问到一些关于面向对象设计和代码优化的问题。

个性化面试现在的面试更注重个性化,企业根据自己的需求,定制化面试流程和问题。

实战能力需求增加近年来,企业对开发人员的实战经验要求越来越高。因此,在面试中,候选人通常需要展示自己的实际项目经验,如项目开发、调试、优化和部署等。

综上,Java 面试是一个相对较难的挑战,要求候选人掌握广泛的知识和技能。为应对这种情况,候选人需要充分准备,扩展知识面,增强实战经验,并关注新的技术趋势。

当准备 Java 面试时,拥有一份综合面试资料的清单是非常重要的,为了帮助各位工程师,掌握 Java 面试中每一个问题的技巧,提高面试通过率,在这分享一些大厂面试都问的高频常问面试题,这份面试题资料包括了 Spring,JVM,java 基础,Java 集合,Java 并发编程,微服务,网络,Kafka,分布式,Redis,大厂面试解决方案,分布式事务,设计模式,算法,数据结构,MySQL 等

架构师必备技能:(大厂面试必问)

多线程 &并发面试题:

JAVA 并发知识库:

  • Java 中实现多线程有几种方法

  • 继承 Thread 类

  • 实现 Runnable 接口。

  • ExecutorSenvice. Callable. Future 有返回值线程

  • 基于线程池的方式

  • 4 种线程池

  • 如何停止一个正在运行的线程

  • notify0 和 notifyAll0 有什么区别?

  • sleep0 和 wait0 有什么区别?

  • volatile 是什么?可以保证有序性吗?

  • Thread 类中的 start0 和 run0 方法有什么区别?

  • 为什么 wait, notify 和 nfifAllI 这些方法不在 thread 类里面?

  • 为什么 wait 和 ntify 方法要在同步块中调用?

  • Java 中 interrupted 和 isInterruptedd 方法的区别?

  • Java 中 synchronized 和 ReentrantLock 有什么不同?

  • 有三个线程 T1,T2,T3,如何保证顺序执行?

  • SynchronizedMap 和 ConcurrentHashMap 有什么区别?

  • 什么是线程安全

  • Thread 类中的 yield 方法有什么作用?

  • Java 线程池中 submit0 和 execute0 方法有什么区别?

  • 说一说自己对于 synchronized 关键字的了解

  • 说说自己是怎么使用 synchronized 关键字,在项目中用到了吗 ynchronized 关键字最主要的三种使用方式?

  • 什么是线程安全? Vector 是一 个线程安全类吗?

  • volatile 关键字的作用?

  • 简述一下你对线程池的理解

  • 线程生命周期(状态)

JVM 面试题:

  • Serial 垃圾收集器(单线程、复制算法)

  • ParNew 垃圾收集器(Serial+ 多线程)

  • Parallel Scavenge 收集器(多线程复制算法、高效)

  • Serial Old 收集器(单线程标记整理算法)

  • Parallel Old 收集器(多线程标记整理算法)

  • CMS 收集器(多线程标记清除算法)

  • G1 收集器

  • JVM 类加载机制

  • 类加载器

  • 双亲委派

  • OSGI (动态模型系统)

  • 动态改变构造

  • 模块化编程与热插拔

  • JVM 内存模型

  • 本地方法栈

  • 程序计数器

  • 方法区

  • 分代回收

  • 堆和栈的区别

  • 什么时候会触发 FullGC

  • 什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?

  • 对象分配规则

  • 描述一下 JM 加载 class 文件的原理机制?

  • Java 对象创建过程

Java 中的 IO 与 NIO 面试题:

  • Java 中 10 流?

  • Java 10 与 NIO 的区别

  • 常用 io 类有哪些

  • 字节流与字符流的区别

  • 阻塞 10 模型

  • 非阻塞 10 模型

  • 多路复用 10 模型

  • 信号驱动 10 模型

  • 异步 10 模型

  • JAVA NIO

  • NIO 的缓冲区

  • NIO 的非阻塞

  • Channel

  • Buffer

Mysql 面试题:

  • 分库分表之后,d 主键如何处理

  • 存储过程(特定功能的 SQL 语句集)

  • 存储过程优化思路

  • 触发器(一段能自动执行的程序)

  • 数据库并发策略

  • MySQL 中有哪几种锁?

  • MySQL 中有哪些不同的表格?

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

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

  • CHAR 和 VARCHAR 的区别?

  • 主键和候选键有什么区别?

  • myisamchk 是用来做什么的?

  • MyISAM Static 和 MyISAM Dynamic 有什么区别?

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

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

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

  • 列对比运算符是什么?

  • BLOB 和 TEXT 有什么区别?

  • MySQL fetch. array 和 MySQL fetch object 的区别是什么?

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

  • MySQL 如何优化 DISTINCT?

  • 如何显示前 50 名?

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

  • NOW () 和 CURRENT_ DATE () 有什么区别?

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

  • 什么是通用 SQL 函数?

  • MySQL 支持事务吗?

Redis 面试题:

  • Redis 是单进程单线程的?

  • 一个字符串类型的智能存储最大容量是多少?

  • Redis 持久化机制

  • 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题

  • 热点数据和冷数据是什么

  • 单线程的 redis 为什么这么快

  • redis 的数据类型,以及每种数据类型的使用场景

  • redis 的过期策略以及内存淘汰机制

  • Redis 常见性能问题和解决方案?

  • 为什么 Redis 的操作是原子性的,怎么保证原子性的?

  • Redis 事务

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

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

  • redis 过期键的删除策略?

  • Redis 的回收策略(海汰策略) ?

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

  • Redis 的同步机制了解么?

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

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

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

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

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

  • Redis 如何设置密码及验证密码?

MongoDB 面试题:

  • 当更新-个正在被迁移的块(Chunk). 上的文档时会发生什么?

  • MongoDB 在 A:(B,C}上建立索引,查询 A:{B,C]和 A:{C,B)都会使用索引吗?

  • 如果一个分片(Shard) 停止或很慢的时候,发起一个查询会怎样?

  • MongoDB 支持存储过程吗?如果支持的话,怎么用?

  • 如何理解 MongoDB 中的 GridFS 机制,MongoDB 为何使用 GridFS 来存储文件?

  • 什么是 NoSQL 数据库? NoSQL 和 RDBMS 有什么区别?在哪些情况下使用和不使用 NoSQL 数据库?

  • MongoDB 支持存储过程吗?如果支持的话,怎么用?

  • 如何理解 MongoDB 中的 GridFS 机制,MongoDB 为何使用 GridFS 来存储文件?

  • 为什么 MongoDB 的数据文件很大?

  • 当更新-个正在被迁移的块(Chunk) 上的文档时会发生什么?

  • MongoDB 在 A:(B,C}上建立索引,查询 A:{B,C]和 A:{C,B)都会使用索引吗?

  • 如果一个分片(Shard) 停止或很慢的时候,发起一个查询会怎样

  • 分析器在 MongoDB 中的作用是什么?

  • 如果用户移除对象的属性,该属性是否从存储层中删除?

  • 能否使用日志特征进行安全备份?

  • 更新操作立刻 fsync 到磁盘?

  • 如何执行事务/加锁?

  • 什么是 master 或 primary?

  • getLasterror 的作用

  • 分片(sharding) 和复制(replication) 是怎样工作的?

  • 数据在什么时候才会扩展到多个分片(shard) 里?

  • 当我试图更新 一个正在被迁移的块(chunk) 上的文档时会发生什么?

MyBatis 面试题:

  • 通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,

  • 这个 Dao 接口的工作原理是什么? Dao 接口里的方法,参数不同时,方法能重载吗?

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

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

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

  • Xml 映射文件中,除了常见的 selectlinsertlupdaeldelete 标签之外,还有哪些标签?

  • Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重复?

  • 为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?

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

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

  • MyBatis 实现-对多有几种方式,怎么操作的?

  • Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?

  • Mybatis 的一级、二级缓存

  • 什么是 MyBatis 的接口绑定?有哪些实现方式?

  • 使用 MyBatis 的 mapper 接口调用时有哪些要求?

  • Mapper 编写有哪几种方式?

  • 简述 Mybatis 的插件运行原理,以及如何编写一个插件。

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

Spring 面试题:

  • Spring AOP and AspectU AOP 有什么区别?

  • 如何理解 Spring 中的代理?

  • 什么是编织(Weaving) ?

  • Spring MVC 框架有什么用?

  • 描述一下 DispatcherServlet 的工作流程

  • 介绍一下 WebApplicationContext

  • 什么是 spring?

  • 使用 Spring 框架的好处是什么?

  • Spring 由哪些模块组成?

  • Spring 的 IOC 和 AOP 机制

  • Spring 中 Autowired 和 Resource 关键字的区别

  • 依赖注入的方式有几种,各是什么?

  • 讲一下什么是 Spring

  • Spring MVC 流程

  • springMVC 是什么

  • SpringMVC 怎么样设定重定向和转发的?

  • SpringMVC 常用的注解有哪些

  • Spring 的 AOP 理解

  • Spring 的 IOC 理解

  • 解释一下 spring bean 的生命周期

  • 解释 Spring 支持的几种 bean 的作用域。

  • Spring 基于 xml 注入 bean 的几种方式

  • Spring 框架中都用到了哪些设计模式

  • 核心容器(应用上下文)模块

  • BeanFactory - BeanFactory 实现举例。

  • XML BeanFactory

  • 解释 AOP 模块

Spring Boot 面试题:

  • 我们能否在 spring-boot- starter-web 中用 jetty 代替 tomcat?

  • 如何使用 Spring Boot 生成一个 WAR 文件?

  • 如何使用 Spring Boot 部署到不同的服务器?

  • RequestMapping 和 GetMapping 的不同之处在哪里?

  • 为什么我们不建议在实际的应用程序中使用 Spring Data Rest?

  • 在 Spring Initializer 中,如何改变-个项目的包名字?

  • 可以配置 application.propertierde 的完整的属性列表在哪里可以找到?

  • JPA 和 Hibernate 有哪些区别?

  • 使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需!要哪些依赖项?

  • 如何不通过任何配置来选择 Hibernate 作为 JPA 的默认实现?

  • 指定的数据库连接信息在哪里?它是如何知道自动连接至 H2 的?

  • 我们如何连接一个像 MSSQL 或者 orcale -样的外部数据库?

  • Spring Boot 配置的默认 H2 数据库的名字是上面?为什么默认的数据库名字是 testdb?

  • 如果 H2 不在类路径里面,会出现上面情况?

  • 你能否举一个以 ReadOnly 为事务管理的例子?

  • 发布 Spring Boot 用户应用程序自定义配置的最好方法是什么?

  • 配置文件的需求是什么?

  • 如何使用配置文件通过 Spring Boot 配置特定环境的配置?

  • 我们如何使用 Maven 设置 Spring Boot 应用程序?

  • 如何禁用特定的自动配置?

  • Spring boot 支持哪些外部配置?

  • 如何对 Spring Boot 应用进行测试?

  • Spring Boot Actuator 有什么用?

  • SpringBoot 中静态首页默认位置可以放在哪里?

  • SpringBoot 中静态资源直接映射的优先级是怎样的?

Spring Cloud 面试题:

  • SpringBoot 和 SpringCloud 的区别?

  • 什么是 Hystrix 断路器?我们需要它吗

  • 说说 RPC 的实现原理

  • 微服务的优点缺点?说下开发项目中遇到的坑?

  • spring cloud 和 dubbo 区别?

  • REST 和 RPC 对比

  • 你所知道的微服务技术栈?

  • 微服务之间是如何独立通讯的?

  • springcloud 如何实现服务的注册?

  • Eureka 和 Zookeeper 区别

  • eureka 自我保护机制是什么?

  • 什么是 Ribbon?

  • 什么是 feigin?它的优点是什么?

  • Ribbon 和 Feign 的区别?

  • 什么是 Spring Cloud Bus?

  • springcloud 断路器作用?

  • Spring Cloud Gateway?

  • 作为服务注册中心,Eureka 比 Zookeeper 好在哪里?

  • 什么是 Ribbon 负载均衡?

  • Ribbon 负载均衡能干什么?

  • 什么是 zuu|路由网关

  • 分布式配置中心能干嘛?

数据结构面试题:

  • 栈(stack)

  • 队列(queue)

  • 链表(Link)

  • 散列表(Hash Table)

  • 排序二叉树

  • 前缨树

  • 红黑树

  • B-TREE

  • 位图

算法面试题:

  • 数据里有{1,2,3,4,5,6,7,8,9}. 请随机打乱顺序,生成一个新的数组(请以代码实现)

  • 写出代码判断一个整数是不是 2 的阶次方(请代码实现,谢绝调用 API 方法)

  • 假设今日是 2015 年 3 月 1 日,星期日,请算出 13 个月及 6 天后是星期几,距离现在多少天(请用代码实现,谢绝调用 API 方法)

  • 有两个篮子,分别为 A 和 B,篮子 A 里装有鸡蛋,篮子 B 里装有苹果,请用面向对象的思想实现两个篮子里的物品交换(请用代码实现)

  • 二分查找

  • 冒泡排序算法

  • 插入排序算法

  • 快速排序算法

  • 希尔排序算法

  • 归并排序算法

  • 桶排序算法

  • 基数排序算法

  • 剪枝算法

  • 回溯算法

  • 最短路径算法

  • 最小生成树算法

  • AES

  • RSA

  • CRC

  • MD5

  • 更多算法练习

Kafka 面试题:

  • Consumer Group

  • 如何获取 topic 主题的列表

  • 生产者和消费者的命令行是什么?

  • consumer 是推还是拉?

  • 讲讲 kafka 维护消费状态跟踪的方法

  • 讲一下主从同步

  • 为什么需要消息系统,mysql 不能满足需求吗?

  • Zookeeper 对于 Kafka 的作用是什么?

  • Kafka 判断一个节点是否还过着有那两个条件?

  • Kafka 与传统 MQ 消息系统之间有三个关键区别

  • 讲一讲 kafka 的 ack 的三种机制|

  • 消费者如何不自动提交偏移量,由应用提交?

  • 消费者故障,出现过锁问题如何解决?

  • 如何控制消费的位置

微服务 面试题:

  • Container 在微服务中的用途是什么?

  • 什么是微服务架构中的 DRY?

  • 什么是消费者驱动的合同(CDC) ?

  • Web, RESTful API 在微服务中的作用是什么?

  • 您对微服务架构中的语义监控有何了解?

  • 我们如何进行跨功能测试?

  • 我们如何在测试中消除非决定论?

  • Mock 或 Stub 有什么区别?

  • 您对 Mike Cohn 的测试金字塔了解多少?

  • Docker 的目的是什么?

  • 什么是金丝雀释放?

  • 什么是持续集成(CI) ?

  • 什么是持续监测?

  • 架构师在微服务架构中的角色是什么?

  • 我们可以用微服务创建状态机吗?

  • 什么是微服务中的反应性扩展?

Elasticsearch 面试题

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

  • ucence 内部结构是什么?

  • Elasticsearch 是如何实现 Master 选举的?

  • Elasticsearch 中的节点(比如共 20 个),其中的 10 个选

  • 个 master, 另外 10 个选了另一个 master, 怎么办?

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

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

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

  • 详细描述一 下 Elasticsearch 搜索的过程

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

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

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

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

  • 在并发情况下,Elasticsearch 如何保证读写一致?

  • 如何监控 Elasticsearch 集群状态?

  • 介绍下你们电商搜索的整体技术架构

  • 介绍一下你们的个性化搜索方案?

  • 是否了解字典树?

  • 拼写纠错是如何实现的?

总结

以上就是有关程序员面试专题的一些总结,面试不仅考的是技术还有心态,只要你有足够的技术支撑,心态要好,拿到 offer 肯定不在话下。先不要把它想得很困难,自己给自己设置槛!希望大家都可以拿到心仪 offer,走向升职、跳槽、涨薪、赢娶白富美之路!

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

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

相关文章

【SSH+X11】VsCode使用Remote-SSH在远程服务器的docker中打开Rviz

🚀今天来分享一下通过VsCode的Remote-SSH插件在远程服务器的docker中打开Rviz进行可视化的方法。 具体流程如下图所示,在操作开始前,请先重启设备,排除之前运行配置的影响: ⭐️ 我这里是使用主机连接服务器&#xff…

iPhone 17 Air基本确认,3个大动作

近段时间,果粉圈都在讨论一个尚未发布的新品:iPhone 17 Air,苹果又要来整新活了。 从供应链消息来看,iPhone 17 Air本质上是Plus的替代品,主要是在维持“大屏”这一卖点的同时,增加了“轻薄”属性&#xff…

浅析OCR技术与大模型的深度融合—中安未来OCR产品优势及前景探索

OCR(光学字符识别)技术作为一种文本识别工具,已在文档管理、自动化办公和图书数字化等领域发挥了重要作用。然而,随着深度学习和大语言模型(LLM)的迅猛发展,OCR技术迎来了新的机遇和挑战。如今&…

Android四大组件——Activity(二)

一、Activity之间传递消息 在&#xff08;一&#xff09;中&#xff0c;我们把数据作为独立的键值对进行传递&#xff0c;那么现在把多条数据打包成一个对象进行传递&#xff1a; 1.假设有一个User类的对象&#xff0c;我们先使用putExtra进行传递 activity_demo06.xml <…

STM32G4系列MCU双ADC多通道数据转换的应用

目录 概述 1 STM32Cube配置项目 1.1 基本参数配置 1.1.1 ADC1参数配置 1.1.2 ADC2参数配置 1.2 项目软件架构 2 功能实现 2.1 ADC转换初始化 2.2 ADC数据组包 3 测试函数 3.1 Vofa数据接口 3.2 输入数据 4 测试 4.1 ADC1 通道测试 4.2 ADC2 通道测试 概述 本文…

STM32串口接收与发送(关于为什么接收不需要中断而发生需要以及HAL_UART_Transmit和HAL_UART_Transmit_IT的区别)

一、HAL_UART_Transmit和HAL_UART_Transmit_IT的区别 1. HAL_UART_Transmit_IT&#xff08;非阻塞模式&#xff09;&#xff1a; HAL_UART_Transmit_IT 是非阻塞的传输函数&#xff0c;也就是说&#xff0c;当你调用 HAL_UART_Transmit_IT 时&#xff0c;它不会等到数据完全发…

constexpr、const和 #define 的比较

constexpr、const 和 #define 的比较 一、定义常量 constexpr 定义&#xff1a;constexpr用于定义在编译期可求值的常量表达式。示例&#xff1a;constexpr int x 5;这里&#xff0c;x的值在编译期就确定为5。 const 定义&#xff1a;const表示变量在运行期间不能被修改&…

BMS电池管理系统

一.项目简介 1.该项目是基于BQ7692003PWR STM32F103C8T6研发的一块锂电池控制板&#xff0c;本控制板可供五串18650锂电池&#xff08;目前软件仅支持三元锂类型&#xff0c;标称电压为4.2V&#xff09;串联使用&#xff0c;电芯均衡采用被动均衡方式 二.本项目功能 1.监控任…

Milvus向量数据库01-基础概念

Milvus向量数据库01-基础概念 Zilliz Cloud 集群由全托管 Milvus 实例及相关计算资源构成。您可以在 Zilliz Cloud 集群中创建 Collection&#xff0c;然后在 Collection 中插入 Entity。Zilliz Cloud 集群中的 Collection 类似于关系型数据库中的表。Collection 中的 Entity …

【OpenCV】模板匹配

理论 模板匹配是一种在较大图像中搜索和查找模板图像位置的方法。为此&#xff0c;OpenCV 带有一个函数 cv.matchTemplate&#xff08;&#xff09; 。它只是在输入图像上滑动模板图像&#xff08;如在 2D 卷积中&#xff09;&#xff0c;并比较模板图像下的模板和输入图像的补…

深入解析下oracle的number底层存储格式

oracle数据库中&#xff0c;number数据类型用来存储数值数据&#xff0c;它既可以存储负数数值&#xff0c;也可以存储正数数值。相对于其他类型数据&#xff0c;number格式的数据底层存储格式要复杂得多。今天我们就详细探究下oracle的number底层存储格式。 一、环境搭建 1.…

MySQL Binlog 日志监听与 Spring 集成实战

MySQL Binlog 日志监听与 Spring 集成实战 binlog的三种模式 MySQL 的二进制日志&#xff08;binlog&#xff09;有三种常见的格式&#xff1a;Statement 模式、Row 模式和Mixed 模式。每种模式的设计目标不同&#xff0c;适用于不同的场景&#xff0c;以下是它们的详细对比和…

Vmware Vcenter7.0证书web续期发生错误

1. 故障描述 vSphere Client 版本 7.0.2.00200 vCenter _MACHINE_CERT快到期了&#xff0c;通过web界面更新证书失败 第一步先这样&#xff0c;重新续订一下证书 续订发生错误 2. 解决办法 2.1. 前提工作 登陆ssh到vcenter&#xff0c;重新生成证书 先关掉HA&#xff…

Oracle报错ORA-01653: 表xx无法通过 8192在表空间中扩展

向Oracle 19g数据库中批量插入数据&#xff0c;当插入近2亿条数据后&#xff0c;报出如下错误&#xff1a; ORA-01653: 表xx无法通过 8192 (在表空间 xx_data 中) 扩展 查看表空间&#xff0c;发现表空间大小已达到32G&#xff0c;表空间无法进行自动扩展了。&#xff08;初始…

数据结构(3)单链表的模拟实现

上一节我们进行了数据结构中的顺序表的模拟式现&#xff0c;今天我们来实现一下另外一个数据结构&#xff1a;单链表。 我们在实现顺序表之后一定会引发一些问题和思考&#xff1a; 1.顺序表在头部和中间插入数据会用到循环&#xff0c;时间复杂O&#xff08;N&#xff09; …

如何高效的向AI大模型提问? - 提示工程Prompt Engineering

大模型的输入&#xff0c;决定了大模型的输出&#xff0c;所以一个符合要求的提问Prompt起到关键作用。 以下是关于提示工程Prompt Engineering主要方法的详细表格&#xff0c;包括每种方法的优点、缺点、应用场景以及具体示例&#xff1a; 主要方法优点缺点应用场景示例明确性…

python正则化表示总结

1.字符 总结&#xff1a; .匹配除“\n”以外的所有字符[…]字符集&#xff0c;…为所给出的范围&#xff0c;如&#xff1a;[a-zA-Z]表示逐个列出所有字符&#xff0c;[0-9]表示逐个列出所有数字[^…]^表示取反&#xff0c;如 [^0-9] 等同于出数字以外所有字符[…]并[…]也可…

BlueOS安装与DVL插件安装

我的blueos端又进不去了&#xff0c;查了查原因SD卡竟然裂开了&#xff01;故重新下载附步骤&#xff1a; 官方网址&#xff1a;BlueOS Documentation DVL插件安装参考&#xff1a;Water Linked DVL A50 Support - Third Party Products / Sonar and Acoustics - Blue Roboti…

学者观察 | Web 3.0生态治理及其安全——北京交通大学副教授李超

导语 李超教授认为Web 3.0中无论是链上治理还是链下治理都有其优劣。链下治理机制更侧重于社区广泛参与和讨论&#xff0c;过程较为繁琐&#xff0c;但能够形成广泛的社区支持和参与&#xff0c;增强决策的合法性和接受度&#xff1b;链上治理机制通过直接在区块链上执行决策&…

C++实现排序算法:冒泡排序

目录 前言 冒泡排序性质 C代码实现冒泡排序 冒泡图解 第一趟排序 第二趟排序 第三趟排序 排序结果 结语 前言 冒泡排序的基本思想是通过从前往后&#xff08;从后往前&#xff09;两两比较&#xff0c;若为逆序&#xff08;即arr[i] < arr[i 1]&#xff09;则交换…