数据库操作系统高频面试题(真实面试版+详细答案).docxVIP

  • 0
  • 0
  • 约5.35千字
  • 约 8页
  • 2026-09-08 发布于河北
  • 举报

数据库操作系统高频面试题(真实面试版+详细答案).docx

数据库操作系统高频面试题(真实面试版+详细答案)

第一部分操作系统高频面试题

一、基础核心题

1.讲讲进程和线程的区别?日常开发怎么区分使用场景?

参考答案:

首先核心定义:进程是操作系统资源分配的最小单位,线程是CPU调度的最小单位。

主要区别有四点:

第一,资源隔离。进程之间完全独立,各自有独立的内存空间、文件句柄,一个进程崩溃不会影响其他进程;线程共享所在进程的堆内存、全局变量、文件资源,单个线程异常大概率会导致整个进程挂掉。

第二,开销不同。创建、销毁进程的开销非常大,需要操作系统重新分配内存、创建页表;线程开销极小,只是新增一个调度栈,切换速度远快于进程。

第三,通信方式。进程间通信复杂,需要管道、消息队列、共享内存、Socket等方式;线程直接读写共享变量就能通信,成本极低,但会带来线程安全问题。

第四,执行粒度。一个进程至少包含一个主线程,线程是真正干活的执行单元。

使用场景上:IO密集型场景(接口请求、文件读写、网络请求)用多线程,开销小、切换快;CPU密集型场景(大数据计算、加密解密)适合多进程,能规避单进程GIL锁限制,充分利用多核CPU,同时隔离风险。

2.什么是进程状态?简述三态转换过程

参考答案:

操作系统核心三态:就绪态、运行态、阻塞态。

就绪态:进程已经拿到除CPU之外的所有资源,只要CPU空闲就能立刻执行,排队等待CPU调度。

运行态:CPU

文档评论(0)

1亿VIP精品文档

相关文档