《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 1531|回复: 10
收起左侧

SnapChat 一面电面面经

[复制链接] |试试Instant~ |关注本帖
syftalent 发表于 2016-2-14 05:46:45 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 全职@Snapchat - 网上海投 - 技术电面 |Passfresh grad应届毕业生

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

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

x
给面的是做infrastructure的白人小哥,感觉是给放水让过了,简直跪谢。回馈地里。
是一道没有见过的design题,我一看没有见过就有点虚的感觉,没想到小哥来了句,我们随便写点代码, 不用complile,不用complile,不用complile、、、、、. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
惊了
虽然后来发现题不难,但是clarification花了很久。

说这个类叫bloomfilter,网上可以查到,简单来说就是有一个数组存0和1, 有很多hashfunction, 每次往里面加入一个词就计算所有的哈希值map到array上,然后标1. 查询的时候也是过一面所有的function 如果全为1则返回有可能存在,有不为0则一定不存在。
follow up是怎么样expand这个array, 答得是可以保持原有的不动新加array,查询的时候遍历所有array。

// [ 0 1 1 0 0 1 0 0 0 0 0 0 ... ] length n
// { hf0, hf1, ... hfk-1 } size k

// add. visit 1point3acres.com for more.
// "phone" -> hf0("phone") % n --> 2
// -> hf1("phone") % n --> 5
// -> hf2("phone") % n --> 1

// contains
// "pencil" -> hf0("pencil") % n --> 3
// -> hf1("pencil") % n --> 0
// -> hf2("pencil") % n --> 1

-google 1point3acres
boolean[]

BloomFilter(int n, Set<HashFunction> hashFunctions)
void add(String element)
boolean mightContain(String element)


求问是所有人都有两轮电面嘛? 因为网上看到有人好像面了一轮就onsite了?
求继续过二面 T T. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴


补充内容 (2016-2-15 09:34):
发现有人onsite做过这题0 0

补充内容 (2016-2-16 00:54):. From 1point 3acres bbs
Typo 如果全为1则返回有可能存在,有0则一定不存在。
wzy930712 发表于 2016-2-18 23:00:31 | 显示全部楼层
Any update? I thought they are very fast in hiring process. but haven't heard from them for a week now...
回复 支持 0 反对 1

使用道具 举报

wwjk2003 发表于 2016-2-15 14:56:54 | 显示全部楼层
没太看懂这题的意思,LZ能具体讲讲吗?谢谢
回复 支持 反对

使用道具 举报

 楼主| syftalent 发表于 2016-2-16 00:55:16 | 显示全部楼层
wwjk2003 发表于 2016-2-15 14:56
没太看懂这题的意思,LZ能具体讲讲吗?谢谢

就是一个词放进去要做好几次哈希然后map到array上 判断这个词在不在里面就看查询的词的所有哈希位置是不是都为1,就可能在里面
回复 支持 反对

使用道具 举报

eko910817 发表于 2016-2-16 02:03:16 | 显示全部楼层
请问lz那个表示0和1的array是面试官给定的吗?还是要自己设计?
回复 支持 反对

使用道具 举报

 楼主| syftalent 发表于 2016-2-16 07:37:18 | 显示全部楼层
eko910817 发表于 2016-2-16 02:03
请问lz那个表示0和1的array是面试官给定的吗?还是要自己设计?

给定的 八个字八个字
回复 支持 反对

使用道具 举报

 楼主| syftalent 发表于 2016-2-19 08:26:54 | 显示全部楼层
wzy930712 发表于 2016-2-18 23:00
Any update? I thought they are very fast in hiring process. but haven't heard from them for a week n ...

You may need to contact the recruiter.
回复 支持 反对

使用道具 举报

jmnjmnjmn 发表于 2016-2-24 14:06:27 | 显示全部楼层
请问下LZ  这些hashfuction是要自己设计还是也已经给了?
回复 支持 反对

使用道具 举报

 楼主| syftalent 发表于 2016-2-26 09:35:14 | 显示全部楼层
jmnjmnjmn 发表于 2016-2-24 14:06
请问下LZ  这些hashfuction是要自己设计还是也已经给了?

不用设计 直接用就好
回复 支持 反对

使用道具 举报

jmnjmnjmn 发表于 2016-2-26 13:58:04 | 显示全部楼层
syftalent 发表于 2016-2-26 09:35 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
不用设计 直接用就好

那在扩充array的时候 原来给的hashfunction只能map到原来的那个array范围吧 现在比如说扩展了一倍,怎么把输入map到后面这一半新的array上呢
回复 支持 反对

使用道具 举报

 楼主| syftalent 发表于 2016-2-27 11:57:40 | 显示全部楼层
jmnjmnjmn 发表于 2016-2-26 13:58.鐣欏璁哄潧-涓浜-涓夊垎鍦
那在扩充array的时候 原来给的hashfunction只能map到原来的那个array范围吧 现在比如说扩展了一倍,怎么 ...

List<Boolean[]>
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-11-24 12:06

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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