Linux有哪些高频面试题?老男孩Linux学习
老男孩IT教育
常见问题
2021年7月20日 18:07
在Linux学习了一段时间后,我们就可以出去面试了,那面试自然离不开理论知识,也就是Linux的面试题,只有理论知识+技能都合格后,才有可能被心仪的企业所录用,那就需要我们在面试前做一定准备了,也就是背些高频面试题,如果你恰巧也在搜集面试题,那看进来就对了,请看下文:
在Linux学习了一段时间后,我们就可以出去面试了,那面试自然离不开理论知识,也就是Linux的面试题,只有理论知识+技能都合格后,才有可能被心仪的企业所录用,那就需要我们在面试前做一定准备了,也就是背些高频面试题,如果你恰巧也在搜集面试题,那看进来就对了,请看下文:
Linux的I/O模型介绍以及同步异步阻塞非阻塞的区别?
同步:
发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。
异步:
和同步相反。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。
阻塞:
是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行)。函数只有在得到结果之后才会返回。
非阻塞:
与阻塞的概念相反,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。
阻塞IO:
应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。 如果数据没有准备好,一直等待….数据准备好了,从内核拷贝到用户空间,IO函数返回成功指示。
非阻塞IO:
非阻塞IO通过进程反复调用IO函数(多次系统调用,并马上返回);在数据拷贝的过程中,进程是阻塞的。
IO复用:
主要是select和epoll;对一个IO端口,两次调用,两次返回,比阻塞IO并没有什么优越性;关键是能实现同时对多个IO端口进行监听; I/O复用模型会用到select、poll、epoll函数,这几个函数也会使进程阻塞,但是和阻塞I/O所不同的的,这两个函数可以同时阻塞多个I/O操作。
信号驱动IO:
我们允许套接口进行信号驱动I/O,并安装一个信号处理函数,进程继续运行并不阻塞。当数据准备好时,进程会收到一个SIGIO信号,可以在信号处理函数中调用I/O操作函数处理数据。
异步IO:
当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者的输入输出操作。
老男孩Linux运维课程会随着技术的发展,定期进行课程升级,满足企业用人所需;优选企业级实战案例,手把手教你大集群项目,让你真正学以致用。
推荐阅读:
