当前位置:网站首页>【真相】大厂招人不怕花钱的原因竟然是。。。
【真相】大厂招人不怕花钱的原因竟然是。。。
2022-06-13 11:37:00 【InfoQ】

- 比如,现在的互联网应用大部分都是通过TCP连接来工作的,那么一台机器最多能撑多少个TCP 连接?按道理说,整个业界都在讲高并发,这应该算是很入门的一个问题了。但当年我产生这个疑问的时候,在搜索引擎上搜了个遍也没找到令我满意的答案。后来我干脆自己动手,花了一个多月时间边做测试,边扒内核源码,才算是把问题彻底搞明白了。
- 再比如,大部分的开发人员都搞过网络相关的开发。那么一个网络包是如何从网卡到达你的进程的?这个问题表面上看起来简单,但实际上很多性能优化方案都和这个接收过程有关,能不能深度理解这个过程决定了你在网络性能上有多少优化措施可用。例如多队列网卡的优化方案是在硬中断这一步开始将工作分散在多个 CPU 核上,进而提升性能的。我几年前想把这个问题彻底搞清楚,几乎搜遍了互联网,翻遍了各种经典书都没能找到想要的答案。
- 还比如,网上搜到的三次握手的技术文章都是在说一些简单的内容,客户端如何发起 SYN 握手进入 SYN_SENT 状态,服务端响应SYN并回复 SYNACK,然后进入 SYN_RECV……诸如此类。但实际上,三次握手的过程执行了很多内核操作,比如客户端端口选择、重传定时器启动、半连接队列的添加和删除、全连接队列的添加和删除。线上的很多问题都是因为三次握手中的某一个环节出问题导致的,能否深度理解这个过程直接决定你是否有在线上快速消灭或者避免此类问题的能力。网上能深入介绍三次握手的文章太少了。
- 一是底层的书都写得比较深奥难懂,你看起来需要花费大量的时间。假如你已经工作了,很难有这么大块的时间去啃。比如我刚开始深入探寻网络实现的时候,买来了《深入理解Linux内核》《深入理解Linux网络技术内幕》等几本书,利用工作之余断断续续花了将近一年时间才算理解了一个大概。
- 另外一个问题就是当你真正在工作中遇到一些困惑的时候,会发现很难有一本经典书能直接给你答案。比如在《深入理解 Linux 网络技术内幕》这本书里介绍了内核中各个组件,如网卡设备、邻居子系统、路由等,把相关源码都讲了一遍。但是看完之后我还是不清楚一个包到底是如何从网卡到应用程序的,一台服务器到底能支持多少个TCP连接。
- 还有个问题就是计算机技术不同于其他学科,除理论外对实践也有比较高的要求。如果只是停留在经典书里的理论阶段,实际上很多问题根本就不能理解到位。这些书往往又缺乏和实际工作相关的动手实验。比如对于一台服务器到底能支持多少个TCP连接这个问题,我自己就是在做了很多次的实验以后才算比较清晰地理解了。还有就是如果没有真正动过手,那你将来对线上的性能优化也就无从谈起了。

- 想通过提升自己的网络内功而进大厂的读者。
- 不满足于只学习网络协议,也想理解它是怎么实现的读者。
- 虽有几年开发工作经验,但对网络开销把握不准的开发人员。
- 想做网络性能优化,但没有成体系的理论指导的读者。
- 维护各种高并发服务器的运维人员。


边栏推荐
- 【Verilog向SystemVerilog过渡遇到的问题】~ 信号变量类型的转变、 == 和 ===的区别
- About SAP Spartacus cmsservice Possible optimization ideas for getcomponentdata
- [tcapulusdb knowledge base] tcapulusdb doc acceptance - create business introduction
- Nim game ladder Nim game and SG function application (set game)
- (Yousheng small message-04) how to use mobile WPS for electronic signature on PDF
- 1051. 高度检查器
- 塔米狗知识|全面剖析国有企业并购含义及其作用
- 我是如何解决码云图床失效问题?
- 『忘了再學』Shell基礎 — 30、sed命令的使用
- 【TcaplusDB知识库】TcaplusDB新增机型介绍
猜你喜欢
1051. height checker
How vscode converts a tab key in an edited file into a spacebar
Tamidog knowledge | a comprehensive analysis of the meaning and role of mergers and acquisitions of state-owned enterprises
手动加密 ESP 设备量产固件并烧录的流程
camunda如何使用script脚本节点
数位DP例题
很妙的贪心(F2. Nearest Beautiful Number (hard version))
【TcaplusDB知识库】TcaplusDB新增机型介绍
1051. 高度检查器
[tcapulusdb knowledge base] Introduction to tmonitor background one click installation (I)
随机推荐
Web 3.0? High cost version of P2P
Miidock file distribution
树莓派开发笔记(十六):树莓派4B+安装mariadb数据库(mysql开源分支)并测试基本操作
F2. nearest beautiful number (hard version)
Ipdu handling caused by mode change of COM
[ROS] moveit rviz seven DOF Manipulator Simulation
【TcaplusDB知识库】TcaplusDB单据受理-创建游戏区介绍
2020 ICPC Asia Taiwan Online Programming Contest C Circles
2020 ICPC Asia Taiwan Online Programming Contest C Circles
VSCode 如何将已编辑好的文件中的 tab 键转换成空格键
Euler function and finding Euler function by linear sieve
手动加密 ESP 设备量产固件并烧录的流程
How fastapi responds to file downloads
docker Dockerfile安装mysql5.7
Nim game ladder Nim game and SG function application (set game)
Camunda定时器事件示例Demo(Timer Events)
Four methods of finding combinatorial numbers
Type de condition pour ts Advanced
Analysis and summary of 2021ccpc online games
【TcaplusDB知识库】TcaplusDB新增机型介绍