操作系统高频面试问题总结

技术交流可以加:
本人微信:xcg852390212
本人qq:852390212
学习交流qq群1(已满): 962535112
学习交流qq群2: 780902027

操作系统常见面试问题

  • 进程与线程的区别和联系
  • 一个进程可以创建多少线程,和什么有关
  • 一个程序从开始运行到结束的完整过程(四个过程)
  • 进程通信方法(Linux和windows下),线程通信方法(Linux和windows下)
  • 文件读写使用的系统调用
  • 怎么回收线程
  • 守护进程、僵尸进程和孤儿进程
  • 处理僵尸进程的两种经典方法
  • 进程终止的几种方式
  • linux中异常和中断的区别
  • 一般情况下在Linux/windows平台下栈空间的大小
  • 五种IO模型
  • 守护进程
  • 程序从堆中动态分配内存时,虚拟内存上怎么操作的
  • 交换空间与虚拟内存的关系
  • 堆和栈的区别;从堆和栈上建立对象哪个快?(考察堆和栈的分配效率比较)
  • 内存泄漏和内存溢出
  • 常见内存分配方式和错误
  • 堆内存和栈内存的区别
  • 可重入函数和可重入内核
  • 操作系统动态内存分配的几种策略
  • 内部碎片和外部碎片
  • 系统调用进入内核态的过程
  • 内核态和用户态的区别
  • 常见的进程调度算法以及linux的进程调度
  • 中断、陷阱、故障和终止
  • 进程通信方法

同步进程通信:管道、FIFO(命名管道)、消息队列、共享内存、信号量(用于进程同步)、socket套接字

异步进程通信:信号

  • 线程互斥和同步的方法

互斥:互斥量、读写锁、自旋锁

同步:轮询结合互斥量、条件变量、信号量、屏障

  • 内存对齐的规则和作用
  • 页面置换算法

最佳

最近最久未使用(LRU)

最近未使用(NRU)

先进先出(FIFO)

第二次机会算法

时钟算法

  • 实现一个LRU页置换算法(或者FIFO置换算法)
  • 死锁的必要条件(怎么检测死锁,解决死锁问题),银行家算法(死锁避免)
  • 哲学家就餐,读者写者,生产者消费者(怎么加锁解锁,伪代码)
  • 海量数据的bitmap使用原理
  • 布隆过滤器原理与优点
  • 布隆过滤器处理大规模问题时的持久化,包括内存大小受限、磁盘换入换出问题

你可能感兴趣的:(学习面试经验总结)