一亩三分地论坛

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

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

Dropbox电面面经

[复制链接] |试试Instant~ |关注本帖
virpro 发表于 2016-10-6 06:28:46 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 全职@Dropbox - 猎头 - 技术电面 |Other在职跳槽

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

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

x
发个Dropbox已跪电面面经

1. LC 362 Design Hit Counter (老美)
Follow up如果timstamp granularity无限小怎么解?

2. 临时换来的老中
用BT之类的工具Download一个很大的文件。可以分成很多个chunk去分别Download,chunk之间可能有overlap。在任意时刻,如何检测Download是否完成?假设file大小为若干GB,每个chunk大小为若干MB,而且每个chunk已下载部分的起始位置和完成位置已知。

一开始我用interval表示chunk,然后用merge intervals的方法去检测。时间复杂度O(N),被要求优化。答可以用一个boolean的array表示每个byte是否被cover,还是不满意。后来在面试官提示应该用bit map,并且直接用java的bitset实现。这样可以做到O(1)的时间复杂度。查了一下API文档,简单完成了code。. Waral 鍗氬鏈夋洿澶氭枃绔,
-google 1point3acres
最后就是挂在这一面上。虽然也没多想去Dropbox,但是对这样的老中,我只能呵呵了。

评分

1

查看全部评分

wangyuesong2 发表于 2016-10-6 07:09:47 | 显示全部楼层
patpat,楼主很强了
第二个是使用boolean的array表示每个MB是否被cover吗?还是byte
话说楼主是内推的嘛
回复 支持 反对

使用道具 举报

 楼主| virpro 发表于 2016-10-6 07:14:43 | 显示全部楼层
wangyuesong2 发表于 2016-10-6 07:09
patpat,楼主很强了
第二个是使用boolean的array表示每个MB是否被cover吗?还是byte
话说楼主是内推的嘛

没区别,boolean就占1 byte。应该早点想到用bitmap的,但是当时觉得bit map操作update的时候时间复杂度的constant factor很高,所以犹豫要不要往这个方向走。另外就是BitSet API不了解,这个肯定是负面印象。

补充内容 (2016-10-6 07:15):
表示每个byte,不是MB。
回复 支持 反对

使用道具 举报

洋葱a 发表于 2016-10-6 08:50:28 | 显示全部楼层
问个很蠢的问题。。。。最后看bitset是不是全填满了的话,不也是要挨个看么?时间不是n么?
回复 支持 反对

使用道具 举报

 楼主| virpro 发表于 2016-10-6 08:55:52 | 显示全部楼层
洋葱a 发表于 2016-10-6 08:50. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
问个很蠢的问题。。。。最后看bitset是不是全填满了的话,不也是要挨个看么?时间不是n么?

我面试的时候也是这么想的,不过貌似bitset可以记录有多少bit是set true的。或者即使自己实现bitset,也能在update的时候记录总的true的bits count。https://docs.oracle.com/javase/7/docs/api/java/util/BitSet.html#cardinality()
回复 支持 反对

使用道具 举报

洋葱a 发表于 2016-10-7 02:10:34 | 显示全部楼层
virpro 发表于 2016-10-6 08:55
我面试的时候也是这么想的,不过貌似bitset可以记录有多少bit是set true的。或者即使自己实现bitset,也 ...

原来如此。多谢解答!顺便求问第一题的无限小follow up您是什么思路解的?
回复 支持 反对

使用道具 举报

gjxwin 发表于 2016-10-7 02:27:43 | 显示全部楼层
virpro 发表于 2016-10-6 08:55
我面试的时候也是这么想的,不过貌似bitset可以记录有多少bit是set true的。或者即使自己实现bitset,也 ...

dropbox的题真是万年不变,第二题我当时也用bitset写,这么写空间复杂度是最优,但是时间复杂度有个是O(n),最优解应该是用红黑树做,这样时间空间复杂度trade-off
回复 支持 反对

使用道具 举报

Davidleeofuibe 发表于 2016-10-7 03:29:41 | 显示全部楼层
求问楼主第一轮之后多久第二轮电面呢
回复 支持 反对

使用道具 举报

 楼主| virpro 发表于 2016-10-7 04:52:17 | 显示全部楼层
Davidleeofuibe 发表于 2016-10-7 03:29
求问楼主第一轮之后多久第二轮电面呢

很快吧。二面之后拖了很久,还得自己去问才告诉你挂了。感觉比较没品。
回复 支持 反对

使用道具 举报

 楼主| virpro 发表于 2016-10-7 04:53:45 | 显示全部楼层
gjxwin 发表于 2016-10-7 02:27
dropbox的题真是万年不变,第二题我当时也用bitset写,这么写空间复杂度是最优,但是时间复杂度有个是O( ...

好吧,我看来是没太认真准备他们家,面经都没怎么看过.... 1point 3acres 璁哄潧

你用bitset写过了吗,还是说让你再优化成红黑树?
回复 支持 反对

使用道具 举报

Davidleeofuibe 发表于 2016-10-7 05:12:44 | 显示全部楼层
virpro 发表于 2016-10-7 04:52
很快吧。二面之后拖了很久,还得自己去问才告诉你挂了。感觉比较没品。

我这周二面的,今天还没有任何消息,不知道是不是面我的那个三哥还没给feedback,那天面试的时候他们都快下班了。。。
回复 支持 反对

使用道具 举报

gjxwin 发表于 2016-10-7 05:37:41 | 显示全部楼层
virpro 发表于 2016-10-7 04:53
好吧,我看来是没太认真准备他们家,面经都没怎么看过...

你用bitset写过了吗,还是说让你再优化成红 ...

我用bitset写过了,让我优化成红黑树,没时间写了,我就说了一下,然后挂了。。。妹的,我当时onsite 3轮有2轮都让优化用红黑树,真是日了🐶
回复 支持 反对

使用道具 举报

 楼主| virpro 发表于 2016-10-7 06:19:03 | 显示全部楼层
gjxwin 发表于 2016-10-7 05:37
我用bitset写过了,让我优化成红黑树,没时间写了,我就说了一下,然后挂了。。。妹的,我当时onsite 3轮 ...

面你的是老中吗?
. 鍥磋鎴戜滑@1point 3 acres
这种面试简直奇葩,不去也罢。
回复 支持 反对

使用道具 举报

mrdanding 发表于 7 天前 | 显示全部楼层
gjxwin 发表于 2016-10-7 02:27
dropbox的题真是万年不变,第二题我当时也用bitset写,这么写空间复杂度是最优,但是时间复杂度有个是O( ...

想问下bitset的话,时间复杂度怎么会有O(n)呢。难道是有一个Chunk的start 是1, end是n,这种情况是O(n)?
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-3 04:25

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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