一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 4928|回复: 34
收起左侧

Google onsite 面经

[复制链接] |试试Instant~ |关注本帖
eins1179 发表于 2016-8-27 05:21:19 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Google - 网上海投 - Onsite |Other在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
这周刚面的onsite, 来发一下面经。攒RP求offer。
第一轮:白人小伙子,人很nice, 上来介绍了他自己和他的team是做什么的说了一堆。题目是有一个func(int n) , 输入是偶数时返回n/2, 奇数时返回3N+1。
              对于一个正整数, 一直用这个func计算, 最后输出会变成1. 比如: 3,10, 5, 16, 8, 4, 2, 1。
              写一个函数计算输入 int n 需要多少步会走到1.例如输入3, 输出7(步)。
              问了几个followup, 如何优化(存cache),输入很大cache放不下可以如何调整。. more info on 1point3acres.com
第二轮:Longest Substring with At Most K Distinct Characters
              followup: 输入的字符串很长,没办法一下子读完, 只有一个API每调用一次可以读下一个字符, 问如何改写之前写的程序。
第三轮   有一个无限的, 0/1 二进制的输入流, 自己定义一个API从中读取数据。 给一个pattern,例如“01001”, 要求count到当前为止所有和pattern match的数量。
午饭
第四轮:sparse matrix 。自定义数据结构压缩这个matrix。并写getrow(int i) 返回原矩阵第i行的所有非零的数 <columnidx, value>, getcol(int j), getbox(i1,i2, j1, j2)
第五轮: 设计一个贪吃蛇游戏, 比LC那道难一点, 比如在棋盘上随机生成食物, 如何优化, 两个player要注意什么 等等等等。
. 1point 3acres 璁哄潧
总结一下, 面试官人都很好, 交流也很愉快, 他们很注重你对题目的分析和对数据结构的选择, followup喜欢问大数据处理。-google 1point3acres

评分

4

查看全部评分

本帖被以下淘专辑推荐:

xnature 发表于 2016-8-27 06:05:11 | 显示全部楼层
略难啊             .
回复 支持 反对

使用道具 举报

mingzhou1987 发表于 2016-8-27 11:59:17 | 显示全部楼层
第一题的follow up如何知道cache一开始allocate size的上限?求follow up的答案
回复 支持 反对

使用道具 举报

Josh 发表于 2016-8-27 12:14:02 | 显示全部楼层
求问楼主第一题的最优解法是什么呢?我能想到的就是一直算直到是2^n就直接加n
回复 支持 反对

使用道具 举报

mren 发表于 2016-8-28 01:01:17 | 显示全部楼层
第三题像是一个KMP哟, 不知道楼主怎么想的
回复 支持 反对

使用道具 举报

xpli521 发表于 2016-8-28 02:25:32 | 显示全部楼层
楼主能说下,贪吃蛇两个player是什么意思吗?一人走一步? 要注意什么呢?
回复 支持 反对

使用道具 举报

zwcelesta 发表于 2016-8-28 05:17:46 | 显示全部楼层
第二题的follow up怎么做。如果换成stream一个一个char的读的话,当前的char处理肯定没有问题。但是如何记录start位置(左边)的char.
回复 支持 反对

使用道具 举报

Josh 发表于 2016-8-28 06:32:06 | 显示全部楼层
zwcelesta 发表于 2016-8-28 05:17. From 1point 3acres bbs
第二题的follow up怎么做。如果换成stream一个一个char的读的话,当前的char处理肯定没有问题。但是如何记 ...

我觉得是stream的话就用一个queue记录当前sliding window里的所有char
回复 支持 反对

使用道具 举报

zwcelesta 发表于 2016-8-28 06:57:09 | 显示全部楼层
Josh 发表于 2016-8-28 06:32
我觉得是stream的话就用一个queue记录当前sliding window里的所有char
.鐣欏璁哄潧-涓浜-涓夊垎鍦
我觉得题目想问的是,如果当前sliding window无法fit in memory呢。也就是k很大的时候,k长度的string无法fit memory。
回复 支持 反对

使用道具 举报

 楼主| eins1179 发表于 2016-8-28 08:54:15 来自手机 | 显示全部楼层
zwcelesta 发表于 2016-8-28 06:57
我觉得题目想问的是,如果当前sliding window无法fit in memory呢。也就是k很大的时候,k长度的string无 ...

是的。建议是用一个heap 元素结构类似(alphabet, lastappearindex)。那么每次超过k distinct char时便知道该move startpointer到哪里。
回复 支持 反对

使用道具 举报

zwcelesta 发表于 2016-8-28 09:05:38 | 显示全部楼层
eins1179 发表于 2016-8-28 08:54
是的。建议是用一个heap 元素结构类似(alphabet, lastappearindex)。那么每次超过k distinct char时便 ...

heap是根据lastappearIndex排序对吧。光记录last appear没有用啊,得记录所有的位置,那char在heap里肯定有重复的。同样超出memory啊。跟记录整个string有啥区别?
回复 支持 反对

使用道具 举报

 楼主| eins1179 发表于 2016-8-28 09:11:49 | 显示全部楼层
zwcelesta 发表于 2016-8-28 09:05.鏈枃鍘熷垱鑷1point3acres璁哄潧
heap是根据lastappearIndex排序对吧。光记录last appear没有用啊,得记录所有的位置,那char在heap里肯定 ...
. Waral 鍗氬鏈夋洿澶氭枃绔,
忘说了。。followup不用求整个string 只要长度就够了。。
回复 支持 反对

使用道具 举报

lvvvvv 发表于 2016-8-28 09:41:03 | 显示全部楼层
第一题有什么 pattern 吗?  还是就是按照题意写?
回复 支持 反对

使用道具 举报

chen6145 发表于 2016-8-30 15:51:15 | 显示全部楼层
eins1179 发表于 2016-8-28 08:54
是的。建议是用一个heap 元素结构类似(alphabet, lastappearindex)。那么每次超过k distinct char时便 ...

楼主这个方法没太理解。。可以详细讲解一下吗?
回复 支持 反对

使用道具 举报

whitesunday 发表于 2016-8-31 12:45:48 | 显示全部楼层
请问LZ第三轮那题怎么做呀
回复 支持 反对

使用道具 举报

omega094 发表于 2016-9-1 22:38:28 | 显示全部楼层
zwcelesta 发表于 2016-8-28 06:57
我觉得题目想问的是,如果当前sliding window无法fit in memory呢。也就是k很大的时候,k长度的string无 ...

我的想法是,把string 分成很多行,相当于matrix, 我们移动窗口的起始和终止实际上也就是access 两行。
这样的话对代码改动不大,因为我们每次移动front 和 back pointer 如果换行的话直接 整除, 换列的话(也就是读下一个) 直接mod 每一行的长度。
回复 支持 反对

使用道具 举报

polebear 发表于 2016-9-1 22:54:44 | 显示全部楼层
感谢lz分享
回复 支持 反对

使用道具 举报

lllxin37 发表于 2016-9-8 05:52:49 | 显示全部楼层
第一题的意思应该是会反复call的一个方法。所以需要缓存。所有的偶数都不需要缓存因为最小的一位肯定是0. 奇数的话需要缓存。

奇数和奇数也有一定的关系。3N+1得出的结果肯定是偶数。所以 (3N + 1 ) /2 = 3 (N/2) + 2 ;
回复 支持 反对

使用道具 举报

daniel_hl 发表于 2016-9-8 12:19:50 | 显示全部楼层
LZ在职跳槽全是问的算法呀,我是三轮算法加两轮expertise,早知道要5轮算法就好了。
回复 支持 反对

使用道具 举报

godwinls 发表于 2016-9-8 14:07:15 | 显示全部楼层
请问第一题存cache 是存什么呢?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-10 09:52

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表