计算机通用面试真题及详细答案(零基础_校招_初级岗适用).docxVIP

  • 2
  • 0
  • 约4.44千字
  • 约 8页
  • 2026-07-22 发布于河北
  • 举报

计算机通用面试真题及详细答案(零基础_校招_初级岗适用).docx

计算机通用面试真题及详细答案(零基础/校招/初级岗适用)

一、计算机基础知识

1、简述堆栈和队列的区别,实际项目中分别用过什么场景?

答案:

核心区别就是存取规则不同:栈是后进先出(LIFO),队列是先进先出(FIFO)。

栈只在一端(栈顶)做入栈、出栈操作,另一端固定封闭;队列是两端操作,一端入队,一端出队。

实际场景:

栈:程序方法调用栈、浏览器后退功能、括号匹配校验、表达式求值。

队列:消息队列削峰、任务排队执行、线程池任务队列、接口请求排队。

2、数组和链表的区别,各自优缺点?

答案:

数组是连续内存存储,链表是离散内存、通过指针/引用串联。

数组优点:随机访问速度快,根据下标可以直接取值;内存连续、缓存利用率高。

数组缺点:固定长度,扩容麻烦;插入、删除元素需要移动大量数据,效率低。

链表优点:动态扩容,没有长度限制;插入、删除只需要修改指针指向,不需要移动数据,效率高。

链表缺点:不支持随机访问,查找元素必须从头遍历;每个节点额外占用指针内存,内存开销大。

3、什么是时间复杂度和空间复杂度?常见的复杂度排序?

答案:

时间复杂度:用来估算代码执行的运算次数,衡量代码运行快慢,只看最高次项,忽略常数。

空间复杂度:估算代码执行过程中额外占用的内存空间,不包含原始输入数据。

常见复杂度从小到大:O(1)O(logn)O(n)O(nlogn)O(n2)O

文档评论(0)

1亿VIP精品文档

相关文档