一亩三分地论坛

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

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

12/03 Zillow onsite 面经

[复制链接] |试试Instant~ |关注本帖
什么都有 发表于 2015-12-5 13:06:27 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 硕士 全职@Zillow - 校园招聘会 - Onsite |Otherfresh grad应届毕业生

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

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

x
昨天面的Zillow onsite,12点半开始面到4点半,连着四轮下来最后大脑基本死机了,完全思考不动。
Zillow的办公环境没得说,一共八层,在20多到30,各种海景玻璃幕墙,一进公司目光就被窗外美景死死勾住。. more info on 1point3acres.com
. 1point3acres.com/bbs
废话不多说,直接上题。面试官明确跟我说有题库,让我看到见过的题要讲= =。

第一轮:亚洲人,第一题写个AnagramsServer类,实现init(String[] dict)和getAnagrams(String s)两个方法。基本就是让你在init里面把字典里的词都存好,然后getAnagrams的时候可以把和s是anagram的都输出。init调用一次,get调用多次。第二题是写扫雷的OnClick方法,不用考虑UI相关的东西,输入是一个已经把雷埋好数字标好的board。他说主要想看的是你点了一个数字为0的格子时候如何把周围一圈都reveal然后如何继续把是0的格子给处理下去。
第二轮:美国人,第一题是要求用递归的方式来求一个string的长度,不允许用任何求length相关的libary method。我用substring的方式做出来了。写完后follow up是说我substring复杂度太高,因为要把所有char都copy一遍,所以要我想一个O(n)的。想死都没想出来最后他说你可以用exception的try-catch呀- -我当时就听醉了。第二题是给你一个graph每一个node都是一个facebook的user,然后找出这个user的两度关系以内所有和他last name一样的人的email address。= =这一题很简单但是我当时状态不是很好,BFS写出了两个很傻逼的bug,还都被他抓出来了,所以最后要挂估计就是挂这里了。 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
第三轮:美国人,第一题是给一个string找第一个unique character,我扫两次做的。follow up,给你的是一个iterator,只能顺着这个iterator走一遍,不允许存下来从头扫。我用linkedHashSet做的= =,估计他不懂这是什么鬼,现场去查了下发现确实可以,然后follow up就变成了让我讲讲怎么实现一个linkedHashSet。第二题就是leetcode的那个reverse word in string,我嘴贱说可以用split 然后倒着加,他就把input 换成了char[] 然后让我in-place做,然后说如果两个单词中有3个空格,也要reverse到另一边去。无论如何最后是顺利做出来了= =
第四轮:亚洲人,比较实际的数据处理题,给你一个log file,每一行都有一条记录,包括三个数据:访问时间,user id,访问的page id。然后让你找出访问次数最多的10组3个连续访问page。就是如果user A访问了page 1 2 3,这样 1 2 3 就算被访问了一次。不用考虑时间间隔所以我昨天访问1,今天2,后天3,也能算作连续访问page。我的做法是先用map统计了所有用户的按时间顺序排列好的访问page,然后三个三个加到另一个map里面去count,最后用minHeap找出前10个。follow up是如何优化空间,我那个时候大脑已经跪了,想了二十分钟想不出来就投降要hint了,然后经过提示就用大小为3的queue来存那连续三个page id,count完之后就扔掉第一个然后读第三个就好,不占用空间。


总体感觉就是题都很简单,但是连续面4个小时真的很吃力,状态一差就容易出低级bug。。。 鏉ユ簮涓浜.涓夊垎鍦拌鍧.


有帮到的同学记得帮我加米哟~

评分

5

查看全部评分

aangel 发表于 2015-12-5 14:11:26 | 显示全部楼层
求问怎么用try-catch去做第二轮的题目啊?求string length那个
回复 支持 反对

使用道具 举报

hrl1991 发表于 2015-12-5 16:27:42 | 显示全部楼层
aangel 发表于 2015-12-5 14:11
求问怎么用try-catch去做第二轮的题目啊?求string length那个

应该是把index把0开始往上加 加到out of index的时候会有exception 然后就catch exception 输出当时的index就是length了
回复 支持 反对

使用道具 举报

 楼主| 什么都有 发表于 2015-12-6 00:03:26 | 显示全部楼层
hrl1991 发表于 2015-12-5 16:27
应该是把index把0开始往上加 加到out of index的时候会有exception 然后就catch exception 输出当时的ind ...

没错是这样的
回复 支持 反对

使用道具 举报

 楼主| 什么都有 发表于 2015-12-6 00:03:41 | 显示全部楼层
aangel 发表于 2015-12-5 14:11.鐣欏璁哄潧-涓浜-涓夊垎鍦
求问怎么用try-catch去做第二轮的题目啊?求string length那个
. from: 1point3acres.com/bbs
没错就是hrl1991说的那样
回复 支持 反对

使用道具 举报

ffffun 发表于 2015-12-6 02:36:34 | 显示全部楼层
能详细讲讲扫雷题么?过几天也要去zillow onsite了。多谢啦!. visit 1point3acres.com for more.
回复 支持 反对

使用道具 举报

 楼主| 什么都有 发表于 2015-12-6 02:41:24 | 显示全部楼层
ffffun 发表于 2015-12-6 02:36
能详细讲讲扫雷题么?过几天也要去zillow onsite了。多谢啦!

扫雷题就是让你设计一个OnClick,传入坐标。然后你点到雷了就gameOver,点到0以外的数字就直接显示,点到0了的话就把周围一圈都显示,周围这一圈还有0你就继续点这个0周围的一圈就好,就是BFS的过程。
回复 支持 反对

使用道具 举报

ffffun 发表于 2015-12-6 03:10:31 | 显示全部楼层
什么都有 发表于 2015-12-6 02:41
扫雷题就是让你设计一个OnClick,传入坐标。然后你点到雷了就gameOver,点到0以外的数字就直接显示,点到 ...

需要返回什么值么? 还是只要碰到地雷,或者周围一个0都没有就退出?
回复 支持 反对

使用道具 举报

 楼主| 什么都有 发表于 2015-12-6 03:52:19 | 显示全部楼层
ffffun 发表于 2015-12-6 03:10
需要返回什么值么? 还是只要碰到地雷,或者周围一个0都没有就退出?

不需要返回,对的,如果一个0都没有就调用一下对应的UI方法然后退出,UI方法不要求写,所以你可以随便写个GameOver()之类的API放着就行。
回复 支持 反对

使用道具 举报

ffffun 发表于 2015-12-6 05:27:26 | 显示全部楼层
什么都有 发表于 2015-12-6 03:52
不需要返回,对的,如果一个0都没有就调用一下对应的UI方法然后退出,UI方法不要求写,所以你可以随便写 ...

谢谢楼主啊!祝楼主早日offer!!
回复 支持 反对

使用道具 举报

 楼主| 什么都有 发表于 2015-12-6 06:14:04 | 显示全部楼层
ffffun 发表于 2015-12-6 05:27
谢谢楼主啊!祝楼主早日offer!!

不客气,有问题再问我~有空的话帮我加个米哦。
回复 支持 反对

使用道具 举报

zhangyijun 发表于 2015-12-9 00:41:05 | 显示全部楼层
感谢LZ!! 请问收到offer了么?
回复 支持 反对

使用道具 举报

 楼主| 什么都有 发表于 2015-12-9 00:47:22 | 显示全部楼层
zhangyijun 发表于 2015-12-9 00:41
感谢LZ!! 请问收到offer了么?

没事没事,还没
回复 支持 反对

使用道具 举报

nirvanatiger 发表于 2015-12-17 06:37:33 | 显示全部楼层
预祝楼主早日拿大Offer! 我明天onsite.
回复 支持 反对

使用道具 举报

 楼主| 什么都有 发表于 2015-12-17 07:04:16 | 显示全部楼层
nirvanatiger 发表于 2015-12-17 06:37
预祝楼主早日拿大Offer! 我明天onsite.

. visit 1point3acres.com for more.加油加油!
回复 支持 反对

使用道具 举报

Iancss 发表于 2015-12-30 09:46:16 | 显示全部楼层
Hi, 楼主,
最后一题中,
“然后三个三个加到另一个map里面去count”
这里是指你自己弄了个新的hash function吗?不然根据三个page id,是怎么指定到map的entry的?
回复 支持 反对

使用道具 举报

 楼主| 什么都有 发表于 2015-12-30 10:31:55 | 显示全部楼层
Iancss 发表于 2015-12-30 09:46
Hi, 楼主,
最后一题中,
“然后三个三个加到另一个map里面去count”
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
我用最土的办法 id1_id2_id3 下划线连接。。
回复 支持 反对

使用道具 举报

Iancss 发表于 2015-12-30 14:23:09 | 显示全部楼层
什么都有 发表于 2015-12-30 10:31
我用最土的办法 id1_id2_id3 下划线连接。。

感谢楼主!
那个优化的queue是在哪一步优化的?因为用map来存储的话,这个直接遍历整个统计连续page id 的 map,将key加入到min heap当中就好了,是在统计之前弄得吗?
回复 支持 反对

使用道具 举报

Iancss 发表于 2015-12-30 14:24:09 | 显示全部楼层
然后那个log file 本来就是按照时间排好序的吗?还是说需要先预处理?
回复 支持 反对

使用道具 举报

 楼主| 什么都有 发表于 2015-12-30 21:42:15 | 显示全部楼层
Iancss 发表于 2015-12-30 14:23. 1point 3acres 璁哄潧
感谢楼主!. 1point3acres.com/bbs
那个优化的queue是在哪一步优化的?因为用map来存储的话,这个直接遍历整个统计连续page id  ...

queue是在统计连续page id出现次数时候用的啊,如果你没有次数你怎么加到min heap里面去呢?. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

log file按时间排好序的
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-9 02:59

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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