📣 独立日限时特惠: VIP通行证立减$68
回复: 13
跳转到指定楼层
上一主题 下一主题
收起左侧

Snapchat LA Onsite 新鲜面经

全局:

2016(7-9月) 码农类General 本科 全职@snapchat - Other - Onsite  | | Other | 在职跳槽

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
新手攒经验发帖啦。Snapchat电面记不得了,就发个onsite的吧~
1. coding: opposite gender check.

Given a list of user pairs, return whether or not it's possible all the pairs are of opposite gender.
E.g. oppositeGender([(A, B), (A, C), (E, F), (A, C)]) should return false because if (A, B) is of opposite gender, (B, C) is of opposite gender, then (A, C) can NOT of opposite gender.

我的solution就是建个tree/ graph,然后BFS treverse.

2. coding: encode/ decode message

Given a message, implement
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
ot; would be a bad ip.
In the example "6.7.8.134/32", only exact match "6.7.8.134" would be a bad ip.


* isBadIp()
E.g. isBadIp("7.3.4.5") should return true. isBadIp("6.7.8.0") should return false.


4. project deep dive + 闲聊


新手发帖,希望大家多多鼓励交流,最关键的是想多攒点经验值啦!谢谢!

评分

参与人数 2大米 +75 收起 理由
rick199186 + 5 感谢分享!
夏虫不知雪花 + 70

查看全部评分


上一篇:Paypal电面
下一篇:Facebook 两道onsite System design
推荐
 楼主| euv921 2016-9-2 15:15:52 | 只看该作者
全局:
wtcupup 发表于 2016-9-2 15:09
第三题的思路是什么?

思路就是,以"7.0.0.0/8"为例:
* 转化"7.0.0.0" 转化成 val = 7<<24 + 0<<16 + 0<<8 + 0
* 然后bitwise shift (32 - mask bits) 之后compare. return val >> (32 - 8) == val2 >> (32 - 8).

后面有优化,比如说 isBadIp() 被call很多次,怎么优化,就不多说啦,大家自己想吧 :)

评分

参与人数 1大米 +3 收起 理由
火火火bit + 3 感谢分享!

查看全部评分

回复

使用道具 举报

全局:
euv921 发表于 2016-9-1 23:15
思路就是,以"7.0.0.0/8"为例:
* 转化"7.0.0.0" 转化成 val = 7

每次要把规则里的n个ip/cidr都比较一下么?
这个题面经里面有,就是建个trie,比如7.0.0.0/8=00000111 00000000 00000000 00000000,最多32层
回复

使用道具 举报

🔗
wtcupup 2016-9-2 15:09:46 | 只看该作者
全局:
第三题的思路是什么?
回复

使用道具 举报

🔗
神罗天征 2016-9-2 15:25:45 | 只看该作者
全局:
是不是snapchat的new grad和在职跳槽的难度等级不一样呀?
每次看有工作经验的题都比较难……还是因为我太弱了……
回复

使用道具 举报

🔗
wtcupup 2016-9-2 15:26:29 | 只看该作者
全局:
euv921 发表于 2016-9-2 15:15
思路就是,以"7.0.0.0/8"为例:
* 转化"7.0.0.0" 转化成 val = 7

这解法好赞,楼主offer稳了
回复

使用道具 举报

🔗
 楼主| euv921 2016-9-2 15:29:27 | 只看该作者
全局:
wtcupup 发表于 2016-9-2 15:26
这解法好赞,楼主offer稳了

并没有,还没有信儿,希望尽快有消息吧。。。 (哭)
回复

使用道具 举报

🔗
hxtang 2016-9-2 21:24:53 | 只看该作者
全局:
第二题
encode的时候打乱了顺序,感觉decode restore不回来了吧...
以及感觉那个01串对decode没啥用啊...有前面的字符串长度和字母了为什么不直接把相关的substr下来呢
请问我是不是哪里理解错了

第三题
followup能不能用cache+trie来优化

补充内容 (2016-9-2 21:36):
第二题似乎明白了,前面数字+decode是定义了字典,最后01串还是按照原来的字符串顺序输出的...
回复

使用道具 举报

🔗
xpli521 2016-9-2 21:31:43 | 只看该作者
全局:
楼主能解释下为什么“lohe wrd” 经过dict的translate之后变成 “0111011110101” 这个了吗?  看你给的dict的例子,应该是encode成 01 011 0111 01111。。。
回复

使用道具 举报

🔗
hxtang 2016-9-2 21:37:54 | 只看该作者
全局:
xpli521 发表于 2016-9-2 21:31
楼主能解释下为什么“lohe wrd” 经过dict的translate之后变成 “0111011110101” 这个了吗?  看你给的dic ...

0111011110101... 是按输入字符串的顺序而不是字典顺序输出的
0111(h)01111(e)01(l)01(l)...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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