一句话总结

Chalmers的CS毕业生不是不够强,而是在用错误的方式证明自己的价值——你们花了三年时间学习如何写正确的代码,但硅谷和北欧大厂在第一轮筛选的6秒钟里,根本不看你写了什么,只看你所在学校的名字和项目经验能否让他们risk-free地做出hire决定。真正的求职战争在简历投出去之前就已经结束了,你需要的不是更多的算法题练习,而是一套让hiring manager在30秒内确信你是安全牌的叙事框架。

2026年的市场不会因为你是Chalmers就高看你一眼,但会因为我接下来要说的这套方法,重新评估你的 candidacy。

适合谁看

这篇文章不是写给所有人的。如果你还在读大一,觉得时间多得是,那你可以划走——你需要的只是先把数据结构考试过了。如果你已经在北欧找到了全职工作,年薪50万克朗以上且不想动,那这篇文章对你的参考价值也有限。

这篇文章是写给三类人的。第一类,Chalmers CS/Master在读,距离毕业12到18个月,开始认真考虑职业发展但不知道从哪里下手的人。你可能已经注意到投出去的简历大多石沉大海,开始怀疑是不是自己不够优秀。

第二类,过去一两年内投过美国大厂或北欧科技公司但全部挂在电面或onsite的人,你知道自己不是完全不行,但说不清到底差在哪里。第三类,手里握着瑞典中小公司的offer但心有不甘,想要冲击FAANG或北欧一线大厂的人,你在犹豫要不要接受保底还是在悬崖边上再搏一次。

这三类人的共同特征是:你们不缺能力,缺的是对自己能力的正确包装和展现方式。Chalmers的招牌在瑞典够用,但在全球舞台上不够响——这不是学校的问题,是信息不对称的问题。你需要做的事情,是让远在加州或斯德哥尔摩的hiring manager,在有限的信息里看到你真正的价值。

为什么你的简历在第一关就被刷掉

300份简历,每份停留6秒。这是硅谷一家中等规模科技公司去年校招季的真实数据。他们收到了来自全球的3000份申请,其中Chalmers的申请者大概有40到50份。最终进入面试环节的,只有11人。

这11个人里,有8个本科就在美国或英国读的,另外3个本科在Chalmers但研究生去了美国交换。纯Chalmers本科+Master的,一个都没有。

这不是歧视。这是risk assessment。简历筛选的本质不是找到最优秀的人,而是找到最不会出错的人。一个在Google伦敦办公室实习过的Chalmers学生,和一个只在Chalmers实验室做过项目的Chalmers学生,在简历上的区别可能只是两行字。但前者通过初筛的概率是后者的3倍以上。为什么?因为前者已经通过了Google的风险验证。

不是你的项目不够好,而是你的项目没有参照物。Chalmers的课程项目在瑞典范围内是优秀的,但瑞典之外的hiring manager没有参照系来判断这个项目的难度和你的贡献。你需要做的不是添加更多项目描述,而是给每个项目找一个外部坐标系。欧盟的什么比赛,什么开源社区的什么项目,什么公开数据集的什么排名——这些才是能让瑞典之外的人看懂你的价值的语言。

一个典型的失败简历是这样的:Education下面写着Chalmers University of Technology, MSc Computer Science, 2024-2026,然后下面列了三个课程项目:Distributed Systems Project, Machine Learning Assignment, Database Design。

每一行的描述是"Built a REST API using Flask and PostgreSQL"或者"Implemented a neural network for image classification"。

这种简历的问题不是内容少,而是没有提供任何能让筛选者做出判断的信号。Flask和PostgreSQL是任何一个学了两个学期CS的人都会用的工具。Image classification是任何一个上過machine learning课的人都会做的作业。筛选者看到这些描述,想的不是"这个人不简单",想的是"又一个典型的欧洲学生"。

正确的做法是什么?用数字和对比来替代技术栈的罗列。

"Distributed Systems Project: Built a fault-tolerant key-value store using Raft consensus, achieved 99.9% availability under 10k requests/sec on a 5-node cluster"——这不是比"Built a REST API"多了几个字的问题,这是从"做了一个作业"变成了"解决了一个具体的工程问题"的问题。Raft、99.9%、10k requests/sec、5-node cluster——这些数字组合在一起,筛选者的大脑会自动完成风险评估:这个人知道distributed systems的hard parts,他做的东西是真实的工程问题而不是课程作业。

瑞典求职和美国求职的根本差异不是地点,是思维

Chalmers的学生在瑞典找工作和美国找工作,面临的不是同一个游戏的两个版本,而是两个完全不同的游戏。

瑞典的科技公司招人,流程通常是这样的:简历筛选,然后一轮技术电面,可能再加一轮行为面试,然后给offer。整个过程两到三周。面试内容以编程题为主,但难度偏低,很多公司甚至用不到LeetCode medium级别的题目。薪资谈判的空间很小,基本上是按级别定价。瑞典的求职,更像是一个匹配过程——你的技能和岗位的要求匹配,就大概率能拿到offer。

美国的科技公司招人,流程要长得多。简历筛选,然后OA(在线编程测试),然后一到两轮电面,然后onsite(通常五到六轮),然后hiring committee讨论,然后可能还有加面。整个过程两到三个月是常态。

面试内容是标准化的LeetCode加大系统设计加大数据。薪资谈判的空间非常大,同样的title,package可以差出50%以上。美国的求职,更像是一个考试——你达到分数线了不一定被录取,但达不到分数线一定不会被录取。

这不是说美国更难或者瑞典更容易。而是说,你需要用不同的策略来应对这两种游戏。

在瑞典,你的策略应该是建立关系网络。瑞典的科技圈很小,Ericsson、Spotify、Klarna、King这几家公司之间的员工流动非常频繁。你在Chalmers的校友网络中,每一个人都可能是你进入某家公司的内推渠道。

瑞典的求职,关系的作用比简历大得多。一个referral可以把一个中等水平的候选人直接送进onsite,而没有referral的同等水平候选人可能简历关都过不了。

在美国,你的策略应该是标准化自己的表现。美国的科技公司招人极度依赖流程标准化——每一轮面试都有明确的评分标准,每一个候选人都用同一把尺子来量。在这种环境下,你的目标不是"展示真实的自己",而是"在每个评分维度上拿到高分"。这听起来很功利,但这是事实。

一个Chalmers学生在瑞典犯的错误是:过度依赖自己的技术能力,在networking上投入不足。他们觉得只要代码写得好,自然会被发现。这在瑞典的小公司可能行得通,但在Spotify和Klarna这种收到几千份简历的公司,行不通。

一个Chalmers学生在美国犯的错误是:试图在面试中展示"真实的自己",包括自己的兴趣、价值观、对技术的个人看法。美国的面试流程没有空间给你展示这些。面试官手里有一张评分卡,你的每一句话都会被映射到某个评分维度上。你说的关于瑞典咖啡文化的见解,不会帮你加分,但可能浪费掉一个本可以展示leadership的机会。

大厂面试到底在考察什么:每个环节的底层逻辑

要理解大厂面试,你首先需要理解每轮面试背后的设计目的。不是这轮考什么算法,而是为什么要有这轮面试。

OA(Online Assessment),通常60到90分钟,两到三道编程题。这轮的目的是粗筛——把完全不会编程的人筛掉。这轮没有技巧可言,你要么能写出来,要么写不出来。但有一个关键点:很多公司会根据你的代码质量和完成时间来给分,不只是做没做出来。所以即使你做出来了,也要尽量写出clean code,处理好边界情况。

Phone screen,通常30到45分钟,一到两道编程题加上一些behavioral问题。这轮的目的是验证你的基本沟通能力和coding能力是否真实。很多人在这里挂掉,不是因为coding题没做出来,而是因为在思考的时候太安静了。

面试官无法通过你的沉默来判断你的思路,所以会倾向于给低分。正确的方式是think out loud,即使你想不出来,也要把自己能想到的部分说出来,让面试官看到你的思考过程。

Onsite,通常四到六轮,每轮45到60分钟。内容通常包括coding、system design、behavioral,有的公司还会加一个bar raiser(专门负责提高标准的面试官)。

Coding轮考察的不是你会多少算法,而是你在压力下解决问题的能力。面试官给你的题目,通常是他们自己也不会的题目——他们不期待你给出最优解,他们期待你展示你如何处理一个你没有见过的问题。正确的答题节奏是:先clarify requirements,确保你理解了问题的边界;

然后给出brute force解法,确认方向正确;然后优化,explain time/space complexity;最后如果还有时间,讨论可能的follow-up。

System design轮考察的是你如何处理复杂性。这轮没有标准答案,面试官想看到的是你如何分解一个模糊的问题,如何在多个trade-off之间做决策,如何handle scale。

常见的错误是直接跳入细节,畫架构图之前没有问清楚QPS、latency requirements、consistency needs这些关键问题。正确的做法是先问问题,把需求clarify清楚了,再开始high-level design。

Behavioral轮考察的是你这个人是否好相处、是否能合作、是否能成长。这轮的问题通常是STAR格式的:描述一个你遇到困难的情况(Situation),你的任务是什么(Task),你采取了什么行动(Action),结果是什么(Result)。

Chalmers学生在这轮常见的问题是回答太简短,或者太技术化。面试官问你"告诉我一个你和一个难相处的人合作的经验",不是想听你描述那个人的技术方案有什么问题,而是想听你如何在人际层面handle这个 situation。

Hiring committee讨论,这是你永远不会参与但决定你命运的时刻。在Google、Amazon这种公司,你的面试评估表会被收集起来,送到一个由3到5个工程师组成的委员会手里。他们互相不认识你,他们手里只有你的评估表和简历。他们要做的是一个binary decision:hire还是no hire。

这个讨论的过程通常是30到60分钟,每个人会读出自己的评估,然后讨论。关键的判断标准是:一致性。如果你在coding轮表现很好但在behavioral轮表现一般,委员会会倾向于认为你可能是个技术天才但很难合作,从而给出no hire。如果你在所有轮都表现中等,委员会会倾向于给hire,因为"安全"。

一个insider场景是:在Amazon的HC讨论中,bar raiser的意见权重很高。如果bar raiser给了strong no hire,即使其他所有人都给了hire,这个candidate被拒的概率仍然超过80%。

这不是因为bar raiser的权力更大,而是因为Amazon的文化就是"宁可错杀不可放过"——一个bad hire的cost远高于一个good candidate被拒的cost。

薪资谈判的残酷真相

Chalmers学生在薪资谈判上普遍处于弱势,不是因为你们不值那个钱,而是因为你们不知道自己能要多少。

先说瑞典市场的薪资结构。2026年,瑞典软件工程师的薪资大致如下:entry level(0到2年经验),年薪通常在40万到55万克朗之间;mid-level(2到5年经验),年薪在55万到80万克朗之间;

senior(5年以上),年薪在80万到120万克朗之间。注意这是base salary,不包括bonus和stock。瑞典的科技公司bonus通常在5%到15%之间,stock只在少数大公司有。

Spotify的薪资在瑞典科技公司中属于中上水平。2026年SDE I的package大概是base 55万到65万克朗,加上10%到15%的bonus,加上价值10万到20万克朗的RSU(四年vesting)。

Klarna的薪资稍高一些,因为他们的profit sharing机制,但波动也更大。Ericsson的薪资偏低,base通常比市场低10%到15%,但稳定性更高。

美国市场的薪资结构完全不同。以Google为例,2026年New grad SDE的package大概是这样的:base salary 12万到16万美元(取决于location,湾区最高,西雅图次之,奥斯汀最低),sign-on bonus 1万到3万美元(第一年),RSU第一年3万到5万美元,后面三年每年vest 25%。

所以第一年total package大概在17万到25万美元之间,三到四年后随着RSU vesting,总包可以到25万到40万美元。

Amazon的base略低,通常在11万到14万美元之间,但RSU更多,第一年total package大概在16万到22万美元之间。Meta和Apple的薪资结构和Google类似,base略高但RSU略低,总包差不多。

关键的问题是:Chalmers的学生在谈判中几乎从不谈判。瑞典文化本身就不是一个谈判文化,很多学生觉得公司给的offer就是"市场价",不接受就是不懂事。美国科技公司完全不是这个逻辑。薪资是可以在一定范围内商量的,而且公司expect你谈判。你不谈判,就等于主动放弃了本该属于你的钱。

一个具体的谈判场景是这样的:你收到了Google的offer,base 13万美元,RSU 4年10万美元,sign-on 2万美元。你去问Google能不能提高,Google的recruiter会说"这是我们能给的最优package了"。这时候你应该怎么做?

你不应该argue说"我觉得我值更多",因为recruiter手里有你的competing offer数据,你没有competing offer的情况下,argue没有用。你应该做的是去拿另一个offer——可以是Spotify的,也可以是其他美国公司的,然后把那个offer发给Google的recruiter,说"我很喜欢Google,但我的另一个选择给到了更高的package"。这时候Google通常会match或接近match,因为Google宁可多花一点钱也要确保你能来。

这不是贪婪,这是market mechanism。公司用offer来评估你的价值,你用competing offer来提升自己的value。每一方的行为都是rational的。

时间线的致命误区

Chalmers的学生在求职时间线上最大的误区是:太晚了。

美国大厂的校招,timeline是这样的:2026年毕业的学生,2025年8月到9月是秋招旺季,2026年1月到2月是春招补录。秋招的headcount是春招的3倍以上。这意味着如果你想2026年毕业,你应该在2025年8月之前就把简历投出去。

但Chalmers的学制是两年,第一年要上课,第二年要做 thesis。很多学生的想法是:第一年好好上课,第二年上半年做thesis,下半年开始找工作。这个时间线和美国秋招完全错开了。

一个典型的时间线错误是这样的:一个Chalmers学生,2024年入学,2025年第一年结束,2025年下半年做thesis,2026年上半年thesis答辩,2026年下半年开始找工作。然后他发现最好的公司已经招满了,只能等2027年的春招。这一等就是gap半年到一年。

正确的做法是什么?如果你的目标是美国大厂,你应该在第一年结束的暑假就开始投简历。那时候你还没有完成thesis,但你可以说你是2026年毕业,正在做thesis。美国的公司对"2026年毕业"和"正在做thesis"这个状态是接受的。你不需要等一切都准备好了再投,你只需要在deadline之前把该做的做完。

具体的时间线应该是这样的:2024年9月入学,2025年3月到4月开始准备简历和刷题,2025年5月到8月实习(如果能找到美国的实习最好,找不到瑞典的也可以),2025年8月到9月投秋招,2025年10月到12月面试,2026年1月到2月拿offer,2026年3月到6月做thesis,2026年7月入职。

这个timeline看起来很紧,但它是可行的——很多Chalmers学生就是这样拿到美国大厂offer的。

如果你错过了秋招,还有春招。2026年1月到2月的春招,headcount少但竞争也少,因为很多人在秋招已经拿到了offer。春招的问题是timing更紧,你需要在thesis和面试之间平衡。但春招仍然是一个有效的机会,特别是对于那些秋招表现不好需要再准备一段时间的人。

准备清单

第一,建立外部参照系。你在Chalmers做的每一个项目,都需要能够翻译成瑞典之外的人能理解的语言。

不是翻译成英文,而是翻译成"这个项目在全球范围内是什么难度水平"的语言。具体做法是:给你的项目找一个公开的benchmark或者比赛,比如Kaggle competition,比如open-source project的contribution,然后说明你在这个context中的表现。

第二,系统性拆解面试结构。面试不是一个整体,它是由OA、phone screen、onsite(coding、system design、behavioral)这几个独立环节组成的。每个环节的考察重点不同,准备方式也不同。PM面试手册里有完整的各轮面试实战复盘可以参考,包括具体的题目类型、时间分配、常见陷阱。

第三,准备好你的Career Story。这是一个3到5分钟的叙事,要能回答"你为什么想做软件工程师"这个问题。不是"因为我喜欢编程"这种答案,而是要能说明你的motivation、你的经历、你的future plan之间的逻辑联系。

这个story会在behavioral面试中被问到,也会在你见到recruiter的第一分钟被问到。你需要准备一个版本,也要能展开成5分钟,也要能浓缩成30秒。

第四,建立你的competing offer机制。在你真正拿到offer之前,你不需要担心谈判。但你需要知道这个机制是怎么运作的。

你需要知道哪些公司会在同一时间段发offer,你需要知道如何efficiently管理多个process的timeline。具体做法是:不要只投你最想去的公司,投10到15家,把timeline错开,让它们在相近的时间给你发offer。

第五,练习mock interview至少20次。不是自己刷题,是找人模拟真实的面试环境。Chalmers的career center提供mock interview服务,但质量一般。更好的方式是找已经在工作的校友,或者使用interviewing.io这种平台。20次是一个阈值——大多数人到了20次之后,面试焦虑会明显下降,表现会明显提升。

第六,准备好你的work authorization问题。如果你不是欧盟公民,美国公司会问你sponsor的问题。你需要提前了解sponsorship的流程和时间线,不要在面试中被问到时答不上来。如果你需要sponsorship,这不是一个negative factor,但是一个logistical issue,你需要在hire之前解决它。

第七,设定你的最低acceptable package。你在拿offer之前就需要想清楚,什么样的package你会接受,什么样的你会拒绝。不要在拿到offer之后才开始想这个问题,那时候你会有信息过载和情绪影响,很难做出rational decision。

常见错误

第一个常见错误是:把coding当成面试的全部。

一个BAD的例子是这样的:学生花了全部时间刷LeetCode,刷了300题,Medium难度的题目基本都能做出来。然后他面试Google,OA和电面都过了,挂在onsite的behavioral轮。面试官问他"告诉我一个你和队友意见不合的经历",他说"我通常都是对的,所以他们会听我的"。这轮面试给了strong no hire。

一个GOOD的例子是什么样的?同样是behavioral问题,"我和队友在一个系统设计的决策上有分歧,他认为应该用microservices,我认为应该用monolith。我们分别写了prototype,跑了性能测试,对比了pros/cons,最后说服他monolith在这个阶段更合适。

项目按时上线,后期我们成功迁移到了microservices"。这个回答展示了conflict resolution的能力、data-driven decision making的能力、以及technical nuance的理解。

不是你不应该刷题,而是你不能只刷题。在Google和Meta这种公司,coding只占onsite的2到3轮,另外2到3轮是system design和behavioral。如果你把100%的时间都花在coding上,你在另外50%的维度上就是裸奔。

第二个常见错误是:把"努力"当成"有效"。

一个BAD的例子:学生每天学习8个小时,刷了500道题,投了50家公司,参加了10场onsite,然后全部挂了。他觉得自己已经很努力了,为什么还是没有好结果。这个思维的陷阱在于:努力是必要条件,但不是充分条件。你需要的是effective practice,不是practice。

什么是effective practice?每一个错题都分析清楚为什么会错,是思路问题还是实现问题还是bug。每一个behavioral问题都准备好STAR的回答框架。

每一场mock interview都认真复盘哪些地方可以改进。如果你在刷题但是没有记录错题本,如果你在投简历但是没有追踪每个岗位的进度,如果你在面试但是没有记录面试官的feedback——那你的努力是低效的。

一个GOOD的例子是什么样的?学生刷了200道题,但每道题都写了解题思路的笔记,每个类型的题目都总结了模板。他投了20家公司,每家都做了company research,准备了specific的问题问面试官。

他面了5场onsite,每场之后都写了300字的复盘记录,包括哪个问题回答得好,哪个问题回答得不好,下次怎么改进。第三场onsite之后,他的表现明显好于前两场。

第三个常见错误是:在薪资谈判中过早亮出底牌。

一个BAD的例子:学生在Google的onsite之后,收到了recruiter的电话,说"我们想给你offer,但你的competing offer是多少?"学生没有competing offer,但他不想失去这个offer,于是说"我没有其他offer,但我希望base能到15万"。Recruiter说"我们最多给13万5千,这是final"。

学生接受了。事后他发现,同一级别同一时间入职的同事,base是14万5千。

一个GOOD的例子是什么样的?学生有两三个process在跑,timeline相近。他先拿到了Spotify的offer,然后告诉Google的recruiter"我很喜欢Google,但Spotify给到了更高的package"。

Recruiter去争取了一下,给到了match。学生在两个offer之间选择了Google,因为Google的brand value更高,但因为有了competing offer,他的package比单独拿Google offer的情况下高了15%。

这不是说要你去撒谎或者manipulate,而是说要你给自己选择权和 leverage。在你有选择权的情况下,公司会给你更好的package。在你没有选择权的情况下,公司会给你的package就是他们的最低offer。


准备拿下PM Offer?

如果你正在准备产品经理面试,PM面试手册 提供了顶级科技公司PM使用的框架、模拟答案和内部策略。

获取PM面试手册

FAQ

Q1: 我是Chalmers的Master学生,本科不是CS,现在转专业来得及吗?

来得及,但你要接受一个现实:你的简历在初筛时会受到更多 scrutiny。不是因为你不优秀,而是因为转专业本身就是一种signal——hiring manager会想知道你的CS基础是否扎实,你是否能跟得上科班出身的人。

一个真实的案例是:一个Chalmers的学生,本科是机械工程,Master转到CS。他的本科没有任何编程课程,Master第一年疯狂补基础,第二年拿到了Klarna的offer。他的策略不是隐藏自己的背景,而是把背景变成一个故事:"我在机械工程中学到了系统思维和物理建模的能力,这些能力在软件工程中同样重要。

我选择CS是因为我想用代码来解决实际问题,而不是只停留在理论层面。"这个story帮他通过了behavioral轮。

具体怎么做?第一,在简历中突出你本科的背景和CS的结合点,比如你用编程来解决工程问题。第二,在LinkedIn上建立CS相关的connection,让你的profile看起来是"有计划地转专业"而不是"随大流转专业"。第三,准备好回答"为什么转专业"这个问题,不要回避,要把它讲成一个有逻辑的故事。

Q2: 我英语不够好,面试时会吃亏吗?

英语确实会影响你的面试表现,但不是以你想象的方式。影响最大的不是你的accent,而是你的fluency和clarity。如果你在思考问题时需要很长时间来组织语言,面试官会认为你的communication能力不够。

一个具体的threshold是:你能用英语连续说3分钟而不出现长时间的pause吗?如果能,你在面试中的英语不会成为问题。如果不能,你需要练习。

练习的方式不是背单词,而是练习"说"本身。具体做法是:每天用英语复述一个你学到的技术概念,录下来,自己听,找出说得不清晰的地方。另一个方法是参加Chalmers的Toastmasters或者其他public speaking的活动。面试中的英语不是测试你的语法,而是测试你能不能把自己的想法清楚地说出来。

Q3: 如果我第一年找不到实习,第二年还有机会吗?

有机会,但你的timeline需要调整。第一年找不到实习不是世界末日,但意味着你需要在第二年更加aggressive。

一个真实的timeline是这样的:学生第一年没有找到美国的实习,但在瑞典本地公司做了一个internship。第二年开学之前,他就开始准备秋招,用第一年的实习经历加上学校的项目经验来填充简历。他在第一轮简历筛选中通过了,因为"至少有一份实习"这个signal比"没有任何实习"要强。

关键点是:你不需要完美的简历,你需要"足够好到能过初筛"的简历。第一年的实习不是必须的,但第二年的thesis和项目经验是必须的。你需要确保在2025年8月之前,你的简历上有至少两个可以拿出来说的项目经验,可以是课程项目,也可以是thesis相关的内容。

另一个策略是:把thesis变成一个"准实习"。如果你的thesis是和公司合作的,或者你的thesis topic是业界关心的实际问题,那你在面试中可以把它当成一个实习项目来说。具体做法是:在thesis开始之前就和公司建立联系,看看能不能把thesis做成一个对公司有实际价值的东西。这样thesis不仅是一个学位要求,也是一个展示你实际工程能力的机会。


准备好系统化备战PM面试了吗?

获取完整面试准备系统 →

也可在 Gumroad 获取完整手册

相关阅读