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


一亩三分地论坛

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

Snapchat电面面经12.16

[复制链接] |试试Instant~ |关注本帖
wind1689 发表于 2015-12-17 08:14:36 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 硕士 全职@Snapchat - 内推 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
刚面完电面。两道题。1. Design
// snapchatter send-list
// toggle(string username)
// getSelectedLlist()
// t: a getsl: a
// t: a b c getSl: a b c
// t: a b a c getSl: b c.1point3acres缃


Design题我给的设计,用了doublelinkedlist,确保了toggle时的时间复杂度为O(1)

2. Three Sum
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷




评分

1

查看全部评分

本帖被以下淘专辑推荐:

tangvictor 发表于 2015-12-18 10:43:30 | 显示全部楼层
第一题能否举个例子,没太看懂。。
回复 支持 反对

使用道具 举报

Gianluigi 发表于 2015-12-18 13:30:24 | 显示全部楼层
比如 toddle(a), getList 返回 a;
再 toddle(b), getList 返回 a b;
再 toddle(c), getList 返回 a b c;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
再 toddle(b),getList 返回 a c.鏈枃鍘熷垱鑷1point3acres璁哄潧
再 toddle(c),getList 返回 a
回复 支持 反对

使用道具 举报

xin1q1q12 发表于 2015-12-23 17:00:22 | 显示全部楼层
结果怎么样楼主
回复 支持 反对

使用道具 举报

haoxuango 发表于 2015-12-23 23:47:22 | 显示全部楼层
楼主oa是什么时候做的?
回复 支持 反对

使用道具 举报

谎言之躯 发表于 2015-12-30 23:46:45 | 显示全部楼层
snapchat的面试可以用C++写代码吗?
回复 支持 反对

使用道具 举报

Gianluigi 发表于 2015-12-31 01:39:07 | 显示全部楼层
谎言之躯 发表于 2015-12-30 23:46
snapchat的面试可以用C++写代码吗?

可以的,至少电面是可以选自己喜欢的语言。在 Hackerrank 的环境里。
回复 支持 反对

使用道具 举报

shawn.chris 发表于 2016-1-1 07:29:40 | 显示全部楼层
非常有帮助,谢谢楼主!
回复 支持 反对

使用道具 举报

谎言之躯 发表于 2016-1-1 10:08:22 | 显示全部楼层
这道题的list是不是一开始就给好了?
回复 支持 反对

使用道具 举报

Gianluigi 发表于 2016-1-1 10:31:25 | 显示全部楼层
谎言之躯 发表于 2016-1-1 10:08
这道题的list是不是一开始就给好了?

不是的,list 是通过 toddle() 一个字符一个字符的输进去的。
回复 支持 反对

使用道具 举报

谎言之躯 发表于 2016-1-1 10:47:25 | 显示全部楼层
Gianluigi 发表于 2016-1-1 10:31
不是的,list 是通过 toddle() 一个字符一个字符的输进去的。

比如 toddle(a), getList 返回 a;
再 toddle(b), getList 返回 a b;
再 toddle(c), getList 返回 a b c;. Waral 鍗氬鏈夋洿澶氭枃绔,
再 toddle(b),getList 返回 a c

现在这个时候再toddle(b),是返回a c b还是a b c?
回复 支持 反对

使用道具 举报

Gianluigi 发表于 2016-1-1 12:29:14 | 显示全部楼层
谎言之躯 发表于 2016-1-1 10:47
比如 toddle(a), getList 返回 a;
再 toddle(b), getList 返回 a b;
再 toddle(c), getList 返回 a b ...

a c b

字数字数
回复 支持 反对

使用道具 举报

谎言之躯 发表于 2016-1-1 13:21:23 | 显示全部楼层
Gianluigi 发表于 2016-1-1 12:29
a c b
. 1point 3acres 璁哄潧
字数字数

那岂不是跟LRU cache类似?
回复 支持 反对

使用道具 举报

RagingSword 发表于 2016-1-2 06:13:36 | 显示全部楼层
谎言之躯 发表于 2016-1-1 13:21
那岂不是跟LRU cache类似?

同意,感觉就是doubleLinkedList + HashMap
回复 支持 反对

使用道具 举报

yangyuzhiguang 发表于 2016-1-16 04:07:15 | 显示全部楼层
楼主可以详细讲一下第一题吗,我表示还没看懂,谢谢啦!
回复 支持 反对

使用道具 举报

nnwoshinn 发表于 2016-1-16 04:14:24 | 显示全部楼层
请问下楼主有skeleton code吗,最后要运行通过么?
回复 支持 反对

使用道具 举报

gjxwin 发表于 2016-1-20 09:36:22 | 显示全部楼层
谎言之躯 发表于 2016-1-1 13:21
那岂不是跟LRU cache类似?

求问这道题啥意思啊,toggle是增加吗?那得有个最大容量吧?谢谢!
回复 支持 反对

使用道具 举报

Mango0917 发表于 2016-1-31 12:00:12 | 显示全部楼层
楼主为啥要用double linked list? linked list + hashmap不行么

补充内容 (2016-1-31 12:01):
哦哦,知道了
回复 支持 反对

使用道具 举报

hakusama1024 发表于 2016-2-1 04:24:05 | 显示全部楼层
有没有大神写了这个toggle的代码啊。求指点。
回复 支持 反对

使用道具 举报

importcoder 发表于 2016-9-7 19:23:27 | 显示全部楼层
不知道用LinkedHashSet写可不可以?
  1. public class GroupSend {
  2.        
  3.         private LinkedHashSet<String> selected;
  4.        
  5.         public GroupSend() {
  6.                 selected = new LinkedHashSet<>();.1point3acres缃
  7.         }
  8.        
  9.         public void toggle(String username) {
  10.                 if (selected.contains(username)) {. more info on 1point3acres.com
  11.                         selected.remove(username);. 1point3acres.com/bbs
  12.                 } else {
  13.                         selected.add(username);
  14.                 }
  15.         }
  16.        
  17.         public List<String> getSelectedList() {
  18.                 List<String> list = new ArrayList<>();
  19.                 java.util.Iterator<String> it = selected.iterator();
  20.                 while (it.hasNext()) {
  21.                         list.add(it.next());
  22.                 }. from: 1point3acres.com/bbs
  23.                 return list;
  24.         }
  25.        
  26.         public static void main(String[] args) {
  27.                 GroupSend solution = new GroupSend();
  28.                 solution.toggle("a");
  29.                 solution.toggle("b");
    -google 1point3acres
  30.                 solution.toggle("c");-google 1point3acres
  31.                 solution.toggle("d");
  32.                 solution.toggle("e");
  33.                 solution.toggle("f");
  34.                 System.out.println(solution.getSelectedList());. 鍥磋鎴戜滑@1point 3 acres
  35.                 solution.toggle("c");
  36.                 System.out.println(solution.getSelectedList());
  37.         }
  38. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-20 08:34

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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