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

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

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


边栏推荐
- Four methods of finding combinatorial numbers
- 基于Vue+Nest.js+MySQL的跨平台开源社区运营管理系统
- Performance monster on arm64: installation and performance test of API gateway Apache APIs IX on AWS graviton3
- [tcapulusdb knowledge base] tcapulusdb cluster management introduction
- Nim game ladder Nim game and SG function application (set game)
- 很妙的贪心(F2. Nearest Beautiful Number (hard version))
- break algorithm---dynamic planning(dp-func)
- 轻量级实时语义分割:ENet & ERFNet
- UE4,UE5虚幻引擎,Command Console控制台命令,参数集
- 查询当前电脑cpu核心数
猜你喜欢

关于 SAP Spartacus CmsService.getComponentData 可能的优化思路

C#/VB.NET 在Word转PDF时生成目录书签

2021CCPC网络赛题解加总结

Process of manually encrypting and burning the mass production firmware of ESP equipment

Camunda timer events example demo (timer events)

手动加密 ESP 设备量产固件并烧录的流程

【TcaplusDB知识库】TcaplusDB集群管理介绍

【TcaplusDB知识库】Tmonitor单机安装指引介绍(二)

ARM64 上的性能怪兽:API 网关 Apache APISIX 在 AWS Graviton3 上的安装和性能测试

树莓派开发笔记(十六):树莓派4B+安装mariadb数据库(mysql开源分支)并测试基本操作
随机推荐
socket编程(上)
[tcapulusdb knowledge base] tcapulusdb doc acceptance - create business introduction
Analysis and summary of 2021ccpc online games
Ue5 small knowledge points geometry script modeling
Ue5 random point in bounding boxf from stream
【TcaplusDB知识库】TcaplusDB新增机型介绍
Discord机器人开发
break algorithm---multi-interface
break algorithm---multi-interface
MCDF实验2
[tcapulusdb knowledge base] tcapulusdb doc acceptance - Introduction to creating game area
Camunda timer events example demo (timer events)
『忘了再学』Shell基础 — 30、sed命令的使用
ue5 小知识点 geometry script modeling
银行业务系统数据库设计与实现
break algorithm---dynamic planning(dp-func)
2021CCPC网络赛题解加总结
Show/exec and close/hide of QT form are not executed when calling the close destructor
【ROS】MoveIt-rviz-七自由度机械臂仿真
To avoid letting the transformation enterprises go astray, it is time to re understand the integration of xiahu warehouse| Q recommendation