Skip to content

操作系统

  • 操作系统如何申请以及管理内存的?
  • 进程通信中的管道实现原理是什么?
  • 简单介绍进程调度的算法
  • 简述 Linux 系统态与用户态,什么时候会进入系统态?
  • 简述 LRU 算法及其实现方式
  • 简述操作系统如何进行内存管理
  • 什么时候会由用户态陷入内核态?
  • 简述操作系统中的缺页中断
  • 简述几个常用的 Linux 命令以及他们的功能
  • 简述操作系统中 malloc 的实现原理
  • Linux 中虚拟内存和物理内存有什么区别?有什么优点?
  • Linux 下如何查看端口被哪个进程占用?
    lsofnetstat
  • Linux 下如何排查 CPU 以及 内存占用过多?
  • Linux 下如何查看 CPU 荷载,正在运行的进程,某个端口对应的进程?
  • 如何调试服务器内存占用过高的问题?
  • Linux 如何查看实时的滚动日志?
  • BIO、NIO 有什么区别?怎么判断写文件时 Buffer 已经写满?简述 Linux 的 IO模型
  • 简述 socket 中 select 与 epoll 的使用场景以及区别,epoll 中水平触发以及边缘触发有什么不同?

线程 进程

  • 进程和线程之间有什么区别?
  • 进程间有哪些通信方式?
  • 线程间有哪些通信方式?
  • 简述同步与异步的区别,阻塞与非阻塞的区别
  • 线程有多少种状态,状态之间如何转换
  • 进程有多少种状态?
  • 进程空间从高位到低位都有些什么?
  • Linux 进程调度中有哪些常见算法以及策略?

  • 简述自旋锁与互斥锁的使用场景
  • 什么情况下会发生死锁,如何解决死锁?
  • 简述乐观锁以及悲观锁的区别以及使用场景

吃好喝好 快乐地活下去