Java实习面试必备:核心知识点全解析
Java实习面试全套知识点标准答案1.1 Java基础重中之重1. 数据类型、 和 equals、String、常量池1Java数据类型分为基本数据类型和引用数据类型基本类型8种存栈内存整数byte(1)、short(2)、int(4)、long(8)浮点float(4)、double(8)字符char(2)布尔boolean(1)引用类型存堆栈存地址类、接口、数组、包装类2 和 equals 区别基本类型比较值是否相等引用类型比较对象内存地址是否相同equals()Object原生实现等价于比较地址String、Integer等重写后比较对象内容值自定义类如需比较内容必须重写equals()配套重写hashCode()3String、字符串常量池String特性不可变底层char数组Java9后byte数组每次修改都会生成新字符串常量池作用复用字符串减少内存开销String s1 abc直接去常量池找有就复用没有新建放入池String s2 new String(abc)先在堆创建对象再去常量池创建/复用栈存堆地址拼接规则常量拼接ab编译期优化为ab走常量池变量拼接s1s2运行时new String不进常量池2. 面向对象封装、继承、多态、接口抽象类区别三大特性封装隐藏对象内部细节对外暴露访问方法privateget/set保证数据安全继承extends子类复用父类代码单继承子类可重写父类方法用super访问父类多态同一方法不同实现两个前提①父类引用指向子类对象 ②方法重写分为编译多态重载、运行多态重写接口 vs 抽象类对比抽象类 abstract class接口 interface继承单继承多实现构造方法有构造供子类调用无构造变量可普通变量、常量只能public static final常量方法普通方法、抽象方法、静态方法Java8前只有抽象8有default/static9私有方法关键字extendsimplements设计思想模板复用is-a行为规范can-do3. 集合ArrayList/LinkedList、HashMap底层数组链表红黑树1ArrayList vs LinkedListArrayList底层动态数组优点随机访问快get(index)O(1)遍历快缺点中间增删需要移动元素效率低初始容量10扩容1.5倍LinkedList底层双向链表优点首尾增删只改指针效率高缺点随机查找必须遍历O(n)查询慢2HashMap底层JDK1.8底层数组 单向链表 红黑树存储单元NodeK,V存hash、key、value、下一个节点指针存储流程计算key的hash值对数组长度取模得到数组下标下标无元素直接放入数组下标有元素哈希冲突链表长度8追加单向链表链表长度≥8 且数组长度≥64链表转为红黑树查询O(logn)优化链表O(n)红黑树节点6退化为链表扩容默认容量16负载因子0.75元素数量超过容量*0.75扩容数组翻倍重新hash迁移元素线程不安全多线程扩容、插入会出现死链、数据丢失并发用ConcurrentHashMap4. 异常体系、IO、线程基础、synchronized、volatile1异常体系Throwable分两大分支Error系统级错误OOM、栈溢出程序无法处理Exception程序可处理异常受检异常编译强制捕获/throwsIO、SQL异常等运行时异常RuntimeException无需强制捕获空指针、数组越界、类型转换异常2IO基础分为BIO、NIO实习掌握BIO即可字节流InputStream/OutputStream处理文件、图片等二进制字符流Reader/Writer处理文本文件自带编码转换装饰器模式BufferedInputStream缓冲流提升读写速度3创建线程4种方式继承Thread类重写run()调用start()启动实现Runnable接口传入Thread构造器推荐避免单继承限制实现CallableFutureTask可获取线程返回值、抛异常线程池Executors生产环境推荐复用线程减少创建销毁开销4synchronized 同步锁作用保证原子性、可见性、有序性解决并发竞争锁对象实例方法锁当前this对象静态方法锁类Class对象代码块手动指定锁对象底层对象头监视器锁偏向锁→轻量级锁→重量级锁锁升级不可降级5volatile核心作用保证可见性、禁止指令重排不保证原子性不能替代锁多线程计数场景失效原理强制变量修改立即刷入主存其他线程缓存失效内存屏障阻止指令重排典型场景状态标记、双重校验锁DCL单例1.2 MySQL数据库必考1. 增删改查、多表联查、子查询基础CRUD-- 增INSERTINTO表(字段)VALUES(值);-- 删DELETEFROM表WHERE条件;-- 改UPDATE表SET字段值WHERE条件;-- 查SELECT字段FROM表WHERE条件;多表联查内连接INNER JOIN只返回两边匹配数据select * from A inner join B on A.idB.a_id左连接LEFT JOIN左表全部右表匹配不到填null右连接RIGHT JOIN右表全部左表匹配不到填null子查询标量子查询返回单个值where后使用表子查询返回多行多列from后当做临时表必须起别名2. 索引、B树、联合索引最左匹配1什么是索引索引是数据库磁盘上的有序数据结构加速查询代价占用存储空间、降低增删改速度维护索引2InnoDB底层B树B树特点所有数据只存在叶子节点非叶子只存索引键层级更低、IO更少叶子节点双向链表串联范围查询极快对比B树B树每个节点存数据IO次数更多范围查询差InnoDB主键索引聚簇索引叶子存完整行数据普通索引二级索引叶子存主键id回表查询完整数据3联合索引最左匹配原则建立索引idx(a,b,c)查询条件从左到右匹配生效场景where a? / where a? and b? / where a? and b? and c?失效场景跳过最左前列直接查b/c索引断裂后面字段失效例where b? and c? 索引完全失效where a? and c? 仅a生效c失效优化等值放前范围查询 like %xx后面字段索引失效3. 事务四大特性、隔离级别、脏读幻读1事务四大特性 ACID原子性Atomic事务全部执行成功或全部回滚不可分割一致性Consistent事务前后数据完整性不变隔离性Isolate多事务互不干扰由隔离级别控制持久性Durable事务提交后数据永久写入磁盘宕机不丢失2四大隔离级别从低到高读未提交Read Uncommitted可读到未提交数据存在脏读、不可重复读、幻读读已提交Read CommittedOracle默认只能读已提交解决脏读存在不可重复读、幻读可重复读Repeatable ReadMySQL InnoDB默认同一事务多次读取数据一致解决脏读、不可重复读存在幻读MVCC机制实现串行化Serializable最高级别完全串行执行所有问题都解决并发性能极差3三类并发问题脏读一个事务读到另一个事务未提交的修改数据对方回滚后读到无效脏数据不可重复读同一事务内两次读取同一行中间被其他事务修改提交两次结果不一致幻读同一事务内范围查询其他事务插入/删除符合条件数据再次查询数量变化1.3 框架 Spring SpringBoot MyBatisSpring、SpringBoot 核心1. IOC、AOP是什么IOC 控制反转传统开发new创建对象程序主动控制依赖IOC思想反转对象控制权Spring容器负责创建、管理对象Bean程序直接注入使用DI依赖注入是IOC实现方式容器自动把依赖对象注入目标Bean解耦代码AOP 面向切面编程作用横向抽取通用公共逻辑日志、权限、事务、接口耗时不侵入业务代码核心概念切面、切点、通知前置/后置/异常/环绕通知实现JDK动态代理实现接口、CGLIB代理类无接口2. 依赖注入、自动配置原理三种依赖注入方式构造器注入推荐、2. set方法注入、3. Autowired字段注入SpringBoot自动配置原理核心注解EnableAutoConfiguration启动时读取META-INF/spring.factories配置文件加载所有自动配置类XxxAutoConfiguration通过Conditional条件注解存在对应依赖包、不存在用户自定义Bean时自动装配组件application.yml/application.properties绑定配置类XxxProperties自定义参数3. SSM完整CRUD项目搭建流程引入依赖spring-web、spring-jdbc、mybatis、mysql驱动、spring-boot-starter-test配置yml数据库连接、MyBatis映射文件路径、实体类别名实体Entity对应数据库表Mapper接口写CRUD抽象方法Mapper.xml映射文件写SQL绑定接口方法Service层接口Impl注入Mapper封装业务逻辑Controller层注入Service接收前端请求返回数据启动类加MapperScan扫描Mapper接口MyBatis映射文件、#{} 和 ${} 区别#{}预编译占位符底层PreparedStatement参数加单引号防止SQL注入会自动转义字符串适合传字段值select*fromuserwhereid#{id}${}字符串直接拼接直接拼接文本无预编译存在SQL注入风险不会自动加引号适合动态表名、排序字段select*from${tableName}orderby${sortColumn}开发规范优先#{}仅动态表/列使用${}1.4 计算机网络基础1. HTTP/HTTPS、GET和POST区别、状态码1HTTP vs HTTPSHTTP明文传输端口80无加密数据容易被抓包篡改HTTPS HTTP SSL/TLS加密端口443传输数据对称加密证书非对称加密交换密钥防窃听、防篡改、身份认证更安全性能略有损耗2GET 和 POST 核心区别参数位置GET参数拼在URLPOST放请求体body数据大小GET受URL长度限制POST无理论上限缓存GET默认浏览器缓存POST一般不缓存安全性GET参数暴露地址不适合传敏感数据POST相对更安全语义规范GET用于查询无数据修改POST用于新增/提交数据幂等GET天然幂等多次请求结果一致POST非幂等重复提交生成多条数据3常见HTTP状态码2xx 成功200 请求正常完成201 创建资源成功3xx 重定向301永久重定向302临时重定向304资源未修改走缓存4xx 客户端错误400参数错误401未登录无认证403权限不足404资源不存在405请求方法不允许5xx 服务端错误500服务器内部异常503服务不可用2. TCP三次握手、四次挥手简易背诵版三次握手建立连接客户端 → 服务端SYN报文客户端请求同步客户端进入SYN_SENT服务端 → 客户端SYNACK报文同意连接确认客户端报文服务端SYN_RCVD客户端 → 服务端ACK报文确认服务端同步双方进入ESTABLISHED连接就绪核心目的确认双方收发能力正常协商初始序列号四次挥手断开连接客户端 → 服务端FIN客户端不再发数据进入FIN_WAIT1服务端 → 客户端ACK收到关闭请求继续传输剩余数据客户端FIN_WAIT2服务端 → 客户端FIN服务端数据传输完毕准备关闭客户端 → 服务端ACK确认关闭客户端等待2MSL超时彻底断开服务端直接关闭核心原因TCP全双工通信一方关闭后另一方可能还有残留数据发送必须分两次发送FIN

相关新闻

【IDEA安装黑盒解密】:基于JetBrains官方源码级文档(v2024.1.3 Build #IU-241.14494.242)还原安装流程与签名验证机制

【IDEA安装黑盒解密】:基于JetBrains官方源码级文档(v2024.1.3 Build #IU-241.14494.242)还原安装流程与签名验证机制

更多请点击: https://intelliparadigm.com 第一章:IntelliJ IDEA 安装黑盒解密导论 IntelliJ IDEA 的安装过程看似简单,实则隐藏着大量未被文档充分揭示的底层机制:从 JVM 启动参数注入、配置目录初始化策略,到插件预…

2026/6/25 18:30:45阅读更多 →
虚拟助手化技术对话管理系统与多轮对话设计

虚拟助手化技术对话管理系统与多轮对话设计

虚拟助手化技术对话管理系统与多轮对话设计 在人工智能技术飞速发展的今天,虚拟助手已成为人们日常生活和工作中不可或缺的一部分。无论是智能客服、语音助手,还是企业级对话系统,高效的对话管理系统和多轮对话设计都成为提升用户体验的关键…

2026/6/25 18:30:45阅读更多 →
药品追溯码扫码设备怎么选?医药全场景读码硬件技术选型分析

药品追溯码扫码设备怎么选?医药全场景读码硬件技术选型分析

在药品监管常态化背景下,药品生产企业、医药流通批发商、医院药房、零售连锁药店均需要完成药品追溯码采集、数据归集与平台上报工作,设备选型不当容易出现识读成功率偏低、重复扫码、数据对接不畅、批量采集效率不足等问题。本文从应用工况、硬件参数、…

2026/6/25 18:30:45阅读更多 →
PVE Tools:Proxmox VE终极管理工具箱,让虚拟化配置变得简单快速

PVE Tools:Proxmox VE终极管理工具箱,让虚拟化配置变得简单快速

PVE Tools:Proxmox VE终极管理工具箱,让虚拟化配置变得简单快速 【免费下载链接】pvetools proxmox ve tools script(debian9 can use it).Including email, samba, NFS set zfs max ram, nested virtualization ,docker , pci passthrough etc. for eng…

2026/6/25 19:51:04阅读更多 →
Σ-Δ ADC 与 SAR 逐次逼近 ADC 对比、指标差异 + 电能质量完整应用案例

Σ-Δ ADC 与 SAR 逐次逼近 ADC 对比、指标差异 + 电能质量完整应用案例

目录 一、核心架构简要原理 1. Σ-Δ ADC(Delta-Sigma,ΔΣ) 2. SAR 逐次逼近型 ADC 二、关键性能指标完整差异对照表 三、典型应用场景划分 (一)Σ-Δ ADC 适用场景 (二)SAR ADC 适用场…

2026/6/25 19:51:04阅读更多 →
外发图纸怕泄密?看3D一览通如何实现“只读+批注”安全协作

外发图纸怕泄密?看3D一览通如何实现“只读+批注”安全协作

在制造行业里,有一个很现实的问题:图纸发出去很容易,但想完全掌控它,就很难了。供应商要看图、客户要确认、外协厂要加工——图纸总归是要流动的。但问题在于:一旦离开设计端,这些图纸就不再完全可控。有没…

2026/6/25 19:51:04阅读更多 →
符号引擎+神经网络:数学AI推理范式的双轨突破

符号引擎+神经网络:数学AI推理范式的双轨突破

1. 这不是又一个“AI解题秀”,而是数学推理能力跃迁的实证现场去年在剑桥大学数学系做访问时,我亲眼见过一位博士生为一道IMO几何题熬了整整三周——草稿纸堆满半张书桌,最终靠引入一个反演变换才破局。当时我就在想:如果真有模型…

2026/6/25 19:51:04阅读更多 →
LangChain 与 LangGraph 完全解析:从“流水线”到“智能流程图”

LangChain 与 LangGraph 完全解析:从“流水线”到“智能流程图”

LangChain 与 LangGraph 完全解析:从“流水线”到“智能流程图” 关键词:LangChain、LangGraph、大模型应用开发、AI Agent、LCEL 📑 目录 从两个装修队的故事说起LangChain:大模型时代的“积木工具箱”LangGraph:让A…

2026/6/25 19:51:04阅读更多 →
前端转大模型:从问题定位到方案成型

前端转大模型:从问题定位到方案成型

这篇我按“先跑起来、再讲取舍”的方式写《前端转大模型:从问题定位到方案成型》。概念会讲,但重点放在代码怎么组织、哪里容易踩坑。摘要本文概述文章目标、核心观点和实践价值。前阵子帮一个做中后台系统的团队重构他们的内部知识库问答模块。说实话&a…

2026/6/25 19:46:03阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/25 9:39:54阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/25 2:52:24阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/25 9:01:34阅读更多 →
面试辅助工具横评:我试了5款AI面试工具,最后留下了OfferGo

面试辅助工具横评:我试了5款AI面试工具,最后留下了OfferGo

上半年跳槽,面了十几家公司。说句实话,不是能力不行,是面试现场太容易崩了。 明明准备了一周,面试官换个问法脑子就一片白。面完之后那个懊悔——其实我会的。 后来开始试市面上的AI面试辅助工具。前前后后装了5款,踩…

2026/6/25 11:52:11阅读更多 →
Claude Code 提示词设计:从塑造“人格”到建立“状态机”

Claude Code 提示词设计:从塑造“人格”到建立“状态机”

当前 AI Agent 设计的核心痛点在于:大模型不缺写代码的能力,缺的是克制力、边界感和验证逻辑。Prompt 不再是用来塑造“人格”的,而是用来建立“状态机(State Machine)”和“行为门禁(Guardrails&#xff0…

2026/6/25 11:52:11阅读更多 →
MC-037 | 自定义 Skill 开发:创建你的AI能力模块

MC-037 | 自定义 Skill 开发:创建你的AI能力模块

MONKEYCODE 教程系列 MonkeyCode教程及推广系列 MC-037 自定义 Skill 开发:创建你的AI能力模块 >官网链接注册更放心哦https://monkeycode-ai.com/?ic019e0aed-c823-783c-b08a-4f030f891e4e 系列: 不爱土豆唯爱马铃薯 MonkeyCode 教程系列 字数: 约 1400 字…

2026/6/25 11:52:11阅读更多 →