Java面试图解笔记【一】用遥控器、厨房、仓库讲透基础29题

21 硬件工程师笔面试高频考点真题解析——单片机 本文系统介绍了单片机的核心概念与应用知识,包括:单片机定义与选型要点(性能、存储、外设等);核心参数(主频、I/O、通信接口等);最小系统组成(电源、复位、晶振、BOOT);常见外设(GPIO、ADC、定时器等);GPIO工作模式(输入/输出);死机原因分析(硬件干扰、软件错误等);上电故障排查流程(电源、时钟、程序等);与DSP、FPGA的对比(控制vs运算vs可编程);常用通信总线特点(UART、I2C、SPI、CAN);看门狗功能(超时复位防死机)。内容涵盖单片机硬件设计关键要点,适合嵌入式开发者参考 阅读详情

Java面试85题图解版(一):基础核心篇


📂 Java面试85题图解版 · 全系列7篇

基础核心篇← 你在看 | 并发+JVM | Spring+数据库 | Redis缓存 | 高阶架构 | 高阶特性

📌 全系列总目录 | 💡 每道题 = 结构图 → 场景比喻 → 对比表 → 一句话总结


阅读提示:本文是“图解+比喻+一句话总结”面试题库的第一篇,覆盖Java基础、集合、JDK版本演进及数据库基础共29道题。每道题拆成四层结构——结构图 → 场景比喻 → 关键对比表 → 一句话总结。通勤刷几题,两周后你会回来谢我。

一、Java 语言基础(第1-10题)

📌 第1题:Java 三大特性

一图看清
Java 三大特性

比喻记忆:遥控器

  • 封装:你按遥控器的“音量+”,内部电路怎么工作你不需要知道,你只关心按钮。
  • 继承:智能遥控器继承了普通遥控器所有按钮,还多了语音键。
  • 多态:按“开关”键,电视开机,空调也开机——同一个动作,不同设备不同反应。

💡 一句话总结:封装藏细节,继承复用代码,多态一个接口多种实现。

面试官问:Java三大特性是什么?能举个场景例子吗?(附图解+比喻+追问)

📌 第2题:JDK vs JRE vs JVM

一图看清
在这里插入图片描述

比喻记忆:厨房

  • JVM = 燃气灶,负责把菜做熟(执行字节码),不同品牌灶都能炒菜。
  • JRE = 厨房,有灶、有锅碗瓢盆(核心类库),只能做饭不能买菜。
  • JDK = 整个菜市场+厨房,有菜(源码)有刀(编译工具)有厨房。

💡 一句话总结:JDK包含JRE,JRE包含JVM,开发用JDK,运行只要JRE。

面试官问:JDK、JRE、JVM有什么区别?一张图+厨房比喻搞定

📌 第3题:基本类型 vs 引用类型

一图看清
在这里插入图片描述

比喻记忆:房产证信息

  • 基本类型 = 房产证上写“面积120平米”,这个数字就是面积本身。
  • 引用类型 = 房产证上写“XX路XX号”,你得按地址才能找到房子。== 比较的是地址是不是同一个门牌号,equals 比较的是房子里面的装修是不是一样。

💡 一句话总结:基本类型存值,引用类型存地址,比较时一个比值一个比地址。

面试官问:Java 中的基本类型和引用类型有什么区别?== 比较它们时行为一样吗?

📌 第4题:== vs equals()

一图看清
HashCode

==  :比较值(基本类型)或地址(引用类型)
equals():默认也是比地址,但String等重写后比内容

比喻记忆:身份证号 vs 人脸识别

  • ==:比身份证号是不是同一个——严格判断是不是同一个人。
  • equals():被重写后像人脸识别——长得像就认为是同一个人,不管身份证号。

常见坑:Integer 在 -128~127 内用缓存,== 可能为 true;超出范围则 false。

💡 一句话总结:== 看是不是同一个,equals 看内容是不是一样(重写后)。

📌 第5题:String vs StringBuilder vs StringBuffer

一图看清
String三兄弟

比喻记忆:三种写字方式

  • String = 钢笔写字,写错了只能换一张新纸。
  • StringBuilder = 白板写字,擦掉重写,但别人也能擦。
  • StringBuffer = 白板+专人看守,别人想擦得排队。

💡 一句话总结:少修改用String,单线程拼接用StringBuilder,多线程用StringBuffer。

📌 第6题:final vs finally vs finalize

一图看清
在这里插入图片描述

比喻记忆:三种“最终”

  • final = 独生子女证,这孩子就是最终版,不能再有弟弟妹妹继承他。
  • finally = 追悼会,生前关系好不好都会来(除非System.exit(0)直接火化)。
  • finalize = 临终遗言,说啥不一定有用,而且说不说也不知道(已被JDK9弃用)。

在这里插入图片描述

💡 一句话总结:final修饰不可变,finally必定执行,finalize已过时别用。

📌 第7题:接口 vs 抽象类

一图看清

在这里插入图片描述

比喻记忆:合同 vs 门派

  • 接口 = 合同:明星能同时签“会唱歌”、“会跳舞”、“会武术”多份合同,并同时履行。
  • 抽象类 = 门派:你是“少林派弟子”,这个出身决定了你的基础武功。只能属于一个门派,但可以同时签多份演出合同。

合同 vs 门派

💡 一句话总结:接口是多能合同,能多签;抽象类是门派血统,只有一个。

📌 第8题:重载 vs 重写

一图看清

重载 (Overload):同一类,方法名相同,参数不同,编译时确定
重写 (Override):子类重定义父类方法,方法签名相同,运行时确定

比喻记忆:点奶茶

  • 重载:你去奶茶店说“来杯奶茶”,老板问口味,你说“珍珠奶茶”。同一个“来杯奶茶”指令,带不同参数出不同结果。这是编译时就定好的菜单。
  • 重写:你爸炒菜放盐多,你学了他这道菜但少放盐。同一个菜名,但你的版本不同。运行时看你用谁的方子。

💡 一句话总结:重载是同一动作的不同参数版本,重写是子类覆盖父类的同一动作。

📌 第9题:Java 异常体系

一图看清

Throwable
 ├─ Error(JVM错误,无法处理)
 └─ Exception
      ├─ 受检异常(Checked,编译期必须处理)
      └─ 非受检异常(Unchecked,RuntimeException,编译不管)

比喻记忆:地震 vs 忘带钥匙

  • Error = 地震了,你没办法,只能跑。
  • 受检异常 = 出门前被老妈提醒“记得带伞,可能会下雨”,必须准备。
  • 非受检异常 = 走路踩到香蕉皮滑倒——没人事先告诉你,摔了才知道。

💡 一句话总结:Error是天灾只能承受,Checked必须提前处理,Runtime异常摔了才知道。

📌 第10题:反射机制

一图看清

Class对象 → 获取构造/方法/字段 → 动态创建对象/调用方法

比喻记忆:X光机

  • 正常调用:你直接跟人说话。
  • 反射:你拿X光机照一个人,能看见骨架结构、器官位置(类的内部结构),甚至可以操作他——相当于运行时看透一个类的所有信息并且修改它。

缺点:性能低、破坏封装、有安全隐患,但框架离不开它。

💡 一句话总结:反射让程序运行时看透并操作类的一切,框架核心但有性能代价。

二、集合框架(第11-16题)

📌 第11题:ArrayList vs LinkedList

一图看清

ArrayList:            LinkedList:
[0][1][2][3][4]...    head ⇄ [A] ⇄ [B] ⇄ [C] ⇄ tail
连续内存,查O(1)              每节点有前后指针,头尾插入O(1)

比喻记忆:高铁 vs 自行车队

  • ArrayList = 高铁:所有车厢连在一起,第8车厢直接走过去。但在第3车厢后加一节,后面全得脱钩重连。
  • LinkedList = 自行车队:每人只记得前面和后面是谁。找第10个人得从头数。但在队伍最前面加人,只需告诉新来的跟着原领头人。

💡 一句话总结:查多改少用ArrayList,频繁头尾增删用LinkedList。

📌 第12题:HashMap 底层原理与扩容

一图看清

JDK7:数组 + 单向链表(头插法,扩容可能死循环)
JDK8:数组 + 链表 + 红黑树(尾插法,链表≥8且数组≥64转红黑树,节点<6退链表)

扩容条件:size > threshold (= capacity × loadFactor)
JDK8扩容:旧索引 i 的链表 → 新索引只有 i 或 i+旧容量 两种

比喻记忆:仓库搬迁

  • JDK7:新来的货硬塞到队伍最前面。搬迁时工人用混乱的工单可能造成圈状传送带死循环。
  • JDK8:新货放在队尾。当某种货超过8个排长队,经理说改成立体货架(红黑树)提高查找率。搬迁有序,但仍可能两个工人抢同一个位置(数据覆盖)。

💡 一句话总结:JDK7头插死循环,JDK8尾插加红黑树,但两者多线程都不安全。

📌 第13题:ConcurrentHashMap 线程安全实现

一图看清

JDK7:Segment分段锁(继承ReentrantLock),默认16段,并发度16
JDK8:CAS + synchronized锁头结点,锁粒度到桶级,多线程协同扩容

比喻记忆:工地施工方式

  • JDK7 分段锁:把大楼分16层施工,每层独立钥匙。同层只能一个人干活,不同层并行。
  • JDK8 桶锁:不再分楼层,哪根柱子有冲突就只锁那根柱子。CAS相当于“看一眼没人就立刻焊”,不用去找钥匙。

💡 一句话总结:JDK7段锁粗,JDK8细到锁单个桶,CAS先行失败才加synchronized。

📌 第14题:HashSet vs TreeSet

一图看清

HashSet:底层HashMap,无序,允许一个null
TreeSet:底层TreeMap红黑树,有序(自然/比较器),不允许null

比喻记忆:抽屉 vs 书架

  • HashSet = 把所有东西分类扔进不同抽屉,找的时候按标签找,但抽屉间没顺序。
  • TreeSet = 按书本高矮排列在书架上,永远有序,但放书时就得比较排位。

💡 一句话总结:HashSet找得快无序,TreeSet排好序但比较开销大。

📌 第15题:泛型与类型擦除

一图看清

写代码时:List<String> → 编译检查
编译后:List → 类型变Object

比喻记忆:机场安检标签

  • 泛型:行李上贴标签“此包只有书籍”。安检时(编译时)检查,非书籍不给过。
  • 类型擦除:过了安检就把标签撕了,上了传送带后管你是谁家的箱,都一个待遇。运行时候不知道原来是什么类型。

💡 一句话总结:泛型只存在于编译期,编译后擦除为Object。

📌 第16题:Comparable vs Comparator

一图看清

Comparable:内比较器,类实现compareTo(),与类耦合
Comparator:外比较器,独立实现compare(),解耦可多排序策略

比喻记忆:身高尺 vs 裁判打分

  • Comparable:一个人自带身高,往尺子旁一站自己就比你高了——我“自己知道怎么比”。
  • Comparator:场外裁判给定规则,今天按身高排,明天按体重排——规则独立。

💡 一句话总结:Comparable自带比较能力,Comparator外部给规则,灵活解耦。

三、JDK 版本演进核心对比(第17-21题)

📌 第17题:JDK 8 核心新特性

一图看清

Lambda表达式 → 简化匿名内部类
Stream API → map/filter/reduce声明式处理集合
Optional → 优雅处理null
新日期时间API → java.time,线程安全
默认方法 → 接口可包含实现
方法引用 → ClassName::method

比喻记忆:新式厨房设备

  • Lambda:老式食谱要写满一页,新式食谱“热锅→放油→炒→出锅”一行搞定。
  • Stream:流水线,原料进去,自动筛选、加工、包装一条龙出来。
  • Optional:防烫手套,有东西就拿着,空的也不会烫手(null不炸)。

💡 一句话总结:JDK8四大件:Lambda、Stream、Optional、新日期API。

📌 第18题:元空间替代永久代

一图看清

永久代(JDK7及以前):固定大小,易OOM,存类元数据、字符串常量池
元空间(JDK8+):使用本地内存,自动扩容,字符串常量池移入堆

比喻记忆:档案室搬迁

  • 永久代:公司档案室在主楼(堆)里,固定大小,文件放不下就炸。
  • 元空间:把档案室搬到地下室(本地内存),几乎无限扩,不占主楼空间。

💡 一句话总结:元空间用本地内存免OOM,字符串常量池移入堆。

📌 第19题:JDK 17 核心新特性(LTS)

一图看清

密封类 (Sealed Classes) → permits限制可继承的子类
模式匹配 for switch(预览)→ 简化类型判断
增强伪随机数生成器
恢复始终严格的浮点语义
移除 Applet API 和 RMI 激活
外部函数与内存 API(孵化)→ 替代JNI

比喻记忆:VIP 门禁系统

  • Sealed Class:规定只允许3家供应商进入(permits A, B, C),其他全拦。编译期就知道谁来了,安全。

💡 一句话总结:JDK17 LTS重点:Sealed Class、模式匹配孵化、Applet移除。

📌 第20题:JDK 21 核心新特性(LTS)

一图看清

虚拟线程 (Virtual Threads) → 十万级并发,无需线程池
记录模式 (Record Patterns) → 解构记录类
模式匹配 for switch 正式 → 编译器检查完备性
序列化集合 (Sequenced Collections) → 有序操作更简单
字符串模板(预览)→ STR."Hello \{name}"
分代 ZGC → 更低延迟

比喻记忆:共享管家

  • 虚拟线程:传统线程是每桌客人配专属服务员,客人看菜单时服务员干等。虚拟线程是5个万能管家服务1000桌,A犹豫时管家立刻去B倒水。管家随身笔记(栈)随时切。

💡 一句话总结:JDK21王牌虚拟线程,百万线程不是梦。

📌 第21题:JDK8迁移到JDK17/21的兼容性问题

一图看清

模块化系统 → 内部API受限,需--add-opens
移除API → finalize废弃,Nashorn引擎,Java EE模块
GC变化 → JDK9起G1默认,JDK17起ZGC可用
反射权限加强 → setAccessible受限

比喻记忆:老城区改造

  • 内部API:以前你能穿小区捷径,现在都加了门禁(模块化),得申请通行证。
  • 移除API:老街拆了,原来的店铺得换新址(引第三方依赖)。
  • GC变化:以前默认的收集大妈退休了,新来的G1和ZGC更高效但规矩不同。

💡 一句话总结:模块化是最大门槛,内部API和反射权限是最大痛点。

四、数据库基础与对比(第22-29题)

📌 第22题:MySQL InnoDB vs MyISAM

一图看清

InnoDB:支持事务、行锁、外键、崩溃恢复、聚簇索引
MyISAM:不支持事务、表锁、无外键、索引数据分离

比喻记忆:银行柜台 vs 公告栏

  • InnoDB:银行柜台,每一笔交易都有记录、可回滚,每个人独立窗口。
  • MyISAM:公告栏,贴上去大家都能看,但改公告得把整个栏锁上,也没记录。

💡 一句话总结:事务、高并发用InnoDB;只读、简单报表可用MyISAM(已很少用)。

📌 第23题:MySQL vs PostgreSQL 架构与定位

一图看清

MySQL:多线程模型,简单好用,OLTP互联网场景默认选择
PostgreSQL:多进程模型,功能完备,数据类型丰富,复杂查询和地理空间更强

比喻记忆:便利店 vs 仓储式超市

  • MySQL:便利店,小快灵,常规需求都能满足,人多也维持得住。要求复杂时得搭配中间件。
  • PostgreSQL:仓储大超市,品种齐全(JSONB、数组、几何、全文),规矩严格,适合需要数据完整性和复杂分析的企业级场景。

💡 一句话总结:简单互联网OLTP选MySQL;复杂查询、地理空间、数据完整性选PG。

📌 第24题:事务 ACID 属性

一图看清

A 原子性:要么全做,要么全不做
C 一致性:状态从一个正确态到另一个正确态
I 隔离性:并发事务间互不干扰
D 持久性:提交了就永久保存

比喻记忆:银行转账

  • A:转账要么扣款+加款都完成,要么都不做,不存在扣了没加。
  • C:转账前后两边账户总钱数不变。
  • I:别人同时转钱给你,不会互相干扰数据。
  • D:转完后银行倒闭,记录还在。

💡 一句话总结:ACID = 要么全做、总能对得上、各干各的、干了就永久。

📌 第25题:MySQL 与 PostgreSQL 默认隔离级别差异

一图看清

隔离级别由低到高:
READ UNCOMMITTED  → 脏读❌ 不可重复读❌ 幻读❌
READ COMMITTED    →        不可重复读❌ 幻读❌  ← PG默认
REPEATABLE READ   →                   幻读❌  ← MySQL默认
SERIALIZABLE      →              (全部解决)

比喻记忆:图书馆管理员

  • MySQL(REPEATABLE READ):管理员把你查的那几排书架锁起来,别人不许插新书——Next-Key Lock防幻读,但锁多了可能死锁。
  • PostgreSQL(READ COMMITTED):管理员说“你每次查一本书,我给你当时书架的即时照片”。每次照片可能不一样——不防不可重复读和幻读,但吞吐量高。

💡 一句话总结:MySQL RR靠锁防幻读可能死锁,PG RC性能好但不防不可重复读。

📌 第26题:MVCC 多版本并发控制(MySQL vs PostgreSQL)

一图看清

MySQL InnoDB:undo log存旧版本 + ReadView判断可见性 + purge清理
PostgreSQL:行标记xmin/xmax,旧版本留数据页 + VACUUM清理

比喻记忆:图书馆借书记录

  • MySQL:每次借出,旧借书卡留底单(undo log),想看历史翻底单。管理员定时碎掉旧底单(purge)。
  • PostgreSQL:直接在旧书上画叉,新书摆旁边(新行)。书不撕,但书架(表)膨胀,必须定期催收废品(VACUUM)。

💡 一句话总结:MVCC读不阻塞写。MySQL靠undo,PG靠行标记加VACUUM。

📌 第27题:数据库索引的底层结构

一图看清

MySQL:B+Tree为主,另支持全文索引、空间索引(R-Tree)
PostgreSQL:B+Tree + Hash + GiST + GIN + BRIN + SP-GiST

比喻记忆:四种找货方式

  • B+Tree:常规货架,按编号找,一找一个准,范围查询顺着走。
  • GiST:仓库平面图,画距离、测几何形状,适合空间数据。
  • GIN:属性倒排清单,“红色M码A字裙”查三个清单取交集。
  • BRIN:集装箱编号范围表,每箱只写“1号箱:2025-01-01~01-03”,找1月5号直接跳2号箱。

💡 一句话总结:B+Tree通用,GIN善包含查询,GiST善空间,BRIN用极小体积处理超大顺序表。

📌 第28题:JOIN 类型与 ON vs WHERE

一图看清

INNER JOIN:两表匹配的行
LEFT JOIN:左表全部保留,右表无匹配则NULL
RIGHT JOIN:右表全部保留,左表无匹配则NULL
FULL OUTER JOIN:两表全部保留

ON:连接条件,决定怎么配对
WHERE:过滤最终结果,外连接时会把NULL行干掉

比喻记忆:相亲大会

  • INNER JOIN:两人对上眼,才出现在结果里。
  • LEFT JOIN:左边的人全留下,右边的没人配对就空着。
  • ON:配对规则,比如“年龄±3岁”。
  • WHERE:最终筛选,“收入低于1万的别来了”——即使左边有人本来要留也没了。

💡 一句话总结:ON定怎么连,WHERE定怎么筛,外连接时WHERE会把不匹配的行滤掉。

📌 第29题:慢 SQL 定位与优化

一图看清

定位工具:
MySQL → 慢查询日志、EXPLAIN、Performance Schema、pt-query-digest
PG → log_min_duration_statement、EXPLAIN ANALYZE、pg_stat_statements

常见优化:
加索引、避免SELECT *、用JOIN替代子查询、分库分表/分区

比喻记忆:抓慢速快递员

  • 慢查询日志:监控哪个快递员(SQL)送件超过1小时。
  • EXPLAIN:查看他走什么路线(执行计划),是走路还是开车。
  • 优化:给他配辆车(加索引)、优化路线(改SQL)、建分站(分库分表)。

💡 一句话总结:定位靠日志+执行计划,优化靠加索引+改SQL+分拆。

基础篇的29道题到这里结束。这29道题覆盖了面试中80%的“第一问”——如果这些题你都能用画面和故事讲出来,你的面试开局就已经赢了一半。

下一篇: 进阶深化(上):并发编程 + JVM —— 锁升级过程、线程池参数(银行柜台比喻)、ThreadLocal内存泄漏、垃圾回收算法、类加载双亲委派……面试官最爱追问的“深水区”来了。
💡 基础篇的比喻帮你过了面试第一关。想深入理解这些知识点的源码和避坑细节?
姊妹系列《Java 100天进阶之路》从零开始,每篇都有可运行的代码+踩坑表格+面试考点。
👉 《Java 100天进阶之路 · 完整目录导航》
👉 点击关注我 📂 返回全系列导航
📌 除了Java,我也在深挖智能物流实战(出版社WMS、托盘调度、机器学习落地)。如果你对技术在不同领域的实战感兴趣,欢迎点击我的头像,看看专栏《出版社物流WMS智能调度实战》。技术相通,思路可鉴。

2026 大厂面试高频题解:Java 并发与底层 + AI 工程 + 算法 LeetCode 高频 12 题【每题带面试官视角、完整解答与追问链路】 本文聚焦2026大厂Java岗面试核心三科:Java底层与并发、AI工程、算法,精选12道高频真题,以“面试官视角→完整解答→复杂度分析→追问链路”结构精讲。涵盖HashMap原理、ConcurrentHashMap线程安全机制、线程池配置策略、synchronized与ReentrantLock对比、RAG链路设计、幻觉治理、Function Calling安全规范、微调与RAG选型决策,以及反转链表、层序遍历等经典算法手撕题。文末附30天冲刺计划,助你高效通关大厂面试。 阅读详情

相关推荐

【Agent 上下文管理】摘要机制、细节召回与压缩评估

摘要体系包含五类:对话整体与章节摘要、大模型输出压缩、关键事实结构化、中间结果提炼。采用异步生成策略,结合检索服务实现细节召回,通过“当前K轮传原文+历史走检索”缓解同步延迟,以“关键事实+冲突裁决”保障决策准确性。高级方案包括模型可读高密度摘要与迭代式精准召回,兼顾效率与完整性。

128

JDK各版本大致新增内容

版本发布年核心价值是否推荐新项目使用JDK 82014❌ 仅维护旧系统JDK 112018HTTP Client, ZGC 实验✅ 仍广泛使用JDK 172021✅ 推荐(稳定)JDK 212023虚拟线程, 模式匹配完整版✅✅强烈推荐(未来主流)JDK 252025?String Templates, 静态镜像🚧 关注中。

wu17852323162的博客 1133

C51单片机驱动ILI9341彩屏实战:从Proteus仿真到绘制自定义图案(附完整代码)

本文详细介绍了使用C51单片机驱动ILI9341彩屏的完整实战流程。内容涵盖硬件连接、8080并行接口时序模拟、寄存器初始化、屏幕方向设置以及基本图形绘制原理,并重点讲解了如何在Proteus仿真环境中搭建电路、调试代码,最终实现自定义图案的显示。文章提供了完整的代码示例,为嵌入式开发学习者和复古硬件爱好者提供了一套可行的解决方案。

rnn9storyteller的博客 506

招聘质量管理是什么?招聘质量的定义与评价口径完整解释

第一部分是岗位前提,例如必要资格、关键经验和明确录用条件是否满足。客服岗位可以关注服务规范和问题解决质量,项目岗位可以关注里程碑、协作责任和交付事实,管理岗位可以关注目标拆解、团队运作和必要的权限承担。招聘质量管理,是企业用事先约定的岗位标准和观察周期,评价一次招聘是否找到了符合基本条件、能够完成工作并适应组织要求的人员,同时检查招聘过程是否合规、稳定和可复盘。前置质量指标用于判断招聘输入是否可靠,包括岗位说明是否完整、录用条件是否明确、面试问题是否覆盖关键能力、必要材料是否核实、信息差异是否完成复核。

beidiao123456的博客 179

kubernetes rook 安装 cephfs

ceph root kubernete osd uuid partuuid

天津托的博客 1538

实战复盘:如何用Frida脚本绕过某书APP的libmsaoaidsec.so检测(附完整Hook代码)

本文深入探讨了如何利用Frida脚本绕过某书APP通过libmsaoaidsec.so实现的反Frida检测机制。通过分析动态链接过程中的关键节点和检测模式,提供了两种实战验证的绕过方案:动态Hook关键链接器函数和静态Patch SO文件。文章还分享了进阶对抗策略和调试技巧,帮助安全研究人员有效应对现代移动安全防护挑战。

weixin_42706667的博客 211

C++ priority_queue 底层:手撕二叉堆与 Top K 问题

`priority_queue`(优先队列)是算法题和工程开发中极高频的容器。但当你被问到“它的底层是什么?为什么默认是大堆?为什么底层容器默认是 vector 而不是 deque?”时,很多人只能背出“堆”这个字。本文用一张图拆解二叉堆的上浮与下沉,并手写核心骨架代码,最后用 Top K 问题实战演练。

xiangyun61的博客 200

智能车赛道识别:八邻域算法的实战解析与优化

本文深入解析了智能车赛道识别中八邻域算法的核心原理与实战优化。作为兼顾性能与稳定性的经典方案,该算法通过模拟探险家环顾八方的策略,能精准追踪弯道与直道边界。文章详细拆解了代码逻辑,并提供了边界平滑、异常处理及应对十字路口、环岛等复杂场景的关键优化策略,助力开发者提升智能车视觉系统的鲁棒性与实时性。

weixin_29228781的博客 257

【数据结构|贪心算法】哈夫曼编码(Huffman Coding)万字详解|原理、构造、Java 实现、压缩实战、面试考点

在数据压缩领域,哈夫曼编码是最经典的无损变长前缀编码算法,也是数据结构、算法面试、软考必考知识点。gzip、zip、PNG、JPEG、MP3 底层都离不开哈夫曼编码的身影。为什么它是最优前缀编码?为什么不能直接随便写变长编码,一定要前缀编码?本文从场景引入、等长编码痛点、哈夫曼树构造、手算案例、完整 Java 编码 + 解码代码、WPL 计算、优缺点、面试高频问题一次性讲清楚。等长编码:ASCII 就是典型,每个字符固定 8bit。优点:解码简单;缺点:高频字符也要占用同样 bit,压缩效率低。

m0_63990694的博客 633

非技术面试题精选大全

回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业喜欢有礼貌的求职者。

吃面爱放香菜的博客 428

Autosar PWM模块的配置和使用

在上面的代码中,我们首先配置了PWM的初始化参数,包括频率和分辨率。GPIO Driver:由于PWM信号需要输出到特定的引脚上,因此我们还需要使用GPIO驱动程序来控制引脚的状态。通过合理配置和应用PWM模块,我们可以实现对汽车电子系统中各种功能的精确控制,从而提高汽车性能和用户体验。在实际应用中,我们可以根据需要进行更多的配置和调整,以实现灵活的PWM控制。PWM Driver:这是主要的PWM驱动程序,负责产生PWM信号并输出到相应的引脚上。接下来,我们需要配置PWM模块的参数。

TcData的博客 673

工具、力扣、中间件学习笔记

写到这里就回顾一下进程间通信方式吧(主要是六个),套接字,共享内存,管道,消息队列,信号量和信号,其中共享内存是很高效的但是要自己去做同步,管道包括匿名管道和非匿名管道,匿名管道只能在有血缘关系的进程间通信,父子进程通信。第二种是链表合并,两个链表合并就是直接循环就可以,是归并的思想,多个链表合并,可以两两合并,采取分治的思想,也可以逐个的两个两个结合,也可以用最常用的,优先队列。主要是和链表相关的题目,包括链表的翻转的三个(直接翻转,从 left 到 right 和 k 个一组)一、学到的命令和工具。

m0_57222081的博客 117

实战5:农作物产量预测 蔬菜产量预测 lstm 完整代码数据-可直接运行-计算机毕设

实战5:农作物产量预测 蔬菜产量预测 lstm 完整代码数据-可直接运行-计算机毕设

机器学习深度学习业余选手 1251

招聘质量管理中的岗位画像与需求校准如何判断?标准、偏差与复核

证明人说“他很有推动力”,这一评价只有在补充具体事件后才有参考价值:评价人与候选人是什么关系,发生在什么项目,候选人采取了什么行动,结果如何,是否存在其他解释。招聘质量管理中的“岗位画像与需求校准”应建立在清晰岗位标准、可观察行为和多来源事实之上,并把客观履历核验、主观评价与能力测评分开。判断一项要求是否保留,可以问:它对应哪项任务,能否观察或验证,缺失后会造成什么影响,是否存在影响更小的替代标准。校准会议的产出不应只是一版职位描述,而应包含必须条件、可培养条件、排除条件、关键行为证据和对应验证方式。

beidiao123456的博客 160

华为OD机试真题-国际移动用户识别码(IMSI)匹配

华为OD机试双机位C卷 国际移动用户识别码(IMSI)匹配 , 提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 国际移动用户识别码(IMSI)匹配

qq_45776114的博客 4918

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【三年面试五年模拟】2026-10-25 华为大模型算法岗一面面经:13道题解析与算法实现

华为大模型算法岗一面13道题完整解析,覆盖训练排障、Transformer复杂度、MLA与混合注意力、FFN、归一化、MoE、LoRA及PPO/GRPO/DPO。补充KV缓存估算、有效token加权和低秩梯度推导,并提供三数之和及最接近0变体的代码、边界分析与验证。

Rocky Ding相信人工智能、数据科学、商业逻辑、金融工具、终身成长以及顺应时代的潮流会赋予我们超能力。 941

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

面试前 48 小时,怎样练表达和复盘:一份个人准备记录

面试前时间有限,我一般不再大量看新题,而是把简历和岗位描述整理好,开口练一轮,再根据录音和复盘调整。面试前的练习,重点不是把每个工具都试一遍,而是开口说一轮、留下录音或逐字稿、找出两三个具体问题再改。(二)追问练习:追问环节我用面搭做练习。重点不是看分数,而是观察自己在被打断后能不能把回答拉回问题本身,结束后再看复盘报告里标出的问题。(二)简历项目:每个项目只留“做了什么、怎么做的、结果是什么”三行,避免练习时照着长段职责念。(一)岗位描述:把公司名称、岗位名称、岗位描述放在同一份文档里,练习时直接对照。

2601_96408126的博客 184

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

切片表与分区表的区别(数据开发面试版)

分区表是物理存储层面的技术概念,切片表是业务逻辑层面的数据形态概念。

m0_73807588的博客 355

C++ string 类复习:从会用到底层原理,一篇讲透

有没有一种既能共享又能不崩的拷贝?有,叫写时拷贝(Copy On Write,COW):先让多个对象共享同一份资源,只有谁要"写"(修改)时,才真正给他拷贝一份独立的。它的实现基础是浅拷贝 + 引用计数。

lemo_n_的博客 353

测试工程师转AI测试完整指南:从技术栈到面试真题

测试转AI测试,本质上是把你过去10年积累的测试方法论,迁移到一个新的测试对象上。不需要你成为算法工程师,需要你成为最懂怎么测AI系统的人。我在凡云教育参与AI训练师课程体系建设时,反复和学员强调一个观点:作品集 > 证书 > 培训班。哪怕你不报班,按上面的路线自己做两个项目,也能找到工作。但如果你卡壳在"不知道怎么开始、做了没人review、遇到Bug查一周",一个好的培训能帮你省下3-6个月的摸索时间。方向是对的,就早点动手。

AIxiaoyun001的博客 153

怎么用AI写爱情短剧?

本文回答怎样用AI把双方目标、误解和选择写成爱情短剧,用自拟情节说明关系推进、分集安排与具体改稿。

2601_97073519的博客 206

从上传简历到生成面试题:简历驱动出题链路怎么走

简历上传成功不等于面试准备就绪。该链路涉及会话状态管理、文件上传、AI模型调用与结构化解析,需确保题目生成、缓存初始化及持久化均成功,方可标记为READY。关键点包括:使用内容摘要防重复、分步持久化原始与结构化数据、字段兼容性管理、以及Redis与Mongo双写一致性。失败时应降级并保留重试入口,强调“业务就绪”而非仅返回200或非空响应。

2301_80329177的博客 320

2023行政管理跨保华中师大政治学:五场考核、项目追问与择校

河南四非院校行政管理学生以专业第一跨保华中师大中国农村研究院,记录南师大、长安、矿大、南农与华师考核,复盘项目缘起、行政监督题、书目回答失误及分层申请。

yhj2218259767的博客 214

Data agent 项目

摘要(≤150字): 针对业务取数依赖数据团队、口径不一问题,自研Data-Agent平台,基于本体论构建统一语义底座,通过YAML定义实体与度量,实现自然语言到结构化查询的精准翻译。采用四层上下文注入与规则优化,提升意图识别稳定性;建立评测闭环,准确率从50%升至94%;结合权限映射与审计机制,保障安全可控,支持多渠道高效取数。

Direction_Wind的博客 99

北漂 13 年,我把 Java 家底钉成了这张知识图谱(全站免费)

北漂13年Java老兵,整理九大免费知识图谱:线上实战项目、源码深度拆解、模板化算法、Java落地RAG、面试原理题、高并发场景设计,附带工具箱,不卖课不割韭菜,求职进阶、转AI方向都能用。

xiaokjv的博客 303

大模型应用开发怎么入门?一套覆盖面试+项目实战的系统学习路线

很多自学大模型开发的同学面临资料零散、底层原理薄弱、缺少可写进简历的企业项目等问题。本文梳理从 NLP 基础、Transformer、预训练模型压缩、提示词工程,到 LangChain RAG、LoRA 微调、VLLM 私有化部署、A2A+MCP 多智能体的完整学习路径,每个模块配套面试高频问题、实战项目以及简历包装思路,同时推荐这套兼顾理论、面试、工业落地的大模型入门系统精品课,适合转行、求职大模型应用开发的开发者。

L698698S的博客 354
上一篇: 《Java 100 天进阶之路》第8篇:Java基本数据类型
下一篇: 《Java 100 天进阶之路》第9篇:Java运算符简介
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值