八股文知识汇总(常考)

八股文知识汇总(常考)

语言特性相关

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?

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

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

相关文章

注册建造师执业工程规模标准(房屋建筑工程)

注册建造师执业工程规模标准&#xff08;房屋建筑工程&#xff09;序号工程类别项目名称单位规 模备 注大型中型小型1 一般房屋建筑工程工业、民用与公共建筑工程层≥255&#xff5e;25<5建筑物层数米≥10015&#xff5e;100<15建筑物高度米≥3015&#xff5e;30&l…

C++ | Leetcode C++题解之第405题数字转换为十六进制数

题目&#xff1a; 题解&#xff1a; class Solution { public:string toHex(int num) {if (num 0) {return "0";}string sb;for (int i 7; i > 0; i --) {int val (num >> (4 * i)) & 0xf;if (sb.length() > 0 || val > 0) {char digit val …

Codeforces Round 299 (Div. 2) B. Tavas and SaDDas(组合数学)

题目链接&#xff1a;题目 大意&#xff1a; 给出一个“幸运数”&#xff0c;每一位都是4或7&#xff0c;问这是从1开始第几个幸运数。 思路&#xff1a; 直接暴力数复杂度太高&#xff0c;实际上就是看有多少种4和7组合。当然数组合也不能乱数&#xff0c;为了思路清晰我是…

Iptables命令常用命令

前言:下是一些非常实用的 iptables 命令合集&#xff0c;涵盖网络攻击防护和日常网络安全防护 1. 查看当前规则 iptables -L -v -n查看现有的所有规则&#xff0c;-v 显示详细信息&#xff0c;-n 禁止解析IP地址和端口以加快显示速度。 2. 清空所有规则 iptables -F清除所有已…

JDBC实现对单表数据增、删、改、查

文章目录 API介绍获取 Statement 对象Statement的API介绍使用步骤案例代码 JDBC实现对单表数据查询ResultSet的原理ResultSet获取数据的API使用JDBC查询数据库中的数据的步骤案例代码 API介绍 获取 Statement 对象 在java.sql.Connection接口中有如下方法获取到Statement对象…

运维工程师面试整理-操作系统

在运维工程师的面试中,操作系统相关的知识通常是重中之重,尤其是Linux/Unix系统。以下是针对操作系统部分的一些详细内容,帮助你更好地准备面试。 1. Linux/Unix 基础 ● 常用命令 ○ 文件和目录管理:ls, cd, cp, mv, rm, mkdir, rmdir, find, grep, awk, sed

汽车电子笔记之-013:旋变硬解码ADI芯片AD2S1210使用记录(从零开始到软件实现)

目录 1、概述 2、技术规格 3、芯片引脚 4、旋变信号格式 5、使用过程只是要点分析 5.1、程序注意点分析 5.1.1、SPI配置时序 5.1.2、问题一&#xff1a;SPI时序问题 5.1.3、问题二&#xff1a;SPI读取时序&#xff08;配置模式&#xff09; 5.1.4、问题三&#xff1a…

削峰+限流:秒杀场景下的高并发写请求解决方案

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 哈喽,大家好!我是小米,一个29岁、活泼积极、热衷分享技术的码农。今天和大家聊一聊应对高并发的写请求这个主题,尤其是在大促、秒杀这种场景下,系统…

vulnhub(8):pWnOS(还没信息收集就已经成功打点)

端口 nmap主机发现 nmap -sn 192.168.89.0/24 ​ Nmap scan report for 192.168.89.116 Host is up (0.00020s latency). ​ 116是新出现的机器&#xff0c;他就是靶机 nmap端口扫描 nmap -Pn 192.168.89.116 -p- --min-rate 10000 -oA nmap/scan 扫描开放端口保存到 nmap/sca…

手势开关灯

太久没水&#xff0c;那可不行。今日又来写一段专业程序员看了也皱眉的垃圾全屋智能雏形代码。应该是笑掉大牙级别吧。下面进入正题。首先思路就是通过cvzone那个手势识别&#xff0c;判断开关灯指令。接下来是通过mqtt局域网里发布一下&#xff08;注意打开防火墙&#xff09;…

非线性规划及其MATLAB实现

目录 引言 非线性规划的基本模型 非线性规划的求解方法 非线性规划的MATLAB实现 例子&#xff1a;多目标优化问题的非线性规划求解 表格总结&#xff1a;MATLAB常用非线性规划函数 实例&#xff1a;使用MATLAB求解非线性投资决策问题 结论 引言 非线性规划&#xff08;…

【STM32系统】基于STM32设计的智能垃圾桶(语音、颜色识别、称重、光强、烟雾、人体识别、步进电机、水泵)——文末资料下载

基于STM32设计的智能垃圾桶 演示视频: 基于STM32设计的智能垃圾桶 功能简介: 四个按键可分别打开四个垃圾桶(可回收垃圾、厨余垃圾、有害垃圾、其他垃圾) oled显示屏显示四个垃圾桶的打开/关闭状态、烟雾浓度、光照强度、称重的重量和识别到的颜色(白色、红色、绿色、蓝…

ES6解构赋值详解;全面掌握:JavaScript解构赋值的终极指南

目录 全面掌握&#xff1a;JavaScript解构赋值的终极指南 一、数组解构赋值 1、基本用法 2、跳过元素 3、剩余元素 4、默认值 二、对象解构赋值 1、基本用法 2、变量重命名 3、默认值 4、嵌套解构 三、复杂的嵌套结构解构 四、函数参数解构赋值 1、对象解构作为函…

C/C++实现植物大战僵尸(PVZ)(打地鼠版)

&#x1f680;欢迎互三&#x1f449;&#xff1a;程序猿方梓燚 &#x1f48e;&#x1f48e; &#x1f680;关注博主&#xff0c;后期持续更新系列文章 &#x1f680;如果有错误感谢请大家批评指出&#xff0c;及时修改 &#x1f680;感谢大家点赞&#x1f44d;收藏⭐评论✍ 游戏…

2022高教社杯全国大学生数学建模竞赛C题 问题一(1) Python代码演示

目录 问题 11.1 对这些玻璃文物的表面风化与其玻璃类型、纹饰和颜色的关系进行分析数据探索 -- 单个分类变量的绘图树形图条形图扇形图雷达图Cramer’s V 相关分析统计检验列联表分析卡方检验Fisher检验绘图堆积条形图分组条形图分类模型Logistic回归随机森林import matplotlib…

GAN的损失函数和二元交叉熵损失的对应及代码

以下解释为GPT生成 这里有个问题&#xff0c;使用二元交叉熵&#xff0c;的时候生成器的损失如何体现 看代码 import torch import torch.nn as nn import torch.optim as optim# 设置设备为GPU或CPU device torch.device("cuda" if torch.cuda.is_available() el…

EndnoteX9安装及使用教程

EndnoteX9安装及使用教程 一、EndNote安装 1.1 下载 这里提供一个下载链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1RlGJksQ67YDIhz4tBmph6Q 提取码&#xff1a;5210 解压完成后&#xff0c;如下所示&#xff1a; 1.2 安装 双击右键进行安装 安装比较简单…

[Web安全 网络安全]-文件读取与下载漏洞

文章目录&#xff1a; 一&#xff1a;任意文件读取漏洞 1.定义 2.危害 3.产生原因 4.发现漏洞 5.利用漏洞 6.防范措施 7.读取漏洞举例 二&#xff1a;任意文件下载漏洞 1.定义 2.漏洞利用 3.漏洞挖掘 4.漏洞验证 5.漏洞防御修复 pikachu靶场&#xff1a;是一个…

【C++11 —— 线程库】

C11 —— 线程库 thread类介绍线程函数参数原子性操作库(atomic)lock_guard与unique_lockmutex的种类lock_guardunique_lock 两个线程交替打印奇偶数 thread类介绍 在C11之前&#xff0c;涉及到多线程的问题&#xff0c;都是和平台相关的&#xff0c;比如windows和Linux下各有…

AI 时代程序员的应变之道

一、AI 浪潮来袭&#xff0c;编程界风云变幻 随着 AIGC 大语言模型如 ChatGPT、Midjourney、Claude 等的涌现&#xff0c;AI 辅助编程工具日益普及&#xff0c;程序员的工作方式正经历着深刻的变革。 分析公司 OReilly 日前发布的《2023 Generative AI in the Enterprise》报告…