[讨论] 2025 Google L4 SWE面试心得 (Dcard)

楼主: yokann (欧洲)   2025-07-17 18:17:32
资料来源: https://www.dcard.tw/f/tech_job/p/259327760 Dcard转录
距离上次分享读研心得已经过了4年了,我在junior level这段时间,2023经历Qualcomm
裁员,2024展开gap year搬到韩国读了一年语言学校,而后在首尔的新创自驾车公司打拼
了半年多。由于今年公司因为上市问题出了人事政治斗争,让我有离开的想法。
正好今年Google台湾扩招,蛮幸运的遇到一个很积极的上海recruiter联络我,拿到offer
后决定回台湾工作。
ㄧ、学经历
辅仁大学 企业管理系
国立清华大学 资讯应用所
Logitech 韧体工程师实习
Qualcomm 软件工程师 3 年
韩国自驾车新创 软件工程师 6个月
二、面试准备
# 心态
这次是在职面试所以没有上岸的压力,身心灵都轻松很多,我也练习把面试想像成和同事
互相讲解的过程,和面试官有对等的交流才不会紧张。
# Leetcode
我最早接触资料结构算法是硕班补习的时候,当时有建立扎实的理论基础,新鲜人时期
刷到300题左右,过去一年回锅复习并写到500题,难度分布为easy*100+, medium*300+,
hard*50,周赛参加过十几次,分数在1800–1900之间(近一年太难了Q3有时候写不出来
)。
我的刷题路线是参考一个中国博主turing planet,有个人网站和youtube教学,蛮符合我
个人学习频率。我自认没办法像竞赛选手用辗的,所以我倾向重复复习medium的题目,理
解的更透彻。在前期知识养成期的时候,因为常常挫败,我会用表格纪录下我该题重点与
卡住的地方,过一阵子再回来重写才知道自己是否融会贯通。在后期因为常常会写到有既
视感的题目,再补充笔记在表格中,如下所示:
megapx
# 归纳以前的面试经验
去年有几次失败的面试,我发现自己有刷题思考僵化的问题,因为Leetcode题目很模板化
,不太有机会接触不同的data type或系统设计,更糟糕的是如果误认为遇到类似的问题
,可能先入为主的往错误的方向想。因此我偶尔换去其他网站熟悉不同风格
(HackerRank, CodeForces…),还有平常工作时就要善于思考,不要本末倒置只学习竞技
程式写法。
# Behavior question
行为面试的天花板我认为是Amazon的16 leadership principles,可以查到很多例题在家
模拟回答。准备3–5个专案经验,每个经验可以对应到不同情况,也借此机会熟悉自己的
履历内容。
# 英文培养
我推荐一个非常适合科技人学习,却非常地被低估的方式,那就是每当需要接受科技知识
时,找到使用口速慢且标准的英文媒介,并且习惯它,常见的有:
1. 在你想学的东西在youtube上加上tutorial,这类的教学的用字非常贴近domain
knowledge,重复看两三次学习他的表达。
2. 若单纯想针对面试学习,更简单暴力的方式可以直些看母语者解leetcode的教学影片
(印度人除外)。
3. 轻松一点的话看北美科技业的vlog,这些vlogger的共通点都是亚裔美国人,标准加州
口音。最近谈论的话题就是北美裁员潮,贴近时事又生活化。
4. 最后也是最难的地方是,没人陪练习的话就自言自语吧。不需要觉得奇怪,口语练习
最必要的就是组织句子,先求有再求好。
三、时程
2月初:recruiter联络
2月中:phone interview
3月初:virtual on-site interview* 3
3月底:behavior interview (hiring manager)
4月初:fit talk1
4月中:fit talk2 (manager of hiring manager)
5月初:offer
四、面试心得
Recruiter是在LinkedIn上直接找我面试特定的职位(Pixel sensor software),听说近年
为了避免太多人在team match卡住,如果和我一样履历和职位有相符的面试者,会在VO三
关前recruiter会配一个team给你,behavior interview由hiring manager面试,他除了
打该关的分数外,也会看你的背景合不合适,任一方不喜欢的话才会重新回到team
match pool再找其他组。
# Phone interview
热身题省略。Follow-up是计算subarray sum加总,也就是sum of all subarray sum。乍
看不难,但一开始我找不到方法,只能先用prefix sum给出暴力解并再google doc上试错
,在纯文字文档追踪array并和面试官讲解其实蛮吃力的,分析后发现可以找出pattern优
化到O(n),中途有被点出边界值的小bug并改正。事后recruiter回馈评分是hire。
# VO1
第一题是基本题stack implementation,需要问清楚stack empty之类的错误要处理。
Follow-up是进阶功能的stack,要能对stack底部k个元素加一个值的功能(事后找到是
1381.Design a Stack With Increment Operation的变化),由于当天是被安排到早上8
点面试,我有点不在状况内,被指出两个corner case的问题,recruiter回馈是lean
hire。
# VO2
首先要写出找出array所有的next greater element,follow-up加入变化(事后找到有点
接近1944. Number of Visible People in a Queue),这里出现了我和面试官对于题意理
解的不同,但在我给出几个case之后面试官说我才是对的,有点荒谬...当然这也侧面证
明不要急着看到题目就写,先跑一次范例或是自己增设case。我一开始用暴力解先给出一
个dummy答案,最后优化成递增stack(monotonic stack)写完,事后recruiter反馈是hire

顺带一题题目不是面试官出的而是系统抽的,他会在事前拿到题目、参考答案和评分准则

# VO3
这次又是被安排到早上8点面试,是图论的dfs backtracking 问题,图的节点为机场代号
的string,我原本想转成ID但面试官觉得没有必要,讨论过程还有决定图的资料结构花了
太多时间。写完剩下15分钟,follow-up是最短路径问题,可以转化成Dijkstra算法,
但很久没有写了非常生疏,还写错了最重要的relax那行!最后因为时间紧迫,我用
pseudo code写完并解释用2D array及priority queue两种实作的时间复杂度的差别,反
馈为lean hire。
# Behavior interview
这场面试和fit talk结合在一起,所以是非常重要的。Hiring manager若满意的话才会帮
你写推荐送hiring committee,且此人将会是我入职后的直属主管。主管先是和我介绍部
门负责的工作,并表示自己是在美国家中全远端工作。
前20分钟是问了许多两难的问题,像是若今天自己个人私事太忙,刚好公司需要支援,会
怎么安排时间?和同事讨论技术时意见相左,但他是你的资深前辈该怎么处理?工作出包
的时候怎么办?我会先自己假设前提或是反问,像是定义这个任务有多紧急?方便“搞清
楚事情处理的优先级”,尽量以自身经历为主,在往“对公司有益”或“圆融”的结论
收尾。
接着是请我讲述在Qualcomm的工作内容,检视背景是否符合,再问新创公司工作中学到了
什么不一样的地方,我分享了新创工作弥补我的devOps技术,还有同侪间code review的
优缺点。
# Fit talk(1)
这场安排了同组的美国同事和我对话,目的是让我问问题。我最关心的是我进来公司后会
负责什么,其次是组内文化,整体下来我感觉和我之前的工作文化相近,毕竟有可能成为
未来同事,聊的话题都是轻松的内容。
# Fit talk(2)
最终环节是有最终决定权的大主管,一位美籍印度女士,也是我将来的skip manager,可
以回答我一些更广的问题,也顺便了解我的背景。根据我的履历挑了几件跟我经历有关的
部门案子,讨论我是否对这些主题有兴趣,最后我问了公司的组织结构,和我在此部门的
未来的职涯方向。
# Offer
两周后接到recruiter通知说HC通过并谈薪,我表明人在国外需要更长的缓冲期,但却被
告知主管希望我一个月后入职(后来我和其他新进同仁聊到此话题,发现这是recruiter
话术,希望你提早入职!)
签完offer后会有由外包背景调查公司负责reference check(非常详细,切勿在履历上造
假任何小事),令我惊讶开心的是提供了国外工作证明,回台湾居然还有relocate
package!
五、后记
比起其他公司,Google的初中阶软工职位还是先要求有DS/Algo才面试domain,但至少这
次我遇到的问题都能循序渐进慢慢写出,每题也都有值得讨论的corner case和优化方法
,没有难到需要通灵的程度,考验的是在时间压力下写出干净准确的程式码。
入职一个月观察下来pixel team没有外界传闻的奇怪,可能是因为现在台湾办公室人真的
很多,以前的team都拆了很多次,有些改为北美管辖远端report,report chain还是持续
在更新。

Links booklink

Contact Us: admin [ a t ] ucptt.com