开头直接从“收到裁员通知”这类场景切入可能太沉重,换个更真实的视角更合适。先从一个具体现象说起,再展开全文。
1. 今年这波行情,到底卷成什么样了:从HC、流程到薪资的整体观察
先说个我自己感受最直观的变化:以前面试是“你挑公司”,现在完全是“公司挑你”。简历投出去,大部分是已读不回;能约上面试的,十个里有八个要先做笔试;真正走到终面的,每一步都像在过关。
我整理了一下今年这个求职周期里,跟几个还在大厂做HR的朋友,以及十几个同批找工作的朋友聊下来的信息,先说几个共性现象。
第一,放出来的岗位数量少了,但每个岗位的竞争人数翻了好几倍。一个普通的Java后端岗位,挂出去一天能收到几百份简历,其中不乏前大厂P7、名校硕士。以前这种简历HR会认真看,现在基本是系统先筛一遍关键词,再过一遍学历,最后才轮到人看。很多简历根本到不了面试官手里,就卡在初筛这关了。
第二,面试流程普遍拉长。以前互联网公司面试一般是“笔试—技术一面—技术二面—HR面—Offer”,快的话一周走完。现在很多公司加了“技术预审”“Leader面”“交叉面”,甚至还有“业务面”和“总监终面”,整个流程走下来少则三周,多则一个半月。我认识的一个朋友面某家头部电商公司,前后面了七轮,跨度两个月,最后HC还被冻结了,白忙一场。
第三,薪资预期必须降下来。前几年跳槽涨薪30%是起步,50%也不稀奇。现在的情况是,平薪甚至降薪都有人抢着去,能保持原有薪资水平已经算不错了。很多公司开始在福利上做减法,公积金比例下调、餐补取消、年终奖打折,这些以前写在Offer里的“固定项”,现在都变成了“浮动项”。
但我也要说句公道话:寒冬不等于没有机会,只是机会变少、变贵了。我在这波求职周期里,仍然看到有人拿到了不错的Offer,只是这些人普遍有几个共同点:项目经历够硬、准备得足够充分、心态也调整得比较到位。这篇文章就是把我在这个过程中踩过的坑、总结出的方法和观察到的规律,做个系统性的梳理,希望能给同样在找工作的朋友一些参考。
2. 简历这关,筛掉的人远比想象中多:关键词、内推与投递节奏的把控
千万不要觉得“我技术强,简历随便写写也能进面试”。现在简历筛选已经不是一个人在看了,而是先过系统、再过HR、最后才到面试官手里。这三道关卡,每一道都有各自的过滤逻辑,你的简历必须同时满足三方的需求才能杀出重围。
2.1 系统筛选阶段:关键词匹配是第一道生死线
现在稍微大点的公司都用招聘系统做初筛,系统会按照JD(职位描述)里的关键词去匹配简历。如果你的简历里没有出现这些词,系统直接判定“不匹配”,连HR的电脑屏幕都到不了。
我见过太多技术很强的人,简历写得跟论文摘要一样,全是“负责XX系统的开发”“参与XX项目的建设”,结果连面试机会都拿不到。其实方法很简单:把JD里出现的高频技能词、业务词,原样搬到你的简历里。
举个例子,如果JD里写了“熟悉Redis缓存、消息队列、分布式事务,有高并发经验”,那你的简历技能清单里一定要有对应的描述,而且最好是原文级别的匹配。不要觉得这是投机取巧,这叫“按对方的需求说话”,是职场沟通的基本功。
我建议按这个顺序来梳理简历内容:
- 第一步,找到目标岗位的JD,把里面的技能词、业务词、软素质词全部列出来。
- 第二步,逐条对照自己的经历,看哪些是真实具备的,哪些是沾边的,哪些可以迁移。
- 第三步,把匹配度最高的关键词,自然地嵌入工作经历、项目描述和技能清单三个板块。
这里有个关键提醒:关键词可以优化,但绝不能造假。简历可以包装,但包装的底线是“做过的事用更专业的表述说出来”,而不是“没做过的事写得像做过”。面试官深挖项目的时候,三个问题就能问穿你的底细,一旦被认定简历造假,这个圈子基本上就混不下去了。
2.2 HR筛选阶段:项目经历要用STAR法则重新组织
过了系统这关,接下来是HR人工筛选。HR看一份简历的时间大约只有15到30秒,你写十行“我负责XX”,不如写一行“我主导XX,通过YY方案,将接口响应时间从800ms优化到120ms,QPS支撑从500提升到3000”。
这就是STAR法则的实战应用:
- S(情境):项目背景是什么,业务规模多大,技术栈是什么。
- T(任务):你在项目中承担的具体职责是什么。
- A(行动):你具体做了什么,用了什么技术方案,解决了什么核心问题。
- R(结果):最终效果如何,最好有量化数据支撑。
我见过最可惜的一种简历,是候选人明明在项目里做了很多有价值的事情,但写出来全是“参与了”“协助了”“配合了”这类弱动词。同样的经历,换一套动词和表述,说服力完全不一样。
“参与了XX系统的开发”可以改成“独立设计并实现了XX模块,负责核心链路的数据一致性保障”。这不是造假,这是把你做过的事情用准确的、有分量的话表达出来。HR和面试官看到的不是“你辛苦了”,而是“你创造了什么价值”。
2.3 投递渠道排列组合:内推优先,但别把所有宝押在Boss直聘上
关于投递渠道,我实测下来觉得要分梯队来用:
- 第一梯队:内推。这个优先级最高,没有之一。内推的简历不会淹没在系统里,基本能直达业务面试官或HR。那怎么找内推?常见的方式是脉脉、朋友圈、掘金社区,或者是以前的前同事、前领导。我这次找工作,真正进入有效流程的面试,绝大多数都来自内推渠道。
- 第二梯队:主流招聘App和官网。Boss直聘的响应率相对高,但质量参差不齐;拉勾和猎聘偏传统互联网和部分外企;大宗师级别的公司官网投递,必须填一堆信息,比较耗时,但一些大厂确实只认官网投递。
- 第三梯队:猎头。寒冬里猎头的质量差别很大,有的猎头手上确实有独家岗位,有的只是把你的简历群发给各个公司碰运气。我的建议是:对接3到5个靠谱猎头就够了,别搞成简历满天飞。
我个人的投递节奏是这样的:每天固定时间投递,投递量控制在30到50份,而不是一次性把所有简历都撒出去。原因是面试是一个持续的过程,如果今天十个面试挤在一起,明天一个都没有,你的状态和心理预期很难保持稳定。同时,每次面试完,把被问到的题目和流程记录下来,反向调整简历库里的内容,逐步提高后续面试的通过率。
3. 面试轮次逐个拆解:技术面、项目深挖、行为面各自的隐藏考点
过了简历关,后面就是真正的硬仗了。我把这个周期里的面试轮次拆开来说,每一轮考察的重点和应对方式都不一样。
3.1 技术面:八股文是入场券,不是决胜点
先说一个残酷的现实:前两年那种“背背八股文就能拿Offer”的日子已经过去了。现在的技术面,八股文只是入场券——如果你连JVM内存模型、MySQL索引原理、Redis持久化机制都讲不清楚,那基本一面就被送走了。但如果你只会背这些,讲不出它们在真实业务里的应用场景和取舍逻辑,面试官也不会给你高分。
现在的技术面更倾向于“场景题”和“深挖题”。举个例子,面试官不会只问“Redis有哪些数据结构”,而会问“你在项目中怎么用Redis解决缓存穿透问题,如果缓存和数据库不一致怎么办”。这种情况下,简单背诵已经失效,你需要真正理解技术的底层原理和适用边界。
我梳理了一下技术面里出现频率最高的几个考点:
- Java基础:HashMap的底层实现、线程池参数及执行流程、锁升级过程、Volatile关键字原理。
- 数据库:索引数据结构(B+树为什么好)、SQL优化思路、事务隔离级别、MVCC、分库分表实践。
- Redis:持久化机制(RDB与AOF对比)、缓存雪崩/穿透/击穿的区别及解决方案、分布式锁实现方案。
- 消息队列:Kafka的消费模型、消息不丢失/不重复的保证、顺序消息的实现。
- 分布式与微服务:服务注册发现原理、分布式事务方案(2PC/TCC/消息最终一致性)、熔断降级的实现。
- 系统设计:短链接系统、秒杀系统、IM系统、Feed流系统这类经典设计题。
我的复习方法是“三层递进”:先看一遍核心理论,确保基本概念说得清楚;然后针对每个知识点,准备一个“我在项目里是怎么用的”例子;最后找两个水平相当的朋友做模拟面试,互相提问,练表达节奏。
这三个环节里最容易忽略的是第二层。很多人理论背得滚瓜烂熟,但一被问到“那你项目里怎么做的”就卡壳了。准备的思路很简单:每个核心知识点,强行关联到你简历里写过的某个项目场景中。比如简历里写了用Redis做缓存,那就把缓存穿透、缓存雪崩、缓存一致性三个问题都挂在这个项目下面准备一遍。这样面试官问的时候,你的答案是从自身经历里长出来的,而不是从题库里背出来的,熟悉度和说服力完全不一样。
3.2 项目深挖:比技术八股更能拉开差距的环节
如果说技术面考的是知识的广度,那项目深挖考的就是理解的深度。这一环节在面试中的权重越来越高,尤其是对于有几年工作经验的人,面试官基本默认你的技术基础没问题,重点就看你能不能把自己的项目讲明白。
面试官在项目环节通常想确认三件事:
- 你这项目到底有多少是你的贡献。他会细问需求背景、技术选型、你个人负责的模块、对外的技术决策,连续追问几个“当时是怎么考虑的”,就能判断你是核心参与者还是边角料执行者。
- 你的技术判断力怎么样。为什么用这个技术方案,不用另一个?当时有什么备选方案?各自的优缺点是什么?你基于什么标准做了取舍?这个问题考察的不再是知识,而是你在真实场景下的决策能力。
- 你遇到困难时的表现。项目里遇到最大的坑是什么?是怎么发现的?怎么排查的?最后怎么解决的?如果重新做一遍,会怎么避免?
我建议每个准备面试的人,把自己的项目经历写成一个“项目说明书”,包含以下模块:
- 项目背景和业务价值:这个项目解决的是什么业务问题,服务了多少用户,产生了什么价值。
- 技术架构图:系统由哪些模块组成,模块之间怎么交互,数据流怎么走。
- 个人贡献清单:明确标出哪些是你独立设计实现的,哪些是参与协作的。
- 关键技术难点的复盘:选三个最有深度的问题,按“背景—方案—结果—反思”的结构梳理。
- 可量化的成果:接口性能指标、可用性指标、用户数据、成本节省等。
项目说明书写好了,不仅面试能用到,跟Leader汇报、绩效答辩、晋升评审都能复用,是一次投入多处产出的高杠杆准备。
3.3 行为面:别以为只是聊天,其实是在全面评测你的综合素质
行为面通常安排在技术面之后,有的公司HR面单独一轮,有的则让直属Leader面时顺带考察。常见问题包括:为什么从上家公司离职?未来三到五年的职业规划是什么?觉得自己最大的优点和缺点是什么?怎么看待加班?怎么应对压力?
很多人觉得行为面是走过场,随便聊聊就行。但实际上,在寒冬期的招聘中,行为面被挂掉的候选人一点也不少。原因很现实:当竞争同一个岗位的优秀候选人很多时,面试官会倾向于选那个“看起来最稳定、最好协作、最能干活”的人。
行为面里,我个人觉得最需要提前准备的是这两个问题:
离职原因。标准答案是“基于个人职业规划的主动选择”,绝对不要在面试中抱怨前公司、前领导、加班制度。哪怕真实原因是团队解散、业务被砍、绩效被打C,也要尽量用“积极寻找新机会”来替代“被迫离开”,保持叙事的一致性。
职业规划。寒冬期面试官最怕招进来的人干半年就跑了,所以问职业规划,其实是在评估你的稳定性。回答的基调应该是:我计划在这个方向上长期深耕,希望稳定性较强,能尽快融入团队并创造价值。切忌说“我打算一两年后自己创业”或者“我想试试别的方向”。
行为面的核心原则总结起来就一句话:每一句话都要旨在塑造一个“稳重、专业、靠谱、好合作”的候选人形象。这跟技术面完全不同,技术面要展示锋芒,行为面要展示钝感。
4. 技术能力到业务价值:寒冬面试的底层评判逻辑要变了
如果你只把面试当成“回答问题”,那你大概率会在某个环节莫名其妙地被挂掉。这波寒冬里,面试官真正在意的其实已经变了——不再只盯着你的技术能力,而是看你能否把技术能力转化为业务价值。
4.1 从“你会什么”到“你能解决什么”
前几年面Java开发,面试官问的是“你熟悉哪些框架”“你了解哪些中间件”;现在问的是“你做过什么业务”“你解决过什么复杂问题”“你为团队带来了什么收益”。这个转变很关键,它意味着面试的评判逻辑已经从前置筛选变成了后置筛选:技术好只是起点,你得证明自己能把技术用在正确的场景里,产生实际效果。
我认识一位做后端的朋友,前几年跳槽靠的是“熟读JUC源码”这类硬核功夫,但今年面了一家头部公司,面试官根本没有往源码方向问,盯着他在电商订单系统里是怎么处理超时未支付订单的,追问了整整四十分钟。朋友后面反思说,他从来只关注技术本身,没认真想过业务层面的流程设计,结果被问得有些招架不住。
我的建议是:在准备每个技术点时,强制多问自己一个问题——“这个技术在我的业务场景里解决了什么问题?如果不用它会怎样?”只要这个逻辑链条能讲通,你在面试里讲出来的就不是干巴巴的知识点,而是活生生的问题解决过程。
4.2 数据意识是寒冬面试的隐形加分项
面试过程中我发现,凡是能让我眼前一亮的候选人,几乎都有极强的数据意识。他们描述项目时,不只是说“我做了X”,而是说“我做了X,效果是Y,比之前提升了Z”。这些数据不一定是什么大指标,哪怕只是“接口异常率从5%降到0.3%”“编译时间从8分钟压缩到3分钟”,都远比“我重构了项目构建流程”有说服力。
几个建议准备的数据维度:
- 性能数据:接口耗时、吞吐量、并发量、可用性、响应时间。
- 业务数据:用户量、留存率、转化率、GMV、订单量。
- 工程质量数据:Bug量、线上故障数、发布频率、代码覆盖率。
- 成本数据:服务器成本节省、人力成本节省、资源利用率。
如果你之前的项目里没有刻意记录过这些数据,现在补录依然来得及。翻翻当时的监控系统、日志系统、工单系统,把真实数字找出来,整理成一张数据表。别用“提升了效率”这种模糊表达,只要能用数字说出来的,都比形容词有力量。
4.3 自我定位要随行情调整:从“想做”到“能做”
前几年大家跳槽,说的是“我想做高并发”“我想搞AI”“我想接触新业务”。这种表达的背后是增长期公司的共同心态——业务在扩张,人不够用,你能学你就上,边干边学,公司愿意为你的潜力买单。
但现在行情变了,绝大多数公司都在收缩战线,没有太多预算和时间去培养新人。面试官想要的,是一个今天入职明天就能上手干活的人。这种情况下,你的自我定位必须更务实:先讲清自己已有的、确定的能力,再提自己想探索的方向。
一个比较好用的表达框架:“我在XX方向上有X年的实战经验,最近两年主要做的是X,能熟练使用X技术栈。对于新业务,我虽然没直接做过,但底层逻辑是相通的,我的学习路径和迁移能力可以支撑我快速上手。” 这样的定位既能展示能力边界,又表明你有主动拓展的意愿,而不是空有热情没有实力。
5. 谈薪与选offer:寒冬里最容易因小失大的几个决策点
好不容易走到谈薪环节,很多人会松一口气,觉得最难的关都过了。但说实话,谈薪阶段翻车的案例一点都不少。寒冬期的薪资谈判,跟增长期的逻辑是完全不同的。
5.1 寒冬期的薪资基准:别拿上一份工资当锚点,要拿市场行情当锚点
前几年谈薪,通常是“你上一份工资是多少,我们在这个基础上加个20%到30%”。这种方式的潜台词是:公司在抢人,愿意为跳槽溢价买单。但今年大部分公司已经不再接受“跳槽必须涨薪”的逻辑,有的甚至要求候选人在薪资上有所让步,换来的是稳定和平台背书。
我的建议是把薪资谈判建立在市场行情上,而不是上一份工资上。
- 第一步,通过猎头、朋友、Offer比较,大致了解目标岗位在当前行情下的薪资区间。
- 第二步,把自己的目标拆成三档:底线值、合理值、理想值。
- 第三步,面试时尽量避免主动报价格,而是引导面试官先说预算范围。如果对方一定让你先说,可以给一个区间而不是一个定死的数字。
这里有个细节很多人容易犯:把上一份工资说得过高,结果背调发现不一致,Offer直接黄了;或者把上一份工资说得过低,把自己放在了被动位置。真实是谈判的底线,但在边界内合理表达期望,是每个人都该学会的本事。
5.2 Offer取舍:薪资只是其中一个变量,寒冬期稳定性权重更高
同时拿到几个Offer,听起来很美好,但寒冬期选择Offer的逻辑需要重新审视。我见过有人为了每个月多3000块,选择了一个业务线不稳、三个月后整个部门被砍掉的公司,最后被迫重新找工作,还因为这段经历太短,在后续面试中非常吃亏。
我梳理了几个选Offer时应该重点评估的维度:
| 维度 | 具体观察点 |
|---|---|
| 业务稳定性 | 所在部门的业务是否盈利,是核心部门还是边缘创新项目 |
| 组织稳定性 | 部门近期有没有大规模裁员,Leader是否稳定 |
| 职级与空间 | 给的是几级,未来晋升路径是否清晰 |
| 薪资结构 | 月薪是基本盘,年终、期权、绩效都是变量,要问清楚发放条件 |
| 试用期条款 | 试用期工资打折吗,打折多久,转正考核标准是什么 |
| 工作强度 | 加班文化如何,是否有大小周,通勤距离是否可接受 |
寒冬里,“稳定”的权重要调高。一个业务稳定、部门靠谱、加班适中的岗位,即使薪资略低,长期来看也比一个高薪但业务朝不保夕的岗位更有价值。
5.3 谈薪话术:怎么表达期望薪资才不踩雷
谈薪环节有些人特别容易踩雷,主要是两种极端:一种是“我随便,你们看着给”,显得没有目标感;另一种是狮子大开口,直接报一个超出预算的数字,给对方留下不切实际的印象。
我比较推荐的表达方式是:先表达意愿,再给区间,最后把决定权交给对方。
举个例子:“我对这个岗位和团队非常认可,目前的期望薪资在X到Y之间,具体可以根据职级、福利结构和整体package来综合确认,我相信我们能找到一个双方都满意的方案。”
这句话的核心逻辑是:你有了自己的底线,但留出了商量余地;你展示了合作的诚意,而不是单纯地漫天要价。
另外,谈薪的时候一定要问清楚薪资结构。同样的总数,月薪高、年终少和月薪低、年终高,实际手感和风险完全不同。年终奖在大多数公司是浮动的,行情不好可能直接砍半甚至取消,所以计算期望月薪时,千万别把年终奖当成板上钉钉的事情。
6. 寒冬期的自我经营:面试之外的长期准备
最后一个部分,我想聊聊比面试本身更重要的事情——在寒冬期,你怎么经营自己。
6.1 简历之外,持续输出是个人品牌的重要积累
这次求职周期里我观察到一个现象:有技术博客、开源项目或者社区影响力的候选人,明显比“裸简历”候选人更容易拿到面试机会。原因很简单:简历是自述,内容是佐证。当你有一篇深度技术文章能被面试官搜到,有开源项目能直接被浏览时,你的背书就不再只是自己写的那几行字了。
我建议每位开发者都尝试做这几件事,哪怕一个月只做一项:
- 每月写一篇技术文章,复盘项目里踩过的一个坑或梳理一个知识体系。
- 把项目里可复用的模块抽离出来,整理成一个开源项目,哪怕只有几十个Star。
- 在社区或技术群里答疑,保持技术敏感度和表达习惯。
这些东西短期内看不到回报,但在关键节点——比如找工作、跟Leader争取晋升、对外接活时——会产生复利效应。
6.2 拒绝“情绪性海投”,建立求职节奏管理系统
面试是个高强度的精神状态波动的过程。今天面得好,觉得世界都亮了;明天被挂掉,又觉得自己一无是处。这种过山车式的情绪,最容易影响后续面试的表现。
我建议把求职当成一个项目来管理:
- 建立面试跟踪表:记录每家公司的投递时间、面试轮次、题目内容、面试官风格、挂掉或通过的原因。这样每周都能复盘出自己哪些环节在进步,哪些环节还在丢分。
- 设定每日投递上限:比如每天不超过30个新职位,避免“动作变形式”的海投。
- 保持固定的技术学习时间:每天至少留出1小时做算法题或读源码。不是为了临时抱佛脚,而是为了让大脑保持“面试模式”的活跃度。
6.3 最长线的事:储备让自己“随时有选择”的能力
寒冬最让人焦虑的,不是找不到工作,而是感觉没有选择。而“有选择”这件事,从来不是靠临时抱佛脚实现的,必须靠长线积累。
我自己的体会是,以下三件事值得持续投入:
- 底层能力的持续加固。操作系统、网络、数据结构这些基础知识,永远没有过时的一天。哪怕你用的框架一年换一个,底层逻辑不会变。
- 跨领域视野的扩展。只盯着自己的一亩三分地,很容易被技术潮流甩掉。常去看看隔壁领域在做什么,了解AI、云原生、数据工程这些方向的基本盘,能让你在面试中展现出更开阔的思维。
- 财务和心理的缓冲垫。至少留出6个月的生活费作为缓冲,同时建立一个“如果半年找不到工作,我能做什么”的Plan B。这个Plan B不一定真的用上,但它的存在,会让你在面对面试被拒时,心态稳得多。
6.4 面试被挂,不一定是你的问题
最后想多说一句:面试被挂,很多时候真的不是你的问题,而是岗位匹配度、HC状态、面试官风格、同期候选人池子这些不可控因素共同作用的结果。
我这次求职周期里,面过一家公司,技术面聊得非常好,面试官甚至当场说“我觉得你很合适”,结果第二天HR告知岗位冻结了。也遇到过另一家,技术面表现一般,但因为岗位急招、竞争不激烈,反而拿到了Offer。所以,不要因为一两场失败就否定自己,保持节奏,把每一次面试当成一次测试和校准的机会,持续迭代,总有匹配的机会在前方等着你。
在我个人看来,这轮寒冬真正淘汰的,不是技术不够强的人,而是停止自我更新、心态先崩掉的人。把眼光放长一点,把基本功打牢一点,把表达练好一点,等春天来的时候,你会发现自己早已做好了准备。