来源:https://blog.51cto.com/qiaopeng688/1856781

一:操作系统

  1. 进程的有哪几种状态,状态转换图,及导致转换的事件。

  2. 进程与线程的区别。资源,CPU调度,并发,

  3. 进程通信的几种方式。

  4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)

  5. 线程的实现方式. (也就是用户线程与内核线程的区别)

  6. 用户态和核心态的区别。

处于用户态执行时,**进程所能访问的内存空间和对象受到限制,**其所处于占有的处理机是可被抢占的;

而处于核心态执行中的进程,**则能访问所有的内存空间和对象,**且所占有的处理机是不允许被抢占的。

  1. 用户栈和内核栈的区别。 https://www.jianshu.com/p/6b2ec520ae02

  2. 内存池、进程池、线程池。(c++程序员必须掌握)

  3. 死锁的概念,导致死锁的原因.

  4. 导致死锁的四个必要条件。

  5. 处理死锁的四个方式。

  6. 预防死锁的方法、避免死锁的方法。

  7. 进程调度算法。(周转时间 = 程序结束时间 -- 开始服务时间、带权周转时间= 周转时间 / 要求服务时间)

  8. Windows内存管理的方式(块式、页式、段式、段页式).

  9. 内存连续分配方式采用的几种算法及各自优劣。

  10. 动态链接及静态链接.

  11. 基本分页、请求分页储存管理方式。