写点什么

为什么国内的程序员都痴迷 “海量高并发”?

  • 2020-04-14
  • 本文字数:1910 字

    阅读完需:约 6 分钟

为什么国内的程序员都痴迷 “海量高并发”?

身体恢复后的第一个工作周,所有的时间几乎被面试所占满。


一般每年的春节过后的三月与四月都是招聘旺季,那些对当下存在不满的,或者想得到更好发展的小伙伴都开始蠢蠢欲动。


对面试官来说,这绝对不是一个快乐的季节,每当回忆起面试过程中的种种细节,我的内心总会掀起一阵阵的疲惫感。


面对堆得像小山一样的简历,你必须用最短的时间,在其中找到有用的信息,并决定是否要邀约求职者进行进一步面谈……这个流程,相信每位面试官都不陌生。而对求职者来说,要想给面试官留下深刻印象,并赢得面试机会,也必须学会在简历中的巧用一些关键词汇。


在近二十年的职业生涯里,我看过不下上千份的简历。在形形色色的关键词中,打着 “有海量高并发经验” 与 “精通技术原理” 这两杆大旗的不在少数。


先说有经验的,不是说自己对某某开源软件的原理非常精通,或者对某项通讯协议有独到的见解,就是说自己对高并发有比较深入的研究和丰富的开发实战经验,或者熟悉大并发技术。


再说没经验的,干脆用恳求的口吻写明,希望将来可以处理高并发业务与技术,开发数千万/数亿级别并发的应用。


看这架势,似乎在绝大多数的程序员心中,只要拥有这两项技能,职业生涯就能完美收官,从此走上人生巅峰。


但在这股痴迷之风的背后,当国内的许多程序员面向海量高并发场景时,是否真的有进行充分的思考?


思考 1:高并发场景背后的高成本

去年在某微信群中,和一些朋友争论 “技术基础化服务到底是选择商业采购,还是开源自研?” 的话题。


有的人说,商业采购不仅贵,自主性差,而且体现不了技术价值。


有人则说,开源自研不仅投入成本高,技术风险大,而且费力不讨好。


这种话题本来就是爹说爹有理,娘说娘有理的事,不同的企业或行业,不同的技术负责人都会得出不同的结论。


不过,有一个观点大家都比较赞同,所谓技术方案,无论选择哪一边,都是基于最优成本的落地实践。


这句话怎么理解呢?


比如,一般在企业中做开发,都至少要有开发、集成测试、生产等多套环境,外加一些灾备环境。如果用了服务器集群,那么高并发方案的服务器的数量就要比堆硬件硬抗的方案翻好几倍,而且运维的成本也会增加很多。


另外,为了能够支撑这么多的环境,同时降低众多人肉运维的成本,自然需要招聘价格更昂贵的自动化运维工程师。


这一来一去,不管你的方案有多牛逼,在老板眼里似乎只看到了快速飙升的技术成本。而在许多程序员眼中,始终觉得只要方案好,成本不是问题,如果企业不愿意承担成本,那就是老板抠门。


这些年里,无论是我自己,还是身边朋友,因为成本过高而夭折的项目不在少数,很多矛盾都由此而形成。


在我看来,如何用各种方式降低你方案的成本,并且说服企业应用,才是在实现高并发场景之前迫切需要思考的问题。


思考 2:你擅长高并发?证明给我看

在部分高端技术岗位的面试中,我喜欢让求职者在黑板上写或画出一些核心内容的实现过程。


原因很简单,为了考察其简历中部分内容的真实性。


比如,简历上写了 “有关高并发“ 的相关内容,我就一定会问上一句:最终解决的效果怎么样?


可惜的是,我感觉大多数的人都回答的不太理想。


有人说,你这是故意找茬吧。是吗?那我来举几个例子看下。


比如,我会问在高并发场景中,你通常会用到负载均衡中的哪几种分配方式?


或者问,当你采用了高并发策略后,与之前相比,对项目的改进和提升能达到多少?请用数据化的结果说明一下。


还会问,假设现有规模再扩大一倍,在现有的高并发策略上,你还会做出哪些调整?


在我的经历中,绝大多数的人都会把 Docker 与虚拟化的理论跟我背诵一通,或者干脆画一张用 2-3 台电脑实现的平均分配的负载均衡策略示意图,只有少数几位,能够有条理的写出负载均衡的原理与在各业务场景的落地实践过程。


如果光看简历,可能你会觉得这些人都差不太多。


因此,在我看来,用原理和经验深度的验证方式,是发现是否擅长高并发场景的最佳套路。


什么?你问那少数几位最后都成功入职了吗?很遗憾,大部分都因薪酬谈不拢而告吹。



不知道从什么时候开始,但凡每次在面试中谈到海量高并发的话题,我总会苦口婆心的唠叨几句。


比如说,痴迷高并发技术不是坏事,但良好的技术功底不仅仅体现在能处理高并发。


比如说,能解决实际业务问题的技能才是企业需要的,为要为了技术而技术。


比如说……


可能我真的年纪大了,感觉自己越来越唠叨,看不惯的事务越来越多,啥事都要叨几句。


这番话在对方听来,也无非保持一个尴尬而不失礼貌的微笑,内心千万只草泥马奔腾而过,很想说干你屁事。


但我始终觉得,作为国内的程序员,与其痴迷某些技术的尖端,不如解决某些行业的业务落地。


也许只有这样,才能获得更好的职业发展。


本文转载自头哥侃码公众号。


原文链接:https://mp.weixin.qq.com/s/xPU_kUcbHyISKprholbq5g


2020-04-14 17:19989

评论

发布
暂无评论
发现更多内容

HarmonyOS NEXT 跑马灯组件详解

巴库一郎

鸿蒙 HarmonyOS HarmonyOS NEXT 实践分享

Rust多线程中安全的使用变量

量贩潮汐·WholesaleTide

rust 后端

iVX 研发基座技术与多厂商协作框架深度解析

代码制造者

构架 全栈低代码

征程 6 yolov5s-rgb-nhwc量化指南

地平线开发者

自动驾驶; 算法工具链 地平线征程6

《算法导论(第4版)》阅读笔记:p39-p48

codists

算法

开源大数据平台建设经典案例合集

阿里云大数据AI技术

人工智能 数据库 大数据 数据分析 数据处理

SEO与渲染方式

溪抱鱼

JavaScript typescript

RocketMQ原理—消息读写的性能优化

量贩潮汐·WholesaleTide

RocketMQ

原来鼠标的这个侧边键还能这样用!

程序员郭顺发

郎酒入选"2025外国人喜爱的中国品牌"

财见

中国版 Cursor---腾讯云 CodeBuddy | 从安装VSCode到数独小游戏问世

六月的雨在InfoQ

MCP CodeBuddy首席试玩官 MCP Server MCP头号玩家

【华为云MySQL技术专栏】MySQL分区裁剪,提升分区表查询性能

华为云开发者联盟

:MySQL 数据库 ,华为云

浅谈低代码开发中的元数据框架

inBuilder低代码平台

5月15日Jim老师RSG在线话题分享:硬件敏捷开发实践

ShineScrum

Scrum 敏捷 RSG

A10 ACOS 5 - 专为现代应用程序设计的开放式云就绪操作系统

sysin

A10

扎克伯格:AR 眼镜会是未来的手机,VR 则是未来的电视;Manus AI 融资 7500 万美元,开放免费使用丨日报

RTE开发者社区

CSS 内容溢出怎么处理?

秃头小帅oi

VMware Tools 12.5.2 下载 - 客户机操作系统无缝交互必备组件

sysin

vmware

YashanDB 知识库|JDBC 查 st_geometry 报内存分配失败?一行授权搞定!

数据库砖家

数据库

Voice Agent Camp 招募:GPT-4o 一周年,我们决定发起一个创业营丨超音速计划 2025

RTE开发者社区

项目管理协作工具:Teambition VS Leangoo

axe

Teambition leangoo 项目管理协作工具

A10 vThunder 5.2.1-P12 LTS - 虚拟化应用交付控制器 (ADC)

sysin

A10

Arcadis在最新的国际建筑成本报告中表示,日内瓦重新夺回了世界上最昂贵的城市的称号

财见

Arthas perfcounter(查看当前 JVM 的 Perf Counter 信息)

刘大猫

JVM 监控 Arthas 监控工具 perfcounter

A10 Thunder 5.2.1-P12 LTS - 应用交付与负载均衡

sysin

A10

50系与40系显卡差别:ToDesk云电脑登顶?顺网云/海马云/青椒云差距多大?

Yan-英杰

AI 云电脑

HarmonyOS 如何实现传输中的数据加密

网罗开发

鸿蒙 HarmonyOS HarmonyOS NEXT

Web前端入门:CSS 内容溢出怎么处理?

电子尖叫食人鱼

CSS 前端 Web

RabbitMQ高级使用

不在线第一只蜗牛

Java Rabbit MQ

城市巡回丨2025 Altair区域技术交流会华北站,精彩日程出炉!

Altair RapidMiner

人工智能 AI 汽车 数字孪生 CAE

行业首创!快手开源短视频内容质量评测标准KuaiMod!

快手技术

为什么国内的程序员都痴迷 “海量高并发”?_文化 & 方法_头哥侃码_InfoQ精选文章