谷歌new grad onsite面经+timeline

楼主是master new grad
8月10日:谷歌内推SDE
8月14日:HR回复confirm
8月21日:发给我OA和survey链接
8月28日:完成OA(地里面经题,email处理 和 水果)
8月30日:HR邮件move on,说下一轮直接onsite(很迷没有电面,至今不知道原因)
(期间因为准备facebook面试,onsite prepare call约了很迟)
9月13日:prepare-call,电话确认onsite行程
9月19日:onsite 4轮,面经如下:
======== 上午,第一轮,国人大哥,谷歌10年经验 ========
上来说:“小朋友看你new grad,就不为难你了,只考考算法基础”
题目是css里的找最近颜色:
css里颜色可以缩写(#eee代表#eeeeee,#42a代表#4422aa)
现在让你写个函数,给一个任意的颜色,找出距离最近的三位的缩写的颜色代码。
距离定义:distance^2 = (R1 - R0)^2 + (G1 - G0)^2 + (B1 - B0)^2 (简单说就是三个颜色之差的平方和)

比如:输入#3021af,输出#32b

======== 第二轮,国人小哥 ====================
给一个字典(例如 [ “apple”, “bed” ] )
写两个函数:

  1. buildModel() 把输入的字典构建成某一种结构(自己设计)
  2. generateRandomWord() 随机生成一个String。要求:
    i. String里每一个相邻的字符pair是在字典里出现过的(这里 【string起点,string第一个字符】和【string最后一个字符+string结尾】也算作pair)
    ii. 从string起点开始,下一个字符由前一个字符依次推出。(抱歉表达能力捉急。。看下面的例子理解下)
    image
    我的做法是用Map<Character, Map<Character, Integer>>来储存所有的pair和他们出现的次数。。。

======== 中午吃饭,和国人小姐姐聊天 (都是同胞哈哈哈)========

======== 下午,第三轮,华裔大哥,这题非常模糊,我到现在都没弄的很清楚========
大意是,给n辆自行车,m个人,都是整数坐标表示,要求给一种分配方案,使得:每个人都能拿到离自己相对最近的车。
所谓相对最近,就是指没有其他人比自己更近。并且规定,所有人离所有车的距离都没有重复。。。

我理解题目的时候卡了好一会,各种问。尝试贪心,从所有车出发找最近的人,大哥说这样不行,给了反例子;从所有人出发找最近的车,大哥也说不行,给了反例。
无奈,只好暴力解,穷举出所有人(i)到所有车(j)的距离d(i,j),然后放进treeset排序,然后按照距离从小到大分配自行车(j分配给i),遇到人(i)已经有车,或车(j)已经被分走的情况,就跳过d(i,j)…
大哥说,诶,不错,我觉得这解法挺好!
我说我觉着我写的有点难看啊
大哥说,不难看不难看,年轻人啊,有时候有些问题就是要暴力来解决的
我若有所思的点了点头。。。。。。

anyway,有大佬有想法的话欢迎讨论

======== 下午,第四轮,华裔大姐 ========
面经题,task scheduler,利口 刘二要
第一问是不让打乱task顺序
第二问是允许打乱(利口原题)

第二问我用的[刷题]网Solution里画表格的方法,大姐不知道这种方法,一时没get,我解释了好半天,证明这个解法的正确性,最后来不及code了////不过大姐说没关系没关系,我明白你的解法了

onsite结束,HR问了我目前的competing offer,就说然我耐心等等他们collect feedback。

10月1日:通知Move on to HC
10月8日:通知HC通过,开始team match
(因为Facebook的offer快要到期了,心里着急,就先找了Google的朋友求打捞,朋友就把我的简历发给了他们manager,具体哪个组朋友特别交代,就不透露了)
10月10日:和那个组的manager通了电话,聊的不错,国人大哥所以也没有为难我,感恩!
。。。
(苦苦等待)
。。。
10月26日:终于发了offer

非常抱歉这么晚了才发上来,不过希望会对大家有点帮助!
最近trump改移民政策,LZ和女朋友也是受了蛮大打击,希望大家都坚强,永远不要放弃,坏运气会过去的!

1 Like