陌陌一面笔记
没回答好的几个点记录一下:
Netty IO模型
NIO的几种模型
nonblocking IO

nonblocking IO的特点是用户进程不断询问内核数据准备好了没有。
IO多路复用
select、poll、epoll。
select轮询和非阻塞IO的轮询区别就是select可以对多个socket端口进行监听。

当用户进程调用了 select,那么整个进程会被 block ,而同时,kernel 会“监视”所有 select 负责的 socket,当任何一个 socket 中的数据准备好了,select 就会返回。这个时候用户进程再调用 read 操作,将数据从 kernel 拷贝到用户进程。
信号驱动IO
Socket 进行信号驱动 IO,并安装一个信号处理函数,进程继续运行并不阻塞。当数据准备好时,进程会收到一个 SIGIO 信号,可以在信号处理函数中调用 I/O 操作函数处理数据。
AIO
异步非阻塞IO。

Java常规的NIO,对于NIO来说,我们的业务线程是在IO操作准备好时,得到通知,接着就由这个线程自行进行IO操作,IO操作本身是同步的。
AIO来说,则更加进了一步,它不是在IO准备好时再通知线程,而是在IO操作已经完成后,再给线程发出通知。因此AIO是不会阻塞的,此时我们的业务逻辑将变成一个回调函数,等待IO操作完成后,由系统自动触发。
MySQL ACID如何保证,redo undo再看下
问我什么时候可以来实习
给我问懵逼了,我不是校招吗?

有人说可以部门协商,随意啦,刷个面试经历。