Snapchat面经

Snapchat总部在LA旁边的Venice Beach,面朝大海,其实就是个旅游景点,都是游玩的气息。内部员工都觉得这个app很有前途,是美国的微信,也会成为下一个facebook。另外员工里面华人也很多,目前没什么多少印度人,估计也是跟压力比较大有关系。福利感觉不错,虽说只是startup,不过健身房也有,伙食也不错,也可以包办绿卡。公司的布局充满着文艺气息,非常符合LA的风格。虽说自己没用过Snapchat,但是这个公司还是挺喜欢的。地理位置上由于不在硅谷,所以以后跳槽可能不太方便。

Snapchat的面试要求是要编译通过,跑自己写的测试,对编码能力要求还是挺高的。Onsite的时候不用白板写,都是在自己的笔记本上写,所以装个IDE会非常有帮助,写起代码也在白板上写要快很多。HR很高效,从G家挖来的,还告诉我们哪些地方值的游玩。

电面的时候是用Google Hangout,需要视频,两个男的在那视频感觉怪怪的。题目是给一个整数数组,其中所有数字都大于等于1。这些数字可以用加号,乘号和括号连接成一个表达式,求表达式的最大值。二维DP搞定。

Follow up是考虑0和负数。这时需要维护两个DP表,同时跟踪表达式的最大值和最小值。在当今这个DP已经不流行的年代,这个题目算是我所有面试见到的最难DP题目了。

Onsite一共4轮,里面有一个中国人,一个ABC,两个白人。中午一个senior level的国女陪着吃饭,感觉面试阵容实在太好了。

第一面是LC原题,根据前序遍历和中序遍历构造二叉树,follow up是检测非法输出。以前没想过follow up,原来还挺有意思的。

第二面有两题。第一题是Amicable pair,我只给出了O(N*sqrt(N))的暴力解法,不过小白还是很满意的,他说这已经是他所知的最好解法了。第二题是实现字典树,也不难。

第三面是实现Bipartite。虽然图论方面的知识已经基本都忘了,白人经理很耐心的引导我,排除了我一些错误的想法(例如想边BFS边回溯),然后自己debug了一下,主要的test case都过了。不过由于debug花了些时间,没有follow up。估计要挂就挂在这一轮了。

第四面是实现BigInteger类,主要实现BigInteger之间的加法。由于正负数都要考虑,其实这里也要实现求相反数和减法。思路不难,但是代码还挺多的,test case也挺多的,不过都测对了。

面试完以后感觉还挺好的,毕竟每题都写完了而且测试用例都过了,没想到最后还是被拒了,看来还是只有去硅谷的命了。

时间: 2024-08-08 01:29:06

Snapchat面经的相关文章

snapchat阅后即焚实现分析

最近主打阅后即焚的snapchat似乎又火了起来,估值已经达到100亿美元了.阅后即焚这个功能看上去挺神秘的样子,我们来分析一下它到底是怎么实现的吧. 通过wireshark抓包,发现全部都是SSL包,无法解密,但是至少可以确定这个app全程使用https进行通讯.另外APP还对HTTPS代码做了某些处理,使得fiddler的证书劫持功能也无法正常使用,那就只有再次祭上netbeans了. 通过apkIDE搜索"https"字符串,因为一般来说会注册一个https的Scheme.在找到

Global Web Index发布社交网络现状调查,Snapchat增速领跑移动端所有App,四分之一Facebook用户年龄在45岁以上【转载+整理】

原文地址 有次上班做公交,期间听到一个老太太说:"我加你微信啊--",还有一次去看老中医,并交换了电话,可当我回去后发现这个大夫竟然加了我微信--这些都令我有点吃惊,连60.70岁老人都在用微信和QQ,尤其是微信,微信和QQ 越来越成为一种必备工具,像银行卡,像背包--像人手一部手机,而手机必须按 QQ 和微信一样. 但接下来的问题是,既然微信和QQ已经蔓延到老人,你的微信里几乎全是生活中认识的人,包括朋友.亲戚.同事,甚至是爷爷奶奶(我微信有我姑和四奶),无论是微信还是QQ它们都是熟

Snapchat无法注册,2019最新上Snapchat的方法

手机打开Snapchat提示无法2.先进入 ytb加速器 网站下载app 2.下载安装之后,我们进入软件界面,选择线路连接 3.选择线路连接成功之后,我们用手机打开app,就可以直接打开Snapchat注册了 4.注册好账号之后,我们就可以直接Snapchat app 刷新特效 拍照了 原文地址:https://blog.51cto.com/14314592/2388734

使用知足加速器注册snapchat方法

废话不想多说其实什么都可以很简单!snapchat最打的问题其实就是这个,如图下:所以才会需要使用到知足加速器 : http://suo.im/5di1F2安装好软件后·连接我们开始进入注册教程OK了!!注意事项 :连接成功后等1分钟后再开启APP别太急! 原文地址:https://blog.51cto.com/14336030/2397512

Snapchat - IPFilter

这道题题意好难理解…… 首先说一下IP,二进制表示的IP有32位,一般8位一分隔,转换成十进制,就是0.0.0.0 ~ 255.255.255.255 给你一些IP的规则,比如"7.7.7.7/8","123.2.67.3/8",这个代表着比如7.7.7.7所对应的32位的表示,00000111*4,8表示取前8位,把所有以00000111开头的ip地址都看成一组,如果在这组内就被filter掉. 所以思路是: 1. 建立ipRule的trie,提供搜索的功能 2.

Reservoir Sampling - snapchat

首先说一下Reservoir Sampling的原理 ref: http://www.geeksforgeeks.org/reservoir-sampling/ 如果输入的Stream里面有N个数,我们需要从中选取k个随机的数,那么: 先把前k个数放入"水塘"(index范围是[0, k - 1]) 从index为[k,N - 1]中的第i个数中,随机生成一个[0, i - 1]的值r 如果r < k那么就把res[r]换成stream[i] 分析其中的概率: 对于第i个数,它被

Snapchat面经(师兄的)

给一个LinkedList环,给其中任一个节点的reference,求删去LinkedList中所有value=k的点 我的想法:假设给定的点事ListNode oneNode, 设置ListNode dummy = new ListNode(-1); dummy.next = oneNode 然后扫描一次找到环里最后一个点,断链:ListNode end.next = null; 然后就开始扫描,删点 然后再扫描一次,将最后一个点.next指向开头

Snapchat - 2D矩阵的combination

面筋贴:http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=206115&pid=2586947&page=1&extra=#pid2586947 给一个整数n和一个整数m,n表示正方形边长,正方形初始值全为0.比如 n=3,代表初始是这样的正方形:.1point3acres缃?000000000若m=2,代表将其中的2个元素翻转为1,打印出可能得到的所有正方形:比如011000000或000110000

Snapchat - 向左下角打印2D矩阵

题目是这样的,给一个2d矩阵,向左下角打印矩阵,比如 1,2,3,4 5,6,7,8 9,10,11,12 {{1},{2,5},{3,6,9},{4,7,10},{8,11},{12}} 所以解题的重点是,结果里面的每一组,它们的横坐标+纵坐标是相等的,然后最大的可能是col+row-2 1 public List<List<Integer>> printMatrix(int[][] board) { 2 int height = board.length; 3 int widt