Google SDE On-site 面试体验(流程 + 题目回忆)

33次阅读
没有评论

最近陪不少同学准备 Google 的面试,但真正写 On-site 的人不多。我自己刚刚面完,就顺手把那天的经历整理了一下,给准备谷歌的同学一点参考。


🛫 到 Google 的那天

Google 会提前订好机票和酒店,我是前一天就飞过去的。面试当天提前了一点到 Mountain View campus,按指示在一个 lobby 等面试官。那边其实挺安静的,很多访客和工程师进进出出,气氛很 chill。

面试官到了之后给我打印了访客 badge,然后带我去会议室。路上会经过好几个小厨房和零食区,随手就能拿饮料或咖啡,确实挺 Google 风格的。
一路走过去,他把面试流程大概说了一遍:两轮 coding,中间吃个午饭。总体节奏不快,属于比较友好的那种。

中午是和另一位 Googler 一起在食堂吃饭,基本就是随便聊聊天,感受下来比我想象得轻松很多。


💻 面试环境

Google 会提供一台 Chromebook,界面跟线上面试一模一样,就是他们那块简洁的 coding pad。
面试官一般用自己的电脑,大家都很随意。
Google 还是会问你要不要用白板,但大多数候选人都会选择电脑。


🧠 面试题回忆(两轮都偏工程实战)

Round 1 — Server Timeout(典型 Google 数据处理题)

题目核心:
给服务器 log,形式大概是:
(serverId, timestamp, start/end)
再给一个 timeout,要求你判断 最早发生 timeout 的时间点

难点不在写多少代码,而在逻辑:
你需要在 log 到达的过程中实时判断,不能等所有数据都处理完再看结果。

面试官主要看的是:

  • 你是否能设计正确的数据结构
  • 是否注意边界情况
  • 能否解释清楚为什么这样做

整体难度偏中等,但非常考察思路。


Round 2 — Server & Runner Tracking(偏 OOD / state tracking)

这轮更像是 coding + object design 的结合。

你需要实现一个 class,系统里有 server 和 runner。
要求提供两个能力:

  1. getReport(serverId, runnerId, timestamp)
    输入会按时间递增。
  2. getRunners(serverId)
    返回该 server 下所有 runner 的列表。

考点其实是:

  • 如何维护状态
  • 如何让查询和更新都高效
  • 如何组织内部结构

合理的做法通常会用到 双向链表 或者某种基于 hashmap + linked structure 的组合。


📣 想体验更接近 Google 的 mock 吗?

如果你想真实模拟 Google 的 coding 或 system design,我可以根据真实题源帮你做 mock,并给出针对性的沟通、思路和实现反馈。

VOprep 团队长期陪同学员实战各类大厂 OA 与 VO,包括 Meta、Google、Amazon 等,提供实时答案助攻、远程陪练与面试节奏提醒,帮助大家在关键时刻不卡壳。
如果你也在准备 Stripe 或类似工程向公司,可以了解一下我们的定制助攻方案——从编程面到系统设计,全程护航上岸。

正文完
 0