程序员面试,为什么不跟我谈高并发?
作为一个看过几千份简历,面试过几百人的面试官,常常会看到简历中有如下文字:
对业务逻辑解耦,高并发等有比较深入的研究和丰富的开发实战经验
对解决高并发问题有深入理解
熟悉大并发技术,如:反向代理、负载均衡、Keepalived
而当我在面试中,问及对方的职业规划的时候,也有一大半人会回答
希望将来可以处理高并发业务
希望学习高并发相关技术
希望开发数千万/数亿级别并发的应用
但是当我问及以下问题的时候,绝大多数人都会麻爪:
负载均衡有几种分配方式?(大概不到1/10的简历提及高并发的人能答出来)
有没有用任何方式(比如虚拟机)模拟过各种集群(API服务器,数据库,CDN等等)?
有没有用任何方式测试过采用了高并发应对策略后对项目的改进和提升?数据有什么变化?
如果业务规模再次扩大,下一阶段应该用什么技术和策略?
问题就在这里了,
为什么我会把简历里提及“高并发”的绝大多数人KO掉,或者在面试中,对职业规划只有“高并发”的人发拒信?
很爱“高并发”的面试者,应当如何在简历中体现自己的能力和期待?
首先,绝大多数人没有考虑过如何把技术应用于高并发场景
以PHP码农圈子而言,绝大多数用PHP的企业都是初创或者早期公司或者技术储备并不丰富的中小企业,这些企业做正常业务的很难有做高并发的使用场景。(例外:涉黄,涉赌,超大企业【腾讯华为之类】外包团队)对于新手小白想更轻松的学好Java提升,Java架构,web开发、大数据,数据分析,人工智能等技术,这里给大家分享系统教学资源,扩列下我尉(同英):CGMX9880 【教程/工具/方法/解疑】
因此,大多数的初中级PHP码农是没有机会在生产环境应用高并发相关技术的,自然也就不会有什么积累和心得。
我经常会问沉迷于高并发的面试者:当你有了一个数千万乃至数亿级别的高并发解决方案的时候,你准备用在哪里?让谁买单?
显而易见,买单的是企业,企业为用户服务,但是这样规模的企业本身已经不是很多,而且它们使用的方案或者是已有的成熟方案,或者是企业内部长期迭代得来,不太会有人冒业务中断的风险去应用一套外部的没来头的方案。
另外,解决高并发的方案不是单纯的三五项技术,而是许多套完整的技术栈,把它运行起来需要一个完整的研发、运维团队来进行支持,没有几个单独的个人可以百分百解决,那么这个人的技能短板会立刻导致方案不可靠。
因此,脱离使用场景的技术价值是要大打折扣的。
第二,高并发背后的高成本是大多数人没有考虑过的
硬件成本的问题:一般在企业中做开发,都至少要有开发环境,集成测试环境,生产环境,有的时候还需要有镜像的灾备环境。如果用了服务器集群,那么高并发方案的服务器的数量就要比堆硬件硬抗的方案翻好几倍。而且运维的成本也会增加很多。
人力因素也很重要,人肉运维自然是成本贵,能写程序搞自动运维的工程师显然更贵。
成本需要企业来买单,程序员学了用了新技术开心了,企业成本提高做挂了显然不是企业想看到的。
因此,如何用各种方式降低你的方案的成本【比如在虚拟环境做各种测试】并且说服企业应用,是面试者要思考的问题。
第三,高并发只是业务规模巨大导致的众多严重问题中的一个,还不一定是最重要的那个
高并发只是表象,业务规模用户规模巨大会导致一系列严峻问题,不仅仅是高并发。
举例来说,团购秒杀拍卖之类的场景是常见的高并发应用场景。总而言之都是卖货,但是在卖货的大前提下,商品库存数字的变化(要不要实时,要不要各端同步),订单状态变化对业务流程的影响(下单减库存还是付款减库存还是发货减库存,预售和返现等营销行为导致的钱款卡券变化)都有可能导致整个方案变化。【想想12306,处理商品库存数据的实时性要比处理高并发请求复杂的多】
因此,结合具体业务场景,展示出面试者在整个业务场景中,包含但不限于高并发技术而体现出来的价值,才能为面试加分。
第四,你说你擅长高并发,你得要证明给我看
从面试的角度来说,我除了预设的面试题之外,还会很细致的询问对方的简历细节。
知乎用户:为什么有面试官喜欢让面试者用纸笔写代码?
面试者在简历上写了擅长高并发,那我就要三段论问一下:是什么问题,怎么解决的,效果如何?
即使去掉伪造简历和过度美化简历的人,仍然有大多数人无法回答第三个“效果如何”的问题。
大量的声称研究过负载均衡的面试者都是用两三台电脑搭一个环境测试能够实现平均分配的负载均衡策略,但是如果问“如果我想测试三五台或七八台服务器的场景应该如何实现?”就又答不出来了。
(答案:现在有docker,古时候有各种虚拟机【vmware,virtual box】和云端部署【gae,sae之类】,实在不行还可以用各种云服务器的按量付费按小时启动服务就好)
因此,用丰富的细节和深刻理解的心得体会来证明面试者的技能水平,是面试要解决的一个最核心的问题。能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多
总结:
掌握高并发技术不是坏事,技术好不仅仅体现在能处理高并发
有水平需要证明,证明需要实践(企业没有责任挖掘面试者的价值,面试者需要自己证明)
能解决实际业务问题的技能才是企业需要的,企业里没有龙,面试者的屠龙之技就没有卖点
不要过度美化简历(我的建议:至少要能够抗住3-5个刨根究底的问题才能写到简历上)
程序员面试,为什么不跟我谈高并发?相关推荐
- 阿里巴巴10年程序员,教科书式总结~关于Java高并发问题解决方案
作为一个 Java 开发人员,多线程是一个逃不掉的话题,不管是工作还是面试,但理解起来比较模糊难懂,因为多线程程序在跑起来的时候比较难于观察和跟踪.搞懂多线程并发知识,可以在面试的时候和周围人拉开差距 ...
- Java 高级软件工程师面试题,java 教程多态,Java 程序员面试笔记 pdf
正文 梳理知识点,是快速提升技术的关键 前面讲过,快速提升自己的技术硬实力其实是有方法的.大致就是梳理知识点+夯实基础+进阶深入学习+实战,下面我会一点点跟大家剖析,本文干货满满,大家仔细阅读. 梳理 ...
- 程序员面试谈薪资的6大技巧
程序员面试谈薪资的6大技巧 提起薪资,我们作为求职者都想多要点,作为程序开发者 更需要一个好的敲门,身怀绝技, 如果不会谈薪 ,那就不就亏大了吗? 原文来自程序人生: http://gad.qq.c ...
- 程序员面试时,怎样跟HR谈薪水
程序员面试时,怎样跟HR谈薪水 很多在职场混迹多年的小伙伴,可能会对自己已有的工作环境和工作薪资不太满意,产生了跳槽的想法.对于这些有一定工作经验的童鞋,应该如何在主动跳槽或被猎头挖的过程中优雅机智谈 ...
- 裁员大潮来袭,程序员面试的这些技巧收藏好!
题图 | Silicon Valley 导读 近日,互联网大厂的「裁员」话题上了热搜,据说有的公司裁员数量高达总员工数的30%.在目前僧多肉少.行业内卷加剧的背景下,出现这种情况并不意外.但不论怎样, ...
- 移动互联网下半场 iOS 程序员面试真经,让你进入 BAT 不再是梦
前言: 其实说实话,作为程序员,最起码得有 80% 的人都想进入大公司工作,比如:BAT ,小米,滴滴,今日头条,美团等这样的大公司或者移动互联网界的明星企业. 进大公司的好处显而易见,福利好,待遇高 ...
- 程序员面试什么最重要
2013程序员面试什么最重要? 2013-02-17 09:51:00 来源:博客园 程序员面试一直是社区乐于讨论的热门话题.我自己从06年实习以来,先后经历了4家软件公司,全部是外企,其中有世界 ...
- IT旅途——程序员面试经验分享
摘要:本文从IT人员的角度,一起分享面试道路上的坎坷.文章汇集几个知名公司的面试题,从出题的角度到分析问题的方法到解决问题较为全面的讲解面试题目,以供读者参考. 面试是职场的永恒话题,如何在职场面试中 ...
- 码农何苦为难码农:谈谈程序员面试那些事
春天,万物复苏.程序员们跳槽的季节要到了.其实,程序员算是跳槽比较频繁的人群.虽然每个人都盼着能跟随公司的步伐一步步地成长,但能在正确的时间点遇到正确的公司,这也是要靠运气的.对于大部分程序员来说,跳 ...
- 【面试招聘】程序员面试完全指南
春季是求职的黄金时期,借这时机分享下程序员面试相关的感悟. 本文立意不仅于面试技巧,而贵在通过梳理面试过程,帮助大家系统地完善技能树,找到更有发展前景的工作平台.一场完整的面试通常包括:简历准备.笔试 ...
最新文章
- 爬虫之selenium控制浏览器执行js代码
- python向mysql中添加数据_Django save()方法不向Mysql数据库插入数据
- MySQL date_format()函数
- 随想录(mac下c、c++的编译方法)
- Network Address Translation 网络地址转换
- mybatis-plus更新问题 全量更新、只更新部分属性
- 考研高等数学张宇30讲笔记——第九讲一元函数积分学的几何应用
- MySQL的ALTER命令
- 什么是广域网WAN?学WAN,看这篇文章就够了
- 修炼系列(八),你真的会写注释吗
- 第一台超高速巨型电子计算机,1997年,( )巨型机的研制成功,使我国在这个领域跨入了世界先进行列。...
- R语言用Rshiny探索lme4广义线性混合模型(GLMM)和线性混合模型(LMM)
- 百度地图行政区划边界线获取,只要界线,遮罩层透明设置方法
- 2022年湖南医院三基考试泌尿外科综合模拟题及答案
- please tell me who you are?
- video output protection内容输出保护技术
- 我和一个“婊子”不能不说的……
- 杀毒软件之我谈!!我的杀毒软件使用心得!!!
- 各种PLC通讯介质和协议介绍
- volvo s60 T4 2021款 使用手册