1110道Java面试题及答案(最新Java初级面试题大汇总)
开篇小叙
现在 Java 面试可以说是老生常谈的一个问题了,确实也是这么回事。面试题、面试宝典、面试手册......各种 Java 面试题一搜一大把,根本看不完,也看不过来,而且每份面试资料也都觉得 Nice,然后就开启了收藏之路。
Java 开发者应该是不会很容易满足的,现在拿着 20K 的工作,下一步就想着拿 50K 的 offer,甚至年薪百万都是程序员很常见的,不满足于现状,身在其位就要有担当其位的能力,不断提升技能、技术栈,都是必不可少的!
其实很多人,对本身没有一个清楚的规划,甚至不知道适合什么路线,这样的话,你就会离心仪的 offer 越来越远!无论何时,都需要对自身有一个清楚的认知,你会提前规划一下自己的学习路线吗?
那么我这次写这个的意义何在呢?不妨停下来,来看一下。可以更加系统、有条理地去复习,备战金三银四。有以下目的:
-
可以通过一个体系进行复习,解决不知从哪里看起,如何下手?
-
建立起一个系统的复习体系,每个知识点都是独立且有联系的?
-
回顾并总结各大厂常考面试点,从自己的实际出发,了解差距在哪?
当然除了这些还有一部分很漂亮的学习资料,总结得很全面的,包含了 29 个知识点,从基础到进阶都有了!篇幅限制就展示了部分内容,需要完整版麻烦一键三连+评论,然后添加 VX(bjmsb15)即可免费领取
Java 基础
1.JAVA 中的几种数据类型是什么,各自占用多少字节。
2.String 类能被继承吗,为什么。
3. 两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗?
4. String 属于基础的数据类型吗?
5.Java 中操作字符串都有哪些类?它们之间有什么区别?
6.Java 中 IO 流分为几种?
7.BIO、NIO、AIO 有什么区别?
8.用过哪些 Map 类,都有什么区别,HashMap 时线程安全的吗,并发下使用的 Map 是什么,他们的内部原理分别是什么,比如存储方法,hashcode,扩容,默认容量等。
9. 如何将字符串反转?
10.抽象类必须要有抽象方法吗?
11.普通类和抽象类有哪些区别?
12.抽象类能使用 final 修饰吗?
13.ArrayList 和 LinkedList 有什么区别?
14.ConcurrentHashMap 的数据结构(必考)
15.volatile 作用(必考)
16.Atomic 类如何保证原子性(CAS 操作)(必考)
17.为什么要使用线程池(必考)
Redis
Redis 的应用场景
Redis 支持的数据类型(必考)
zset 跳表的数据结构(必考)
Redis 的数据过期策略(必考)
Redis 的 LRU 过期策略的具体实现
如何解决 Redis 缓存雪崩,缓存穿透问题
Redis 的持久化机制(必考)
Redis 为什么是单线程的?
什么是缓存穿透?怎么解决?
Redis 持久化有几种方式?
Redis 为什么这么快?(必考)
Redis 怎么实现分布式锁?
Redis 如何做内存优化?
Redis 淘汰策略有哪些?
Redis 常见的性能问题有哪些?该如何解决?
Redis 的使用要注意什么?
ZooKeeper
-
CAP 定理
-
ZAB 协议
-
leader 选举算法和流程
-
zookeeper 是什么?
-
zookeeper 有几种部署模式?
-
zookeeper 怎么保证主从节点的状态同步?
Mysql
事务的基本要素
事务隔离级别(必考)
如何解决事务的并发问题(脏读,幻读)(必考)
MVCC 多版本并发控制(必考)
binlog,redolog,undolog 都是什么,起什么作用
InnoDB 的行锁/表锁
myisam 和 innodb 的区别,什么时候选择 myisam
为什么选择 B+树作为索引结构(必考)
索引 B+树的叶子节点都可以存哪些东西(必考)
查询在什么时候不走(预期中的)索引(必考)
sql 如何优化
explain 是如何解析 sql 的
order by 原理
JVM
运行时数据区域(内存模型)(必考)
垃圾回收机制(必考)
垃圾回收算法(必考)
Minor GC 和 Full GC 触发条件
GC 中 Stop the world(STW)
各垃圾回收器的特点及区别
双亲委派模型
JDBC 和双亲委派模型关系
JVM 中一次完整的 GC 流程是什么样子的,对象如何晋升到老年代,说说你知道的几种主要的 JVM 参数
Spring
Spring 的 IOC/AOP 的实现(必考)
动态代理的实现方式(必考)
Spring 如何解决循环依赖(三级缓存)(必考)
Spring 的后置处理器
Spring 的 @Transactional 如何实现的(必考)
Spring 的事务传播级别
BeanFactory 和 ApplicationContext 的联系和区别
其他
-
高并发系统的限流如何实现
-
高并发秒杀系统的设计
-
负载均衡如何设计
操作系统篇
-
进程和线程的区别
-
进程同步的几种方式
-
线程间同步的方式
-
什么是缓冲区溢出。有什么危害,其原因是什么
-
进程中有哪几种状态
-
分页和分段有什么区别
多线程篇
-
多线程的几种实现方式,什么是线程安全
-
volatile 的原理,作用,能代替锁吗?
-
sleep 和 wait 的区别
-
sleep(0)的意义
-
Lock 和 Synchronized 的区别
-
synchronized 的原理是什么,一般用在什么地方(比如加载静态方法和非静态方法的区别)
补充
另外还会考一些计算机网络之类的。像消息队列,RPC 框架这种考的比较少。计算机网络就是分层啊,tcp/udp 啊,三次握手之类的。操作系统就是进程与线程啊,进程的数据结构以及如何通信之类的。
数据结构的排序算法也比较常考,考的话一定会让你手写个快排。剩下的算法题就靠 LeetCode 的积累了。其实非算法岗考的算法题都蛮简单的,很多题完全就是考察你智力是否正常,稍微难点的涉及到一些算法思想的按照 LeetCode 题目类型的分类,每种题做一两道基本就能完全应付面试了。
接下来,就要跟大家分享数据结构与算法的笔记了!
数据结构与算法笔记
动态规划设计
数据结构系列
算法思维系列
高频面试题系列
计算机技术
最后
面试是跳槽涨薪最直接有效的方式,马上金三银四来了,各位做好面试造飞机,工作拧螺丝的准备了吗?
掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击 9999 点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。
相关文章:

1110道Java面试题及答案(最新Java初级面试题大汇总)
开篇小叙 现在 Java 面试可以说是老生常谈的一个问题了,确实也是这么回事。面试题、面试宝典、面试手册......各种 Java 面试题一搜一大把,根本看不完,也看不过来,而且每份面试资料也都觉得 Nice,然后就开启了收藏之路…...

DML 添加、修改、删除数据
目录 DML 一、添加数据 1、给指定字段添加数据 2、给全部字段添加数据 3、批量添加数据 二、修改数据 三、删除数据 DML DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。 一、添加数据 1、给指定字…...

千川投放50问(完)!如何跑出高投产?
第四十一问:计划初期成本很高,是否要关掉重新跑?首先看一下是不是初期回传延迟导致的成本偏高。如果成本没有高的,不建议暂停,先观察一段时间数据,给它一点学习时间。当系统积累过足够的模型之后࿰…...

每日学术速递3.10
CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.RO 1.Diffusion Policy: Visuomotor Policy Learning via Action Diffusion 标题:扩散策略:通过动作扩散进行视觉运动策略学习 作者:Cheng Chi, Si…...
[C/C++]_[初级]_[声明和使用字符串常量和字节常量]
场景 我们需要存储常量的字节数组,并且数组里的字节数据可以是任意数值0-255。怎么存储? 说明 任意字节数组可以使用char或者unsigned char作为数据类型。比如以下的字符串声明。这种字符串数据可以通过strlen(buf)来计算它的长度,它会遇到…...

解Bug之路-Nginx 502 Bad Gateway
前言 事实证明,读过Linux内核源码确实有很大的好处,尤其在处理问题的时刻。当你看到报错的那一瞬间,就能把现象/原因/以及解决方案一股脑的在脑中闪现。甚至一些边边角角的现象都能很快的反应过来是为何。笔者读过一些Linux TCP协议栈的源码…...

目标检测 pytorch复现R-CNN目标检测项目
目标检测 pytorch复现R-CNN目标检测项目1、R-CNN目标检测项目基本流程思路2、项目实现1 、数据集下载:2、车辆数据集抽取3、创建分类器数据集3、微调二分类网络模型4、分类器训练5、边界框回归器训练6、效果测试目标检测 R-CNN论文详细讲解1、R-CNN目标检测项目基本…...

荧光染料IR-825 NHS,IR825 NHS ester,IR825 SE,IR-825 活性酯
IR825 NHS理论分析:中文名:新吲哚菁绿-琥珀酰亚胺酯,IR-825 琥珀酰亚胺酯,IR-825 活性酯英文名:IR825 NHS,IR-825 NHS,IR825 NHS ester,IR825 SECAS号:N/AIR825 NHS产品详…...

利用Postman的简单运用解决小问题的过程
这几天在修改一个前后端分离的商城项目。项目前端向后端发出数据请求之后,收到的却是504网关超时错误。 但是控制台却不止报错了网关超时,还有跨域请求的问题: 根本搞不清是哪个问题导致了另外一个问题还是独立的两个问题。 直接点击网址访…...

【C语言】8道经典指针笔试题(深度解剖)
上一篇我们也介绍了指针的笔试题,这一篇我们趁热打铁继续讲解8道指针更有趣的笔试题,,让大家更加深刻了解指针,从而也拿下【C语言】指针这个难点! 本次解析是在x86(32位)平台下进行 文章目录所需储备知识笔…...

操作系统内核与安全分析课程笔记【2】进程管理与调度
文章目录基本概念与关键数据结构进程管理进程生命周期进程的关系进程家族树线程组进程组与会话进程的创建与终止Linux中的线程基本概念与关键数据结构 进程:静态的,存储在磁盘上的代码与数据。 程序:动态的,执行程序的动态过程&am…...

看完书上的栈不过瘾,为什么不动手试试呢?
一.栈的基本概念1.栈的定义栈(Stack):是只允许在一端进行插入或删除的线性表。首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。其中注意几点:栈顶(Top):线性表…...

AbstractQueuedSynchronizer从入门到踹门
概念设计初衷:该类利用 状态队列 实现了一个同步器,更多的是提供一些模板方法(子类必须重写,不然会抛错)。 设计功能:独占、共享模式两个核心,state、Queue2.1 statesetState、compareAndSetSta…...
【项目实战】手把手教你Dubbo微服务架构中整合熔断限流组件Sentinel
一、背景 项目中需要引入Sentinel来实现限流,但是项目是基于Dubbo的微服务架构,我们都知道Sentinel是属于SpringCloudAlibaba组件下的限流中间件,基于Dubbo的微服务架构真的能够引入 Sentinel吗?带着疑惑的心情,实践了一把~ 二、使用说明 2.1 引入依赖文件 <!-- Se…...

图像主题颜色提取(Median cut)
前言 之前想对图片素材进行分类管理,除了打标签,还有一样是通过主题色进行分类。于是开始寻找能提取主主题色的工具,最后找到了大名鼎鼎的 Leptonica 库,其中就有中位切割算法的实现。下面附上中位切割算法的其它语言版本的实现。…...

Python 分支结构
Python 分支结构 应用场景 迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构。然而仅有顺序结构并不能解决所有的问题,比如我们设计一个游戏,游戏第一关的通关条件是玩家获得1000分&#x…...

【C++知识点】文件操作
✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📚专栏地址:C/C知识点 📣专栏定位:整理一下 C 相关的知识点,供大家学习参考~ ❤️如果有收获的话,欢迎点赞👍…...

VBA小模板,跨表统计的2种写法
目标 1 统计一个excel 文件里,多个sheet里的内容2 有的统计需求是,每个表只单表统计,只是进行批量操作3 有的需求是,多个表得某些行列累加等造出来得文件 2 实现方法1 (可能只适合VBAEXCEL,不太干净的写法…...
部署问题 | 百度LAC安装部署清单
本项目实现基于LAC提供RESTAPI服务的最小化方案。 依赖: python-3.9.9 百度lac2.X fastAPI uvicorn 首先下载并安装python,本人选择3.9版本。 依次安装: 安装 vc vc_redist.x64.exe 64位:https://download.microsoft.com/…...

提高办公效率的免费网站有哪些
收藏一些免费好用的网站,在我们工作中需要用到的时候可以直接使用,提高我们的工作效率。小编就和大家分享10个可以提高我们办公效率的免费网站。 1.羽兔网软件下载-以设计类软件为主的免费软件下载网站 很多小白都不知道怎么下载软件,往往搜…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...

如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...