谷歌面试经历 |设置 4
虽然我没有清除谷歌,但我想分享我的谷歌面试经验,以帮助其他人。请在下面找到我的面试经历:
我的谷歌软件开发职位[Android 核心团队]面试经历,伦敦,英国
像许多其他热情的工程师一样,我也申请了 Google 的工作。我知道简历很难被谷歌注意到。
突然,有一天我收到了一封来自 Google HR 的邮件(“Hello from Google!”),说他们对我的个人资料很感兴趣,并问我是否准备好继续面试过程[来吧!你不能对谷歌说不]。
第一轮(电话面试):
作者:人才侦察@Google:
* 项目问题:
拼写校正器:
它是如何工作的,Bigram 和 ngram 模型方法等。
* 为什么要使用合并排序而不是快速排序,反之亦然。
*你有一个非常大的“人”对象数组。按年龄递增的顺序对人进行排序。
一般的 :
然后是激动人心的部分,他让我选择谷歌巴黎(文本语音团队)或谷歌伦敦(Android 核心团队)的位置。
他解释了谷歌是如何处理他们的项目的!
关于谷歌面试流程(2-3电话面试+4-5伦敦现场面试)。
Round2:(电话面试+共享谷歌文档编码)
作者:软件开发者@Google:
* 项目问题:
双向同步 b/w mysql 和 sqilte db。
* 给定一个数字,检查它是否可以用 5^n 形式表示,其中 n 是正整数。
* 给定字符串单词之间有很多空格,删除所有不必要的空格,例如
input: I live on earth
output: I live on earth
Round3:(电话面试+共享谷歌文档编码)
作者:软件开发者@Google:
* 优化 a^b
* 您将如何在多台机器上拆分搜索查询?
*您需要开发游戏Snake。你会使用什么数据结构?编码您的解决方案。
面试的一些额外提示:
澄清问题——确保你理解一切。
尝试找到最有效的解决方案。
快速提出解决方案:即使是蛮力解决方案。始终从原始解决方案迭代。
在开始编码之前,请解释为什么要以这种方式接近它,可以从一个幼稚的解决方案开始并尝试使其更高效。
解释您正在执行的步骤背后的基本原理。
大声思考,保持技术性。工程师会给你提示:接受提示!他们在那里帮助你!
始终编写“可编译”代码。
注意边缘案例。查找代码中的错误。