- 博客(13)
- 收藏
- 关注
原创 互联网大厂Java面试实录:严肃面试官vs搞笑谢飞机
面试官:谢飞机,告诉我什么是Java的核心特性?谢飞机:Java是一门面向对象、跨平台、垃圾回收的语言。面试官:不错,回答得很准确。面试官:那什么是JUC?如何理解它的意义?谢飞机:JUC就是Java并发包,提供了很多并发工具,比如锁、原子类、线程池。面试官:挺好的,有一定深度。面试官:请讲讲线程池的优势及其工作原理。谢飞机:线程池可以管理线程的生命周期,避免线程频繁创建和销毁,提高性能。它有核心线程数、最大线程数、任务队列等。
2025-09-11 13:39:18
271
原创 互联网大厂Java面试现场:严肃面试官vs搞笑水货程序员谢飞机的对决
请你说说Java的内存模型是怎样的?:Java内存模型?就是把内存分成堆和栈呗,堆是放对象,栈是放变量。:嗯,这回答的不错,理解基本到位。:那你说说Java线程是怎么实现的?:线程是用Thread类实现的,也可以实现Runnable接口。:很好,很基础的问题你掌握挺好。:你了解JVM的垃圾回收机制吗?:很复杂,我觉得就是自动清理不再用的对象,然后还要分代回收,具体我说不清了。
2025-09-05 16:52:10
428
原创 互联网大厂Java面试故事:严肃面试官VS搞笑程序员谢飞机
在互联网大厂的Java面试现场,严肃的面试官与搞笑的水货程序员谢飞机展开了精彩的对话。面试涵盖Java核心知识、JUC、JVM、多线程、线程池等技术,层层递进,展现真实面试氛围。
2025-09-05 16:50:00
456
原创 JAVA后端面试-Bean的生命周期
注解:标注的方法会在依赖注入完成后自动执行。属性:XML 配置中通过<bean init-method="方法名">指定的初始化方法。接口:实现该接口的方法,在属性设置完成后执行。执行顺序→→。
2025-08-31 15:40:30
323
原创 大厂后端开发面试模拟:Spring 核心与动态代理
Spring IOC(Inversion of Control,控制反转)是 Spring 框架的核心思想之一,本质是 “将对象的创建、依赖管理、生命周期控制的权力从业务代码中转移到 Spring 容器”,而非由开发者手动通过new关键字创建对象或维护依赖。耦合度高:传统开发中,若 Service 依赖 Dao,需在 Service 中手动,一旦 Dao 实现类变更(如从MysqlDao改为OracleDao),所有依赖它的 Service 都要修改,违反 “开闭原则”;
2025-08-30 21:31:33
612
原创 互联网大厂JAVA面经:@Autowired和@Resource的区别
若项目仅依赖 Spring 框架,且需要灵活的注入方式(如构造方法注入、配合@Qualifier@Primary),优先使用@Autowired。若需遵循 Java EE 标准,或希望代码不与 Spring 强耦合(例如可能迁移到其他框架),可使用@Resource。实际开发中,@Autowired因 Spring 原生支持和更丰富的功能,使用更为广泛。
2025-08-24 15:02:37
419
原创 JAVA求职必备:MySql索引
MySQL 索引类型的选择需结合业务场景、数据特性、查询需求高频主键查询:优先依赖 InnoDB 聚簇索引;唯一字段去重 + 查询:用唯一索引;多字段组合查询:用复合索引(遵循最左前缀);长字符串查询:用前缀索引(保证区分度);全文检索:用全文索引(英文)或结合 Elasticsearch(中文);空间数据查询:用 R-Tree 索引。合理选择索引可大幅提升 MySQL 性能,反之则可能导致索引冗余、更新变慢等问题,需避免 “过度索引”。
2025-08-23 14:34:28
1371
原创 互联网大厂Java求职者面试必备:如何查询慢SQL语句
在互联网大厂的Java后端面试中,查询慢SQL语句是一个常见且重要的考察点。,并指定日志文件和阈值(如long_query_time=2秒),这样能记录执行时间超过阈值的SQL。在应用层开启SQL监控插件,如MyBatis的性能插件,能实时捕捉慢SQL并定位代码。掌握这些方法,能帮助Java后端工程师快速定位并优化系统中的性能瓶颈,提升面试表现。利用第三方监控与诊断工具,例如阿里云的RDS性能监控、慢查询分析工具等。使用数据库自带的性能分析工具,比如MySQL的。命令查看当前运行的SQL,
2025-08-23 14:12:47
311
原创 互联网大厂Java面试故事:严肃面试官vs搞笑谢飞机的三轮提问
请你简述一下Java中的内存模型以及JVM的基本结构。嗯,Java有堆和栈还有方法区,内存分很多区域,JVM有类加载器、运行时数据区和执行引擎这些部分。很好,回答得很准确。那你说说HashMap和ArrayList的区别。哈哈,HashMap是用来存键值对的,ArrayList是用来存一堆对象的数组。不错,简洁明了。那对于多线程,你知道Java中线程的状态有哪些吗?线程状态?有新建、运行、阻塞、等待、计时等待和终止这些。回答得非常全面。
2025-08-21 20:38:10
1722
原创 JAVA求职必备:JVM与垃圾回收器
JVM 逻辑分区中,方法区从永久代演变为元空间是重要变化,解决了 OOM 问题;堆区基于分代模型划分为年轻代(Eden+Survivor)和老年代,对象按生命周期流转;CMS 侧重低延迟但有碎片问题,G1 适合大堆且兼顾延迟与吞吐量,是 JDK9 及以上的默认收集器。
2025-08-20 14:15:35
370
原创 互联网大厂Java面试实录:谢飞机的奇幻之旅
在一个阳光明媚的下午,谢飞机走进了一家互联网大厂,他将迎来一场充满挑战的Java面试。面试官是一位经验丰富而严肃的技术专家,而谢飞机则是一位试图在大厂展翅高飞的“水货”程序员。:ArrayList是基于动态数组的实现,适合需要快速随机访问的场景。:哦,SpringBoot就是Spring的加强版,像是加了“Boot”的靴子,跑得更快。:MyBatis是一款优秀的持久层框架,优点是灵活使用SQL,缺点是与数据库的强耦合。:JVM是Java虚拟机,是用来跑Java代码的……呃,Java代码的家。
2025-07-15 14:16:22
387
原创 谢飞机的互联网大厂面试之旅
HashMap基于哈希表实现。通过线程池执行服务,可以提交任务,由池中的线程处理。:Spring Boot通过条件注解和自动配置类,提供了一种基于约定的自动化配置方式,简化配置过程。:synchronized用于实现方法或代码块的同步,确保同一时刻只有一个线程执行同步代码。:Java并发工具包(JUC)提供了多线程编程的工具类,包括锁、同步器、并发集合等。**面试官(面露微笑):**好的,今天的面试就到这里,回去等通知吧。**面试官(微微一笑):**嗯,回答得还可以。**面试官(点头):**继续努力。
2025-07-13 21:42:26
478
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅