May 2009 - May 2017 论坛八周年-你的足迹,我的骄傲


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 1149|回复: 3
收起左侧

Google On Campus 2016 9月

[复制链接] |试试Instant~ |关注本帖
cyx32524 发表于 2016-9-20 01:38:20 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Google - 校园招聘会 - 校园招聘会 |Otherfresh grad应届毕业生

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
2 轮,每轮45分钟。都是先自我介绍,然后在白板上做题,最后聊天。两位面试官都是白人,分别是两个不同的Machine Learning组的。

第一轮
1. 类似于中国象棋中的马每一步往一个方向走2格 另一个方向1格,现在一个棋子每一步可以往一个方向走 i 格,另一个方向走 j 格。给一个N*N的棋盘,问棋子能否走满这个棋盘。
解法:dfs,用HashSet记录走过的地方,走过就不再重复走。 . visit 1point3acres.com for more.

Follow up:如何压缩HashSet的存储空间
解法:每个位置使用long表示,前32bit记录横坐标,后32bit记录纵坐标(lz用的java)

2. https://leetcode.com/problems/number-of-islands-ii/
Follow up: Union Find的路径压缩。
(代码没写完,因为时间不够了)

第二轮
1. 给一个二叉树,自己定义二叉树的Node (lz用的leetcode的表示形式)。让你判断这颗树中是否有一条从root到leaf的路径,这个路径上的所有value之和等于给定的target。
解法:dfs。

Follow up 1 :你的程序有什么bug?
答:int可能overflow,可以用long来记录currentSum。
Follow up 2:如果树非常大,long也overflow了呢?
答:创建List<Long> buffer。每当节点要overflow的时候,把之前计算的结果放到这个buffer里面,然后把这个buffer传递下去,到达leaf的时候对buffer里面的值以及currentSum求和。(现在想起来用LinkedListNode做这个buffer更好,每次加一个Node之前传来的Node) 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
Follow up 3:还有什么bug?
答:树太深会stack overflow,或者out of memeory。
面试官提示:如果树invalid,比如有环怎么办?
答:用HashSet检测走过的地方,如果重复了就不不走或者throw exception。

2. https://leetcode.com/problems/encode-and-decode-strings/. Waral 鍗氬鏈夋洿澶氭枃绔,
用leetcode里面的<length 分隔符 原String>的编码方式。
和面试官讨论了几个可能的corner case,然后就开始聊天了。


评分

2

查看全部评分

ahwhdsl 发表于 2016-9-20 02:08:00 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
conversion interview吗?
回复 支持 反对

使用道具 举报

william_gong 发表于 2016-9-20 02:16:02 | 显示全部楼层
关注一亩三分地微博:
Warald
我一开始还没认出来是你。。。
回复 支持 反对

使用道具 举报

PennyLoveLife 发表于 2016-9-23 02:44:09 | 显示全部楼层
请问只有两个方向可以走吗?那不是肯定走不满整个棋盘吗
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-5-26 04:14

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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