对内存的理解

死锁是怎么产生的?

死锁是指当两个或两个以上进程再执行程序过程中,因争夺资源而造成的相互等待的现象。
产生死锁需要满足四个条件:

  1. 互斥条件:进程对所分配到的资源不允许其他进程访问,若其他进程访问该资源,只能等待,直至占有该资源的教程使用完后释放该资源;
  2. 占有并等待条件:进程获得一定的资源后,又对其他资源发出请求,但是该资源可能被其他进程占有,此时请求阻塞,但该进程不会释放自己已经占有的资源;
  3. 非抢占条件:进程已获得的资源,在未完成使用之前,不可被剥夺,只能在使用后自己释放;
  4. 循环等待条件:进程发生死锁后,必然存在一个进程-资源之间的环形链。

如何破坏死锁?

  1. 资源一次分配,这样就不会再有请求了(破坏请求条件
  2. 只要有一个资源得不到分配,也不给这个进程分配其他的资源(破坏占有并等待条件
  3. 可抢占资源:当进程新的资源未得到满足时,释放已占有的资源,从而破坏不可抢占条件
  4. 资源有序分配法:系统给每类资源赋予一个序号,每个进程按编号递增的请求资源,释放则相反,从而破坏环路等待条件

HTTP状态码

HTTP的有状态和无状态

HTTP的长链接

线程占有的资源

多态的理解

输入一个网址到页面展示

(编码、DNS、缓存、TCP握手、HTTPS、dom解析、js解析、css抽象语法树)

列举出排序方法和他们的复杂度

进程间通信方式以及他们的快慢

乐观锁和悲观锁以及应用场景

知道的其他锁和应用场景以及用哪些锁

为什么选择Java以及为什么用spring

IO多路复用中的select、poll、epoll

DNS解析的详细过程

web server如何处理请求

数据在计算机网络每一层间的交换

HTTP中3xx和4xx状态码