当前位置: 首页 > news >正文

八股文知识汇总(常考)

八股文知识汇总(常考)

语言特性相关

JAVA知识

- JDK动态代理为什么只能代理有接口的类?

  • 说一下对象创建的过程?
  • ThreadLocal是什么?他的实现原理是什么?
  • ThreadLocal会出现内存泄露吗?
  • String、StringBuilder和StringBuffer的区别
  • 为什么重写equals方法必须重写hashCode方法?
  • JAVA反射的优缺点?

集合相关

  • HashMap如何解决哈希冲突?
  • HashMap中的hash方法为什么要右移16位异或?
  • ConcurrentHashMap底层实现原理
  • ConcurrentHashMap的size()方法是线程安全的吗?
  • HashMap什么时候扩容?为什么扩容?
  • 为什么ConcurrentHashMap中的key不允许为null?
  • HashMap与Hashtable的区别?
  • 为什么HashMap会产生死循环?
  • ConcurrentHashMap是如何保证线程安全的?
  • ArrayList的自动扩容机制?

JVM相关

  • 谈谈对JVM的理解?
  • 什么是双亲委派机制?
  • 如何破坏双亲委派模型?
  • JVM如何判断一个对象可以被回收?
  • G1垃圾器的原理,为什么低时延?
  • JVM分代年龄为什么是15次?可以是25次吗?
  • JVM为什么使用元空间替代了永久代?
  • 常见的垃圾回收器介绍
  • 说一下CMS垃圾回收器的回收原理?
  • JVM中一次完整的GC流程是什么样的?对象如何晋升到老年代?

多线程与并发

  • 谈一下CAS机制(CompareAndSwap)
  • ReentrantLock的实现原理?
  • 简单说一下你对线程池的理解?
  • 如何中断一个正在运行的线程?
  • 为什么引入偏向锁、轻量级锁?介绍下升级流程。
  • 请谈谈AQS是怎么一回事?
  • ReentrantLock是如何实现锁的公平与非公平性的?
  • 谈谈你对CompletableFeature的理解?
  • 线程状态下,Blocked与Wait有什么区别?
  • Thread与Runnable的区别?
  • wait和sleep是否会触发锁的释放与CPU资源的释放?
  • AQS为什么使用双向链表?
  • 讲下线程池的线程回收。
  • 如果一个线程调用两次start方法,会出现什么问题?
  • JAVA官方提供了几种线程池?分别有什么特点?
  • 请说一下你对happen-before的理解?
  • 线程池是如何实现线程复用的?
  • 当任务数超过线程数的核心线程数时,如何让他不进入队列,而是直接启用最大线程数?
  • 并行与并发的区别
  • wait和notify为什么要在sync代码块里面?

IO相关

  • IO和NIO的区别?
  • 什么是IO的多路复用机制?
  • JAVA中有几种文件拷贝方式?哪种最高效?
  • select与epoll的区别?

数据结构

  • B树与B+树的理解

数据库相关

  • MySQL性能调优
    • 硬件及操作系统层面优化
    • 架构设计层面优化
    • 程序配置优化
    • SQL优化
  • 谈谈对MVCC的理解,MVCC的过程中会加锁吗?
  • 关于索引的底层实现,为什么选用B+树,不用红黑树?
  • MySQL数据库CPU飙升怎么解决?
  • binlog与redolog有什么区别?
  • innoDB如何解决幻读?
  • 说一说MySQL的事务隔离机制?
  • 数据库连接池有什么用?它有哪些关键参数?
  • 说一下MySQL索引的优点与缺点?
  • MySQL事务的实现原理?
  • 说一下你对行锁、临键锁、间隙锁的理解?
  • 索引为什么失效?
  • MySQL中MyISAM和InnoDB引擎的区别?
  • 说一下对InnoDB中索引数据结构的理解?

网络相关

  • 谈一下网络四元组
  • TCP为什么要设计三次握手?
  • 简单说一下对序列化、反序列化的了解
  • Cookie与Session的区别?

操作系统

  • 死锁发生的原因和怎么避免?

常见框架

Spring相关

  • Spring Bean生命周期的执行过程?
  • Spring是如何解决循环依赖的?
  • Spring中事务的传播行为有哪些?
  • Spring中bean的作用域有哪些?
  • Spring中有哪些方式可以把Bean注入到IOC容器?
  • Spring中的BeanFactory和FactoryBean的区别?
  • 介绍下Spring IoC的工作流程?
  • Spring中有两个id相同的bean会报错吗?在哪个阶段报错?
  • Spring里的事务与分布式里的事务如何区分?以及这两个事务里面有什么关联?
  • Spring中的bean是线程安全的吗?
  • 谈谈你对Spring中bean的理解。
  • Spring中bean的生命周期?
  • Spring为什么需要三级缓存解决循环依赖,而不是二级缓存?
  • Spring AOP的原理?

SpringBoot相关

  • SpringBoot自动装配原理是什么?
  • 如何理解SpringBoot中的starter?
  • SpringBoot如何解决跨域问题?

SpringCloud相关

  • 谈谈对SpringCloud的理解?

Dubbo相关

  • 什么是Dubbo?它有哪些核心功能?
  • Dubbo负载均衡的几种策略是什么?
  • Dubbo的工作原理是什么?
  • Dubbo与SpringCloud的区别?
  • Dubbo是如何动态感知服务下线的?

MyBatis相关

  • 说一说MyBatis里面的缓存机制?
  • MyBatis如何实现分页?
  • MyBatis何时使用1级缓存,何时使用2级缓存?

Eureka相关

  • Eureka Server数据同步原理介绍一下?
  • Dubbo与Eureka的优缺点对比?

中间件相关

  • Redis与MySQL如何保证数据一致性?
  • Zookeeper和Redis用于实现分布式锁,哪种更好?
  • 谈谈对Redis的理解
  • 关于你对Zookeeper的理解?
  • 介绍一下对Netty的认识?
  • 请说一下Netty中的reactor模式?
  • Redis的内存淘汰算法与原理是什么?
  • Kafka如何保证消息不丢失?
  • Kafka如何保证消息的顺序性?
  • Kafka怎么避免重复消费?
  • Kafka中partition分区副本的leader选举算法?
  • Kafka中一个topic有3个partition,同一个消费组中2个消费者怎么消费?
  • 什么是ISR?为什么要引入ISR?
  • ZK中的watch机制?
  • Redis存在线程安全问题吗?
  • Redis多线程模型如何理解?会有线程安全问题吗?
  • RDB和AOF的实现原理及优缺点?
  • 请描述一下Redis中AOF的重写过程?
  • ZK是如何实现Leader的选举的?
  • Redis的哨兵机制与集群有什么区别?
  • Redis中的哨兵选举算法是怎么实现的?
  • Redis主动复制的原理?
  • Redis遇到哈希冲突怎么办?
  • Redis主从数据一致性怎么保证的?
  • Redis sentinel集群与cluster集群有什么区别?
  • 为什么Redis的最大槽数是16384个?
  • 如何处理消息队列的消息堆积问题?

架构相关

  • 什么是服务网格
  • RPC相关
    • 什么是远程调用?
    • 什么是RPC?
    • RPC的运用场景和优势?
  • RPC与HTTP协议的差异?
  • 分布式事务的原理
  • 什么是负载均衡?
  • 什么是消息队列?
  • 说一下对分布式锁的理解,以及分布式锁的实现。
  • 常见的限流算法有哪些?
  • 谈谈你对一致性哈希算法的理解?
  • 说一下对分布式与微服务的理解?
  • 谈谈常用的分布式ID设计方案?
  • 谈谈对CAP的理解?
  • 服务注册中心应该是CP还是AP?

相关文章:

八股文知识汇总(常考)

八股文知识汇总(常考) 语言特性相关 JAVA知识 - JDK动态代理为什么只能代理有接口的类? 说一下对象创建的过程?ThreadLocal是什么?他的实现原理是什么?ThreadLocal会出现内存泄露吗?String、…...

unity 图片置灰shader

我和chatgpt真强! 在 Unity 编辑器中,右键点击 Assets 文件夹,选择 Create -> Shader -> Unlit Shader。shader代码如下,尽管我看的不是很懂,但确实有用 Shader "Custom/GrayScaleShader" {Properti…...

【C语言】(指针系列2)指针运算+指针与数组的关系+二级指针+指针数组+《剑指offer面试题》

前言:开始之前先感谢一位大佬,清风~徐~来-CSDN博客,由于是时间久远,博主指针的系列忘的差不多了,所以有些部分借鉴了该播主的,有些地方如果解释的不到位,请翻看这位大佬的,感谢大家&…...

探索信号处理:使用傅里叶小波变换分析和恢复信号

在现代信号处理领域,傅里叶变换是分析和处理信号的一种基本工具。然而,传统的傅里叶变换在处理非平稳信号时存在局限性,因为它无法同时提供时间和频率的信息。为了克服这一挑战,傅里叶小波变换(FSWT)应运而…...

俄罗斯方块——C语言实践(Dev-Cpp)

目录 1、创建项目(尽量不使用中文路径) 2、项目复制 3、项目配置 ​1、调整编译器 2、在配置窗口选择参数标签 3、添加头文件路径和库文件路径 4、代码实现 4.1、main.c 4.2、draw.h 4.3、draw.c 4.4、shape.h 4.5、shape.c 4.6、board.h 4.7、board.c 4.8、cont…...

关于wp网站出现的问题

问题1 问题1:如果出现这个界面的问题 说明是根目录的index.php编码出了问题,用备份的源文件退换一下即可。 问题2 问题2:如果出现页面错位现象,可能是某个WP插件引起的问题,这里需要逐步排查插件,或者你刚…...

为什么H.266未能普及?EasyCVR视频编码技术如何填补市场空白

H.266,也被称为Versatile Video Coding(VVC),是近年来由MPEG(Moving Picture Experts Group)和ITU(International Telecommunication Union)联合开发并发布的新一代国际视频编码标准…...

最全 高质量 大模型 -评估基准数据集(不定期更新)

评估基准是推动人工智能领域技术进步和应用落地的关键工具,通过这些基准,我们可以更全面地理解LLMs的能力,并指导未来的研究和实践。 评估基准,是一套衡量标准,就像老师用考试来检查学生学得怎么样。在大模型的世界里…...

react 中, navigate 跳转链接 2种写法

react 中, navigate 下面2种写法, 有什么区别, import { useNavigate } from "react-router-dom"; const navigate useNavigate(""); onClick{() > navigate("/signup")}import { Navigate } from "react-route…...

k8s Service 服务

文章目录 一、为什么需要 Service二、Kubernetes 中的服务发现与负载均衡 -- Service三、用例解读1、Service 语法2、创建和查看 Service 四、Headless Service五、集群内访问 Service六、向集群外暴露 Service七、操作示例1、获取集群状态信息2、创建 Service、Deployment3、创…...

安全建设当中的冷门知识

今天说点有趣的话题,也是因为在安全建设过程中,安全员也不太可能都按照最理想的状态去工作,有资源的问题,有管理惰性问题,当然也有管理者本身决策的问题。 安全行业起步较晚,16年才施行网络安全法&#xff…...

python画图|极坐标下的3D surface

前述学习过程中,我们已经掌握了3D surface的基本绘制技巧,详见链接: python画图|3D surface基础教程-CSDN博客 基础教程中的3D surface绘制位于笛卡尔坐标系,但有时候会用到极坐标绘图。虽然我们已经学过简单的极坐标绘图技巧&a…...

html+css+js网页设计 旅游 大理旅游7个页面

htmlcssjs网页设计 旅游 大理旅游7个页面 网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&#…...

Day 29~42 JavaWeb

Java Web 1、基本概念 1.1、前言 web开发: web,网页的意思,www.baidu.com静态web html,css 提供给所有人看的数据始终不会发生变化动态web 淘宝,几乎是所有的网站 提供给所有人看的数据始终会发生变…...

小程序开发设计-第一个小程序:创建小程序项目④

上一篇文章导航: 小程序开发设计-第一个小程序:安装开发者工具③-CSDN博客https://blog.csdn.net/qq_60872637/article/details/142219152?spm1001.2014.3001.5501 须知:注:不同版本选项有所不同,并无大碍。 一、创…...

C++设计模式——Mediator中介者模式

一,中介者模式的定义 中介者模式是一种行为型设计模式。它通过一个中介者对象将多个对象之间的交互关系进行封装,使得对象之间的交互需要通过中介者对象来完成。该设计模式的结构很容易理解,以中介者为中心。 中介者模式的设计思想侧重于在…...

微服务之间远程调用实现思路

项目使用的Spring Cloud Alibaba框架,微服务之间远程调用使用OpenFeign,具体实现步骤如下: (1)在api工程定义OpenFeign接口,使用FeignClient注解进行定义。 (2)服务提供方定义Open…...

获取STM32 MCU的唯一ID

STM32每个系列都会有唯一的一个芯片序列号(96位bit) STM32F10X 的起始地址是 0x1FFFF7E8 STM32F20X 的起始地址是 0x1FFF7A10 STM32F30X 的起始地址是 0x1FFFF7AC STM32F40X 的起始地址是 0x1FFF7A10 STM32L0XX 的起始地址是 0x1FF80050 STM32L1XX 的起…...

Debian项目实战——环境搭建篇

Debian系统安装 准备工作 1、系统镜像:根据自己的需要选择合适的版本格式:x86 / arm 架构 | 最好下载离线安装版本 | 清华镜像源 2、制作工具:balenaEtcher 3、系统媒介:16G以上U盘最佳 烧录镜像 打开balenaEtcher进行烧录&am…...

CenterNet官方代码—目标检测模型推理部分解析与项目启动

CenterNet模型推理部分解析 CenterNet官方代码环境部署 CenterNet作为2019年CVPR推出的论文,论文中给出了官方代码所在的github仓库地址。https://github.com/xingyizhou/CenterNet。 整个代码的代码量并不是特别大,但整个项目的难点在于使用了老版本的…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

GitHub 趋势日报 (2025年06月08日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性&#xf…...