一亩三分地论坛

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

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

Snapchat Onsiteda

[复制链接] |试试Instant~ |关注本帖
湿太大苞谷 发表于 2016-2-21 09:23:16 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 全职@Snapchat - 内推 - Onsite |Passfresh grad应届毕业生

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

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

x
周四面的snapchat onsite,拿到offer了,然后终于回来有空写个面经。

面试的早上去的很早,还在威尼斯海滩上走了一下,碰到一个卖手工艺品的大叔,人还蛮好的送了我一个什么幸运石,祝我面试顺利。然后就跟接待我的小黑哥聊了好久,然后差不多11点15的时候我的第一个面试官来把我带走了。
第一轮的面试官是个国人小哥,长得还挺帅,上来先让我自己选了一个项目介绍了一下,就开始做题。第一个热身的很简单,leetcode上的Product except itself,大概给他讲了一下思路就开始写了,写代码的时候他没看我,好像还在改他自己的代码。写完了他说我的代码习惯很好,注释很清楚,然后就第二个题。第二个题还是leetcode上的一个变体,二维矩阵的有些格子有障碍,一个人从左上往右下走,只能走下和右两个方向,求到右下的最短距离。这个很典型的一个动态规划,所以很快就写完了。然后小哥发现,咋这么快又写完了,于是就follow up出了第三个题,把第二个题变了一下说这个人可以上下左右都走,还是找最短距离。这个用dp就做不了了,于是就换成了bfs来做,还写了一点小bug,没有维护visited的set,小哥最后给我指出来了,然后时间就到了。

中午吃饭是推我的学长带我吃的,我一开始以为有吃饭的cultural fit面,然后看到学长推门进来简直要哭,以为运气咋这么好。结果学长说,我们公司都这样,如果有人推,就是推你的人带你吃饭。然后就跟着学长去吃饭了。事实证明我的运气是很好,吃饭的时候学长带着我跟另外几个小哥一起吃饭,其中一个也是我的直系学长,之前不认识,吃饭的时候就在聊。后来,事实证明他就是我的第二个面试官,吃完饭后等着看到他进来的是有一次简直想哭。. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
所以第二轮就很轻松,学长进来直接跟我说中文,说没关系的,我们不聊了,直接做个题吧。于是就做了一个meeting room II的变体,不是求需要多少个room,而是要把schedule打出来,输出哪些meeting在同一个room里进行。很轻松就写完了,然后学长说,那我们变一下,现在只有一个room,然后每个meeting都有权重,要求在不冲突的情况下使得最后安排下来的权重和最大。但是真是困,这个题上来的时候有点懵,没太想清楚dp的动态转移,就大概说了一下。此时,就体现了校友的厉害,学长说,没关系,来我带你想,于是就一步一步的带着我把动态转移写出来了。本来我以为他会让我把代码写了,结果他说没关系你就再把整个思路给我串一下就好了,不用写了。所以第二轮其实还是有点难的,但是运气太好,学长也没有为难我。

然后第三轮,是带shadow的面试,一来就是两个人,一个主面一个shadow,进来还是让我介绍项目,这个小哥很挑剔,很多技术的细节都让我解释了。shadow小哥一直在微笑不说话,还搞得我挺紧张。然后主面小哥开始出题了,说我们先写个简单的,的确是挺简单的,就是leetcode的那个找有多少个island的题。这一轮我是懵逼了,本来这个题很容易的bfs写的,但是当是我也不知道到底那根筋搭错了,说我给你写个UnionFind吧,小哥显然有点吃惊,说那你写吧。结果我也是的确就写出来了,然后小哥说那你说时间复杂度和空间复杂度是多少,于是我就说了。结果小哥说那UnionFind要额外的空间去记录,不太好,你现在就在原矩阵上走怎么做。当时还是有点二,一直纠结没太想清楚,然后小哥就说你想一想不是bfs就是dfs吧,然后突然就想通了说bfs。然后小哥说对对对,但是没时间写了,本来这一轮我给你准备了两个题,我没想到你第一题上来就写UnionFind,所以花了很多时间,第二题就算了。我当时就吓到了,以为我就跪了。但是shadow小哥给我吃了一剂定心丸,我问他你有没有什么feedback,他说我觉得很厉害,之前我也是学过UnionFind,但是自己没写过,今天看你bug free的一下子写出来,让我很震惊。所以感觉适度装逼也是可以的,其实我当时是真的没想到bfs。

第四轮是一个白人小哥,上来就上了个厕所,然后就让我介绍了一下自己,介绍了一下自己对snapchat的印象,介绍了一下为什么要选择snapchat。然后就开始做题。第一个不是很难,就是给了两个text文档,去parse第一个文档中的每个字符,然后去判断能不能组成第二个text。很简单,用hashmap做就好了。小哥后来让我优化,说怎么样可以提前退出而不用走完第一篇text,我就给他写了一个flag,记录到第二个text结束的时候就直接退出,小哥很满意。然后就第二题,第二题也是之前地里有的,外星人词典,判断这个addressbook对不对就行了,其实就是一个有向图判断有没有环,或者用拓扑排序也可以做。写完跑了一下test case也都过了就结束了。. Waral 鍗氬鏈夋洿澶氭枃绔,

完了之后跟recruiter聊了一下就让我回去等消息了,然后snapchat家是真的很快,第二天早上就给消息了,直接打电话给的offer。
. 1point3acres.com/bbs
感觉snapchat的整体bar还是挺高的,主要考图和dp,要求代码速度很快,每一轮要聊20分钟左右然后还要做2-3个hard左右的题,基本要求自己写test case测。当天感觉发挥不错,代码都是test case一次跑过bug free的。记得第三轮写完UnionFind跑出来没有问题的时候,shadow小哥在我背后感叹了一句 ‘哇’,还把我吓了一跳。

Snapchat环境真的不错,公司人也感觉很年轻和有活力,大家加油咯!. From 1point 3acres bbs

评分

1

查看全部评分

kinggarden2001 发表于 2016-2-21 10:08:39 | 显示全部楼层
楼主厉害。请问楼主leetcode 刷了几遍到现在的功力?
回复 支持 反对

使用道具 举报

fcdwg1 发表于 2016-2-21 15:13:55 | 显示全部楼层
恭喜楼主, 请问那个meeting room权重和的题是n^2的dp么
回复 支持 反对

使用道具 举报

jmnjmnjmn 发表于 2016-2-22 03:47:03 | 显示全部楼层
恭喜lz!! 请问一下 带权重的meeting那个follow up,意思是在所有meeting里挑出一部分不冲突的meeting求最大的权重和吗
回复 支持 反对

使用道具 举报

haoxuango 发表于 2016-2-22 08:29:59 | 显示全部楼层
是在main函数里面写test吗
回复 支持 反对

使用道具 举报

william_gong 发表于 2016-2-22 09:09:03 | 显示全部楼层
求第二轮follow up 思路。。。
回复 支持 反对

使用道具 举报

jmnjmnjmn 发表于 2016-2-22 14:30:52 | 显示全部楼层
第二题Follow up, 一个房间,N个meeting有不同权重,输出最大权重  
不知道这么写对不对

public class Interval {
      int start;
      int end;
      Interval(int s, int e) { start = s; end = e; }
  }
public int meetingroom (int LastEndTime, Interval[] meeting,int V[]) {
        // write your code here
        int[] res = new int[LastEndTime+1];
        for (int i=0; i<meeting.length; i++) {
            for (int j=LastEndTime; j>=meeting.end; j--) {
                res[j] = Math.max(res[j], res[meeting.start]+V);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
            }
        }
        return res[LastEndTime];
    }

public void main(String[] args) {.鐣欏璁哄潧-涓浜-涓夊垎鍦

   Interval a = new Interval(0,2);
   Interval b = new Interval(1,4);
   Interval c = new Interval(2,3);
   Interval d = new Interval(2,5);.鐣欏璁哄潧-涓浜-涓夊垎鍦
   
   int [] v = {3,6,5,4};
   Interval[] interval = {a,b,c,d};
   int res = meetingroom(5,interval,v);.鐣欏璁哄潧-涓浜-涓夊垎鍦
   System.out.println(res);
  }

补充内容 (2016-2-22 14:32):
类似 BackPack II http://www.lintcode.com/en/problem/backpack-ii/
回复 支持 反对

使用道具 举报

haoxuango 发表于 2016-2-24 10:31:55 | 显示全部楼层
楼主你去吗。。我也拿到了
回复 支持 反对

使用道具 举报

singledog2016 发表于 2016-2-24 11:33:44 | 显示全部楼层
恭喜楼主。想请教一下snapchat让带笔记本,每轮都是需要现场编译通过再test case吗?谢谢!
回复 支持 反对

使用道具 举报

 楼主| 湿太大苞谷 发表于 2016-2-25 09:54:16 | 显示全部楼层
kinggarden2001 发表于 2016-2-21 10:08
楼主厉害。请问楼主leetcode 刷了几遍到现在的功力?

额。。我一遍还没刷完。。但是上过一些算法的课
回复 支持 反对

使用道具 举报

 楼主| 湿太大苞谷 发表于 2016-2-25 09:54:53 | 显示全部楼层
fcdwg1 发表于 2016-2-21 15:13
恭喜楼主, 请问那个meeting room权重和的题是n^2的dp么

那个我最后没有写代码,只是讲了一下思路,当时有点困其实没想得很清楚。。。
回复 支持 反对

使用道具 举报

 楼主| 湿太大苞谷 发表于 2016-2-25 09:55:11 | 显示全部楼层
jmnjmnjmn 发表于 2016-2-22 03:47
恭喜lz!! 请问一下 带权重的meeting那个follow up,意思是在所有meeting里挑出一部分不冲突的meeting求最大 ...

对的,就是要找到不冲突的meetings并且要使得权重和最大
回复 支持 反对

使用道具 举报

 楼主| 湿太大苞谷 发表于 2016-2-25 10:03:11 | 显示全部楼层
haoxuango 发表于 2016-2-22 08:29
是在main函数里面写test吗
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
是的,自己写main函数写test case
回复 支持 反对

使用道具 举报

 楼主| 湿太大苞谷 发表于 2016-2-25 10:04:55 | 显示全部楼层
william_gong 发表于 2016-2-22 09:09
求第二轮follow up 思路。。。
.鐣欏璁哄潧-涓浜-涓夊垎鍦
就是按结束时间排序,然后对于dp表示前i个会议中的最大权值,对于dp有两种情况,一个是第i个会议不加入,那dp = dp[i - 1], 一个是第i个会议要加入,那就去找i之前的能满足跟会议i不冲突的最大权值
回复 支持 反对

使用道具 举报

haoxuango 发表于 2016-2-25 10:06:24 | 显示全部楼层
湿太大苞谷 发表于 2016-2-25 10:03
是的,自己写main函数写test case

谢楼主回啦 我已经拿到了
回复 支持 反对

使用道具 举报

ohmystill 发表于 2016-2-25 10:20:04 | 显示全部楼层
感觉楼主 是个漂亮妹子
回复 支持 反对

使用道具 举报

 楼主| 湿太大苞谷 发表于 2016-2-25 10:57:54 | 显示全部楼层
haoxuango 发表于 2016-2-25 10:06-google 1point3acres
谢楼主回啦 我已经拿到了

哈哈,恭喜啦!一开始看上面的回复没看到你下面的回帖~我还没有定要不要去,你要去吗?
回复 支持 反对

使用道具 举报

 楼主| 湿太大苞谷 发表于 2016-2-25 10:58:10 | 显示全部楼层
ohmystill 发表于 2016-2-25 10:20
感觉楼主 是个漂亮妹子

你肯定是看走眼了哈哈
回复 支持 反对

使用道具 举报

ohmystill 发表于 2016-2-25 11:04:32 | 显示全部楼层
湿太大苞谷 发表于 2016-2-25 10:58
你肯定是看走眼了哈哈

一般公司里的学长都喜欢 帮漂亮妹子的
不用太谦虚哈
回复 支持 反对

使用道具 举报

haoxuango 发表于 2016-2-25 11:29:50 | 显示全部楼层
湿太大苞谷 发表于 2016-2-25 10:57. 鍥磋鎴戜滑@1point 3 acres
哈哈,恭喜啦!一开始看上面的回复没看到你下面的回帖~我还没有定要不要去,你要去吗?

我决定去了 本人很懒 不想再面了 快毕业考试了也不想接着面了  楼主也是妹子吗? 我也是, 哈哈。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-5 16:48

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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