目录
正在加载目录...

Google 面试 经验分享BQ+Code | 一亩三分地

拿到 Google offer 之后一直想把这次经历整理出来,Google 面试的流程比较固定,但细节上坑不少,希望对准备 Google VO 的朋友有帮助。Google 面试分两个阶段:第一阶段是两轮线上 VO,通过后才进入 Onsite。线上两轮是背靠背的,第一轮 45 分钟结束,休息 15 分钟,马上进入第二轮 45 分钟。如果一轮过一轮不过,HR 有时会联系你安排第三轮 Phone Interview,不过这个情况比较少见。

Google 面试 经验分享BQ+Code | 一亩三分地

Google 面试 时间线

9.6 收到OA,两题全通过

10.14 Recruiter reach out,主要沟通了毕业时间,签证情况,以及需要多久准备面试

10.23 interview prep call,告知每轮面试的内容,以及面试安排

11.11 两轮线上VO,一轮Code,一轮BQ

12.11 通知开始Onsite面试

12.14 Onsite两轮面试

1.12 hm告诉我Move forward

Google 面试 第一轮 :BQ

这轮开始先聊了五分钟简历后,简单自我介绍就是BQ了,问了几个比较简单常规的BQ,这里整理了下Google面试的几道经典BQ题目。

1️⃣ 请讲述一次你为客户做出“超出职责范围”付出的经历。

你为什么要这么做?最终结果如何?

参考回答:
我认为并不存在所谓“超出职责范围”的事情。我的职责就是让客户满意,因此在任何情况下,我都会把尽力帮助客户视为自己的个人责任。可以举一个例子,比如为了彻底解决问题、确保客户对结果满意,我多次主动联系客户、反复跟进,直到问题真正解决。

2️⃣ 请讲述一次你在一件对业务非常重要的事情上,与你的经理存在强烈分歧的经历。

分歧是什么?你是如何处理的?

参考回答:
当你与经理产生分歧时,最有效的方式通常是说服他先对你的想法进行“小规模试验”。即使经理对新想法或变更持抵触态度,他们往往也愿意接受一次小范围测试,以验证想法是否可行。可以举一个你成功说服经理先做小型试点的例子,在经理看到结果后,最终支持了你的方案。

3️⃣ 你是如何确保团队始终与公司的愿景保持一致的?

参考回答:
沟通是关键。你需要始终与团队保持密切联系。通过每周例会和状态同步,确保团队目标与公司方向保持一致。当我发现个人目标与团队或公司目标存在冲突时,我会主动与该成员坐下来沟通,尝试一起解决冲突,而不是简单地下指令。(直接命令对方只会让他产生抵触情绪。)

4️⃣ 请举一个例子:

你在一次会议中对同事和领导持有“非主流意见”,甚至是唯一反对者。
当时是什么情况?你为什么坚持自己的立场?你是如何处理的?

参考回答:
在一次产品发布前,我们讨论客服支持团队的规模。管理层和其他成员认为将 SLA 设为“每个请求最多 1 小时内回复”已经足够。但我认为客户体验对我们至关重要,因此建议将 SLA 缩短到 30 分钟,这意味着需要将客服团队规模扩大一倍。尽管预算有限,我仍坚持这一立场,并清晰说明理由。

5️⃣ 你通常采取哪些措施,确保你完成的项目能够顺利交接给新的负责人?

请举一个你在项目已完成交接后,又选择重新介入的例子。情况是什么?你为什么觉得有必要重新介入?

参考回答:
非常重要的一点是:从项目第一天起就养成完善文档的习惯。我曾负责一个项目,项目顺利交付后交接给业务负责人并进入维护阶段。三个月后,我开始发现一些之前未暴露的问题,并意识到可能有关键内容被遗漏,或者某些访问权限配置不正确。借助我之前编写的文档,我能够帮助新团队在很短时间内定位并解决问题。

6️⃣ 请谈谈你是如何在团队中建立彼此信任的合作关系的。

参考回答:
良好的沟通以及“我始终支持你”的态度非常重要。同时,你也需要以身作则。当团队成员看到你勤奋工作、认真负责时,自然会建立起相互尊重与信任的关系。

7️⃣ 在与客户打交道时,几乎每个人都会有感到沮丧或不耐烦的时候。

请讲述一次你有这种情绪的经历,以及你是如何应对的。

参考回答:
这种情况经常发生。你需要展示自己不会失去耐心,并且能够很好地处理复杂局面。我的做法通常是:先暂停一下,退一步思考,分析这件事情会影响哪些人、问题产生的原因以及解决方案。
举个例子:有一次,为我们提供产品规格的团队临时对需求做了彻底修改,但管理层(在这个案例中相当于客户)仍然要求在一个月内交付产品。我冷静分析了情况,用数据支撑(数据永远很重要)向管理层提交了一份报告,并提出两个选择:要么延后交付日期,要么砍掉部分功能。最终,在看到数据和分析后,他们愿意配合并达成共识。

Google 面试 第一轮 :Code

题目:给定两条按时间排序的时间序列,每个点表示从该时间起数值发生变化,要求输出一条表示逐点相加后的时间序列,仅在数值变化时输出结果。

示例:

假设存在两条时间序列:序列 A: [(1, 2), (4, 5), (7, 1)]

含义:时间 1 起数值为 2;时间 4 起数值变为 5;时间 7 起数值变为 1

序列 B: [(2, 3), (5, 0), (8, 4)]

含义:时间 2 起数值为 3;时间 5 起数值变为 0;时间 8 起数值变为 4

解题思路

用双指针维护两条序列的当前生效值,初始时指针 i=0(指向序列 A 第一个点)、j=0(指向序列 B 第一个点),每次取两指针指向时间的较小值作为当前处理时间,计算该时间点的相加值,对比上一个输出值,仅当数值变化时输出。

计算该时间点的相加值,对比上一个输出值,仅当数值变化时输出,推进对应时间较小的指针,若时间相等则同时推进两个指针。

这类题很容易踩的隐形坑不在主逻辑,反而在尾部处理上。 一条序列先结束,另一条还在推进的时候,字段一旦写错,可能前面的示例全对,最后直接翻车,我自己复盘后摸索出了几个小思路,分享给大家:先试着把题目看成事件流合并,而不是单纯的数组操作;写完主循环后,我会特意用语言过一遍所有超界的分支情况;另外还会自检一下,确保最后一个时间点能覆盖到所有输入的末尾。

题不算难,但真的很容易掉坑里,一上来就是时间序列相加,看着像双指针,思路很快就理顺了。

总结与备考建议

Google VO 的节奏相对稳定,BQ 和 Coding 各一轮,时间分配也比较清晰。几点备考经验:

  • BQ 一定要有具体例子,不能只讲原则;STAR 结构是标配
  • Coding 提前练习在纸上 dry run,Google 用纯文本编辑器,没有运行环境
  • 时间序列、双指针、合并类题目是 Google 的高频考察方向,值得专项练习
  • 面试后及时跟 Recruiter 确认时间线,Google 的流程周期比较长

如果你近期也拿到了 Google 的面试邀请,Interview Aid 提供针对 Google VO 的专项辅助服务,可以免费获取 Google 真题参考,欢迎联系我们。

正文完