Snapchat SDE电面+onsite面经

字数 840阅读 127

刚刚结束了在Snapchat的面试,我应聘的是software engineer 职位。

Snapchat面试的效率真的很高,网申第二天就被通知可以预约电面时间了。在我参加完电面两天后就收到通知可以进行onsite面试。

电面:

简单的自我介绍后就进入了正题,三道题目,题目难度一般,总体这一面感觉比较轻松。

题目是 2 sum, 3 sum, 4 sum

1.LintCode: 2 Sum

LintCode原题链接:http://www.lintcode.com/zh-cn/problem/2-sum/

参考答案:http://www.jiuzhang.com/solutions/2-sum/

2.LintCode: 3 Sum

LintCode原题链接:http://www.lintcode.com/zh-cn/problem/3sum/

参考答案:http://www.jiuzhang.com/solutions/3sum/

LintCode: 4 Sum

LintCode原题链接:http://www.lintcode.com/zh-cn/problem/4sum/

参考答案:http://www.jiuzhang.com/solutions/4sum/

最后还详细地针对我的简历问了一些问题,之后就让我等通知。

电面结束后第二天,我就收到通知可以进行onsite面试。

Onsite

Onsite面试有4轮

Round 1

第一轮面试官是个老中,我们简单聊了了一下就进入正题,开始进行coding。

1.找出所有的亲和数(如果两个数a和b,a的所有除本身以外的因数之和等于b,b的所有除本身以外的因数之和等于a,则称a,b是一对亲和数)

LintCode原题链接:http://www.lintcode.com/zh-cn/problem/amicable-pair/

参考答案:http://www.jiuzhang.com/solutions/amicable-pair/

2.大数相乘

LintCode原题链接:http://www.lintcode.com/zh-cn/problem/big-integer-multiplication/

参考答案:http://www.jiuzhang.com/solutions/big-integer-multiplication/

Round 2:

第一轮后等候了一会儿就进入第二轮,面试官换了一个,是个挺年轻的金发青年,看起来很有活力。小哥很健谈,聊了一会儿天,就问了一道题。

1.life游戏(和yelp相似)。

Follow up:从二维到多维,如果有很多用户访问同一游戏板,并且他们有不同到试图怎么办?

Round 3:

这一轮面试官先聊了聊之前做过的项目。然后问了我为什么选择Snapchat,我就说了一下看好前景什么的。可能是这个答案,太大众化了,他没说什么就让我做题了。

1.关于Snapchat的服务器设计的讨论。

要求:保证消息传递的可靠性,同时需要保证可靠传输后的删除

2.设计一部电梯。

第二个问题我卡了很久,面试官忍不住提示了我,还好最后做出来了,有惊无险。

Round 4:

问了一道题,有些点还是需要注意的,认真一点儿基本上没问题。

1.把BST转化为双向链表

LintCode原题链接:http://www.lintcode.com/zh-cn/problem/flatten-binary-tree-to-linked-list/

参考答案:http://www.jiuzhang.com/solutions/flatten-binary-tree-to-linked-list/

总的来说,还挺顺利,最后也拿到了offer。虽因个人原因拒绝了,但从面试和之前的了解来说,Snapchat值得一试。

推荐阅读更多精彩内容