面试专题
文章平均质量分 88
本专题主要记录的是本人面试过程中遇到的面试题,通过不断频繁的面试,然后克服自己面试紧张的的症状。也分享一下面试遇到的问题。
纳兰青华
一个专注于写程序的疯子
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
工厂模式 vs 抽象工厂:秒懂!两大创建型模式的核心差异与选型指南
本文通过家具的比喻和代码示例,对比了工厂模式和抽象工厂模式的核心区别。工厂模式专注于单一产品的创建(如专门生产椅子),每个工厂只负责一种产品;而抽象工厂模式关注产品族的创建(如整套现代风格家具),一个工厂能生产一整套相关联的产品。二者的主要差异在于职责粒度:工厂模式是"专家",抽象工厂模式是"总承包商"。抽象工厂模式通常用工厂模式实现,能确保产品风格的统一性,适用于需要创建配套产品的场景。原创 2025-09-11 00:50:45 · 470 阅读 · 0 评论 -
你的Spring事务为什么没回滚?这8个坑踩中一个就完蛋!
Spring事务失效的八大场景及解决方案非public方法:事务仅对public方法生效同类自调用:this调用绕过代理,需拆Service或使用AopContext异常处理不当:默认只回滚RuntimeException,需指定rollbackFor或重新抛出数据库引擎不支持:MySQL需使用InnoDB引擎传播行为错误:NOT_SUPPORTED等行为会挂起事务非容器管理对象:new创建的对象无事务多数据源冲突:需显式指定事务管理器异步方法:@Async与事务线程上下文分离原创 2025-09-07 01:10:37 · 977 阅读 · 0 评论 -
看了很多文章还分不清策略和模板模式?这篇保姆级图解带你彻底搞懂!
策略模式 vs 模板模式核心区别 策略模式:动态替换整个算法("做什么"),通过组合实现,运行时灵活切换。 模板模式:固定算法骨架("怎么做"),通过继承实现,子类重写特定步骤。 典型场景: 策略模式:需运行时切换不同算法(如金融风险计算的多种独立算法)。 模板模式:需复用固定流程但允许步骤微调(如报告生成流程固定,仅计算逻辑可变)。 选择依据: 需替换完整算法 → 策略模式 需保持流程统一 → 模板模式 比喻:策略模式是换厨师(整套做法不同),模板模式是换调料。原创 2025-09-04 10:28:04 · 1001 阅读 · 0 评论 -
LangChain4j vs Spring AI:JavaAI框架巅峰对决,谁才是你的最佳选择?
LangChain4j与Spring AI对比摘要(148字) LangChain4j是专业化AI工具库,提供链式API、智能体工具和记忆管理等精细化功能,适合复杂AI应用开发,学习曲线较陡。Spring AI作为Spring生态的官方集成框架,采用声明式API,与Spring Boot无缝兼容,简化AI能力调用,适合快速对接主流模型。核心差异:LangChain4j侧重灵活构建复杂工作流,Spring AI强调标准化集成。选择建议:复杂智能体选LangChain4j,Spring项目快速集成选Spring原创 2025-09-04 01:00:12 · 1421 阅读 · 0 评论 -
你确定你的线程池里的线程都还‘活着’吗?
摘要: 线程池通过双重机制确保线程不丢失: 任务不丢失:采用队列缓冲平滑流量,配合拒绝策略(如CallerRunsPolicy或自定义持久化策略)处理饱和任务,避免静默丢弃。 线程不终止:工作线程内部捕获任务异常(RuntimeException),仅记录日志而不退出循环,维持线程存活。核心设计通过Worker的异常隔离和队列协同,保障高并发下的稳定性,适用于需可靠执行的场景(如批量计算)。自定义拒绝策略(如任务落库重试)可进一步强化容错能力。原创 2025-09-04 00:33:09 · 822 阅读 · 0 评论 -
接口保证幂等性你学废了吗?
接口幂等性是指多次调用接口对资源的影响一致,防止重复操作导致数据错误。常见方案包括:1) Token机制:客户端获取唯一Token提交请求,服务器校验后删除Token;2) 数据库唯一索引:利用唯一键约束防止重复插入;3) 乐观锁/悲观锁:通过版本号或行锁控制并发更新;4) 状态机约束:基于业务状态流转限制操作条件。金融场景中常组合使用(如Token+乐观锁),其中Token机制适合前端提交,唯一索引适用于插入,乐观锁适合扣减,状态机用于订单流程。选择时需权衡场景、性能与实现复杂度。原创 2025-09-03 21:48:09 · 906 阅读 · 0 评论 -
HR “人类观察实验室”:7月最后一天的候选人行为艺术大赏
本文摘要: 数据库优化方面,介绍了SQL语句优化策略(如避免SELECT *、合理使用索引)和表设计优化(合理分库分表、数据类型选择)。针对轨迹数据查询场景,提出了空间索引、轨迹预聚合和Redis数据结构优化方案。Java垃圾回收部分,解释了标记-清除、标记-整理和复制算法的特点及应用场景,并阐述了分代垃圾回收机制的设计原理。最后详细讲解了单例模式的五种实现方式,重点分析了双重检查锁定机制解决线程安全问题的原理。全文涵盖数据库性能优化、空间数据处理、JVM内存管理和设计模式等关键技术点。原创 2025-07-31 15:08:07 · 648 阅读 · 0 评论
分享