面试有被问到网络 IO 的问题,这玩意儿到底有啥用处?(理解它的必要性、使用场景等)
网上的博客都在说细节,就把它当作八股文的一部分,我想知道一些实际的用途
|  |      1kenneth104      2022-08-27 10:28:49 +08:00 网络 IO ,这话题感觉很大? 是特指 sockets 套接字么? | 
|  |      2fengchen0vr      2022-08-27 10:29:00 +08:00  3 硬件方面,中断之类的会占用 cpu 软件方面,发包延时,队列 | 
|  |      3uiosun OP @kenneth104 面试官就问我网络 IO ,没有特指……所以我也不知道到底是 socket 、eproll 或者啥了 | 
|  |      4documentzhangx66      2022-08-27 10:37:54 +08:00 既然面试官没特指,那你就给他上一课,从网络被发明时讲起嘛,然后讲到各种网络协议、现代网络结构、各种网络硬件与软件,等等。 | 
|  |      5kenneth104      2022-08-27 10:38:24 +08:00 是挺笼统的问题,尝试在你认知内回答就好。。感觉不用硬顶着回答 | 
|  |      6wellsc      2022-08-27 10:40:22 +08:00 有点反智了 | 
|  |      7ryd994      2022-08-27 10:53:04 +08:00 via Android 如果你不知道有啥用,那就没啥用。计算机是一门实践技术,要用什么学什么。 | 
|  |      8bigbyto      2022-08-27 11:11:47 +08:00 via iPhone  4 IO 是很多东西的基础,不理解的话也很难理解其他框架,容易人云亦云。 比如 tomcat 是如何操作 web request 的,你不理解 io 模型,就不理解为什么要那样设计。 还有 kafka 为什么性能那么高?就是因为 zero-copy 和顺序 io 以及充分利用了 page cache 等等。 这是个基础,别因为是八股文就排斥。之前写过一篇 io 的,自认为还可以,有兴趣可以参考一下。 https://wiyi.org/linux-io-model.html | 
|  |      9bigbyto      2022-08-27 11:15:44 +08:00 via iPhone 再举个例子,tomcat 和 netty 一个是阻塞 io ,一个非阻塞(多路复用),让你去调整它们的线程池,不懂 io 的话,你就不知道怎么调,只能瞎蒙。 | 
|      10myd      2022-08-27 11:33:24 +08:00 线上系统偶尔会出现网络问题,不了解原理的话很难定位问题 | 
|  |      11darkengine      2022-08-27 11:59:22 +08:00  2 前端:大部分 UI 卡顿跟网络 IO 有关 后端:服务的并发、请求调度跟网络有关,随着分布式的发展,连存储都跟网络 IO 有关。 你说理解网络 IO 有啥用 | 
|  |      12Helsing      2022-08-27 12:05:35 +08:00 via iPhone 简单点说,网络 IO 设计的不好会影响网络吞吐量,进而影响访问速度,下游或用户就会发现服务访问慢,直接感受就是体验不好,最后就有可能导致用户流失。用户流失那钱就没了。 | 
|  |      14uiosun OP | 
|  |      15fkdtz      2022-08-27 12:44:20 +08:00 现如今的业务场景几乎没有只需要单机处理就能满足的,而且摩尔定律早已失效,提升单机性能已达极限,所以基本上都是分布式系统了。 网络 IO 之于分布式系统,就像文件 IO 之于单机系统。 利用 IO 的特点,发挥最佳性能,如果不理解 IO ,就没办法实现。 | 
|  |      16rb6221      2022-08-27 12:51:50 +08:00 八股文确实是没用啊,不过是大部分基层工作没用,随着你技术的深入就会发现用处了。我也不知道他现在有什么用,但并不妨碍我继续学他 | 
|      17fox0001      2022-08-27 14:48:09 +08:00 via Android 1 )不知道你面试的什么工作和职位,很难判断。 2 )“网络 IO”这几个字很模糊,或者说范围大。或者问问面试官想要问什么? | 
|      18Jooooooooo      2022-08-27 17:28:15 +08:00 redis 为什么是单线程的? | 
|  |      19akira      2022-08-27 18:04:15 +08:00 对 CRUD boy 确实没啥用。 一个公司里面 有那么 2 个人会就行了。  大部分公司没人会也没啥事。。。 |