- 0
- 0
- 约2.98千字
- 约 5页
- 2026-09-02 发布于河北
- 举报
堆栈高频面试题及详细答案(真实面试版)
一、基础概念面试题(入门必问)
1.简单说下什么是栈?什么是堆?核心区别是什么?
参考答案:
栈和堆是程序运行时两种最核心的内存空间,二者的存储特性、管理方式完全不同。
栈是一块连续、固定大小的内存空间,由系统自动分配、自动释放。主要用来存放局部变量、函数参数、函数返回地址、基本数据类型的值。它的存取规则是后进先出,就像一个弹夹,最后压进去的元素最先取出来。函数调用时会开辟栈帧,函数执行结束后,对应的栈帧会立刻被系统回收,速度非常快。
堆是一块不连续、动态可变的内存空间,需要开发者手动申请、手动释放(部分高级语言有垃圾回收机制)。主要用来存放对象、数组、引用类型的数据。堆内存没有固定的存取顺序,空间灵活、可动态扩容,但分配和回收速度比栈慢很多。
核心区别总结:
管理方式:栈由系统自动管理,堆由开发者/垃圾回收机制管理
存取速度:栈速度快,堆速度慢
空间特性:栈空间小、连续固定;堆空间大、离散动态
存储内容:栈存基本类型、局部变量;堆存引用对象、数组
生命周期:栈随函数调用创建、执行结束销毁;堆随对象创建,无引用后才会回收
2.栈的后进先出特性怎么理解?日常场景举例
参考答案:
后进先出就是最后存入栈中的数据,会第一个被取出、删除。栈只有一个出入口,所有操作都在栈顶完成,栈底是固定封闭的。
生活中最典型的例子就是叠盘子:我们放盘子是从上往
您可能关注的文档
- 堵漏技术实操考核试题(含详细答案解析).docx
- 堆肥法技术考核试题及详细答案.docx
- 堆肥法专项试题及详细参考答案.docx
- 堆取料机岗位实操考核试题(含详细答案).docx
- 基础电路期末考试试卷(含详细答案).docx
- 基础电路期末考试试卷(含详细答案解析).docx
- 基础电脑操作基础知识试题(含详细答案).docx
- 基础管理岗位综合考试题.docx
- 基础管理能力综合测试题.docx
- 基础韩语综合测试题(含详细答案解析).docx
- 2026年中国石化销售股份有限公司江苏淮安洪泽北京路加油站介绍企业发展分析报.docx
- 2026年中国石油河南销售公司周口分公司商水油库加油站介绍企业发展分析.docx
- 2026年中国湿式无谷物宠物食品行业市场前景预测及投资价值评估分析报告.docx
- 2026年中国清洁能源采暖行业市场前景预测及投资价值评估分析报告.docx
- 2026年中国燃料电池行业市场前景及投资研究报告.docx
- 2026年中国神华能源股份有限公司_企业报告(业主版).docx
- 2026年中国碳价变化调查报告.docx
- 2026年中国生物医药行业市场调研报告.docx
- 2026年中国生物制品行业市场行情动态研究报告.docx
- 2026年中国碳市场国际借鉴与发展建议.docx
原创力文档

文档评论(0)