SDE 的 Google 面试体验
谷歌面试包括 1 次电话筛选(15 分钟)、1 次技术筛选(45 分钟)、4/5 现场轮次(45 分钟)我举行了 4 次(3 次技术和 1 次行为)
技术面试小贴士:
- 制定时间表(大多数面试的时间限制在 45 分钟到 1 小时之间,谷歌真的很严格)
- 我的时间是:10 分钟(介绍和理解问题),5-10 分钟(讨论方法),10 分钟(写下代码) 5 分钟(用示例干运行代码),其他时间复杂度和错误修复讨论
- 如果你发现你的时间超过 25 分钟,那就去蛮力优化(总是从面试官那里寻找提示)
- 在面试结束之前不要输,你有这个。
- 编写干净的代码,如果您妥协,请务必通知面试官。 (也不要在这上面浪费时间)
- 并排输出的实际案例空运行
- 在练习做一些竞赛来帮助你获得清晰的问题时,因为通常一个问题伴随着一个故事而不是一个很好的输入或输出格式,我使用了 Leetcode 竞赛。
第一轮:技术
- 为冷却时间为 k 次的音乐播放器编写 shuffle。给定一个歌曲列表。
第 2 轮:技术
- 给定一个字符串编码:a1b2c2(小写字母后跟它们的计数)= abbcc
- 用函数 next()(应该返回下一个字符)和 hasext()(应该判断下一个字符是否存在)为相同的函数编写一个迭代器。
- 给定父子关系。给定 2 个节点,查找它们是否具有遗传相关性(使用数据具有相同的父节点)
for e.g. given relation parent->child : a->b, c->b, d->a
isRelated(b,d) = true, isRelated(d,c) = false
第三轮:技术
- 对于两者,这些问题节点水平和垂直相关
- 给定一个水(0)和土地(1)的矩阵。面积最大的回岛
- 给定水(0)和土地(1)的矩阵。考虑海洋(接触矩阵周围边缘的水)、湖泊(被陆地包围的水)、大陆(陆地面积):具有最大湖泊的大陆的返回区域。 (该区域还应包含该大陆内所有内湖的面积)
这是我能够解决的最难的问题之一。我很感激我练习得很好。
第 4 轮:行为(Googlyeness)
这一轮有点棘手,因为他们似乎评估了你过去管理工作的情况以及你是否适合团队。它是由我要加入的团队经理拍摄的。他们讨论了很多关于我正在研究的后端技术以及我如何为我目前的组织做出贡献的问题。
我做得很好。我提前准备了行为面试,所以对我来说有点顺利。对于行为问题,我事先准备了这些问题,这些问题对我有很大帮助。
- 你是如何解决团队之间的任何冲突的?
- 告诉我你曾经在一个项目/任务上工作但失败了?
- 你做过的最具挑战性的项目是什么?
- 你最喜欢的项目是什么?
- 你最大的优势/劣势是什么?
- 你解决的最难的 bug 是什么?
- 我们为什么应该录用你?
- 我被问到您是否是技术主管,并且知道您的组织中正在完成完全相同的项目,您将如何处理这种情况?
- 我告诉她我会尝试合并。这里没有错或写,但您需要证明并清除您正在执行的所有步骤以及您在此过程中做出决定的基础。如果您有确切的经验,请告诉我您是如何处理的。
还准备好你的介绍我在许多初创公司进行了多次采访,我根据我正在面试的角色策划了不同的介绍!
希望这可以帮助!!祝一切顺利!