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


一亩三分地论坛

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

Amazon onsite 面经

[复制链接] |试试Instant~ |关注本帖
bangchuanliu 发表于 2016-5-3 09:04:14 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 硕士 全职@Amazon - 猎头 - Onsite |Fail在职跳槽

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

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

x


第一轮:三姐,先上来一些behavior问题, 然后是设计一个netflix,跟她确认是OOD还是System design,说先从OO开始,于是就设计了几个class,User, Video, VideoManager 等等,里面有一些方法,然后扩展到DB,缓存优化性能等等。
第二轮, 三哥,先上来一些behavior问题,之后是一个code题目,给一个int数组判断是否有重复数字,心想这个太简单,跟他说了一下思路,准备写code,他说不着急,再加个条件,就是有个K大小的window,打印在每个window里面重复数字的个数,例如数组[1,2,3,2,1,4,5,6], window的大小是5,第一个window 是[1,2,3,2,1], 那么重复个数是2,第二个window是[2,3,2,1,4], 重复个数是1. 思路还是hashtable,右移的时候去掉一个数,再加上一个数,去掉一个数的时候,注意是否去掉了一个重复数字即可。写了code。

第三轮, hiring manager,lunch, 一堆behavior 问题。
.鐣欏璁哄潧-涓浜-涓夊垎鍦
第四轮, 白人 + 三哥 shadow, 先上来一些behavior问题,一个coding 题目,有一串DNA序列,就是字符串,比如QAXCDECATDDOG,有个message的单词数组,["CAT", "DOG"], 判断字符串中是否包含数组里面的单词,字符串是通过一个getGene()得到,每次调用这个方法得到一个字母。不停的调用这个方法得到序列。说了一下思路,先构建Trie树,然后开始不停的调用getGene(), 他说思路是对的,写了code,没用让写Trie的实现,有一个bug,经过提示改正。

第五轮, 三哥,这次没有behavior了,上来直接做题,先问了一个two sum, 心想太简单,就假装没见过,给个先排序,双指针的方法,结果小哥不清楚这个solution,解释了一下他才听懂,汗,然后问有没有更好的,正中下怀,抛出hashtable的solution,写了code。第二题,给一个单链表,例如 1,4,2,8,6,7,返回这样一个序列,奇数位是从大到小排列,偶数位从小到大,比如前面的例子要返回,8,1,7,2,6,4, 说了思路,链表从大到小排序, 然后reverse后半段,再用双指针来做,小哥觉得可行就让写了一个reverse 单链表的code。这个时候面试时间已经快到了,但是小哥好像没过瘾, 又出了一道system design的题目,还一个劲的问我后面有没有事情,心里虽然不爽,但是嘴里一直说没事,题目好像是他临时编的,给他现在做的东西有关系,说了十几分钟不知道他想问啥,后来经过讨论,说了下思路,说这个就是他想要的结果,汗。这个时候已经超出面试时间快半个小时了。. 鍥磋鎴戜滑@1point 3 acres

面试之前跟他们说还有其他的公司要onsite,他们说会很快出结果。. visit 1point3acres.com for more.
结果效率真的很高,周五面完,周一中午HR打电话说挂掉了,move on 吧~

建议:behavior问题要好好准备,他们必须要给例子,抽象的说还不行。
. from: 1point3acres.com/bbs

评分

2

查看全部评分

mzli1989 发表于 2016-5-3 09:21:21 | 显示全部楼层
这。。感觉楼主技术问题答得没黑点啊,为啥会挂,难道单独因为bahavior挂人?
不过三哥三姐太多也说不清楚。
祝楼主好运
回复 支持 反对

使用道具 举报

pika 发表于 2016-5-3 10:21:16 | 显示全部楼层
能不能列一下问到的behavior问题,多谢。
回复 支持 反对

使用道具 举报

 楼主| bangchuanliu 发表于 2016-5-3 12:20:53 | 显示全部楼层
pika 发表于 2016-5-3 10:21
能不能列一下问到的behavior问题,多谢。
. 1point3acres.com/bbs
地里有总结:

1)你曾经做过什么超出工作预期的事情
2) 你做Project的时候突然发生意想不到的困难,你是怎么解决的
3) 你有没有没赶上DeadLine的项目
4) 你有没有和老板意见不统一的时候,是怎么解决的
5) 你有没有和同事意见不一致,是怎么解决的
6) 你有没有Convince过别人做一件什么事
7) 你可以为我的Team带来什么.
8) 怎么证明你是TeamPlayer,你为你的同事做过什么吗
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷9) 你做了什么加强你和同事的联系,增加彼此的信任感 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
10)  你有没有主动去做过一个项目. . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
11)  当你遇到不知道选哪个方案时,你怎么办-google 1point3acres
12) 你在做项目的时候都是怎么获取知识的.
回复 支持 反对

使用道具 举报

menderr 发表于 2016-5-3 22:43:51 | 显示全部楼层
这都能挂。。。 没天理啊
回复 支持 反对

使用道具 举报

edcent 发表于 2016-5-4 00:39:26 | 显示全部楼层
amazon的 behavior 问题全是照着他们的 leadership principle 来的,面试前看看想想会有一定帮助
回复 支持 反对

使用道具 举报

gasolnowitzki 发表于 2016-5-4 01:27:42 | 显示全部楼层
这都能挂。。。 没天理啊
回复 支持 反对

使用道具 举报

chenlei825 发表于 2016-5-4 04:32:35 | 显示全部楼层
请问楼主面的是什么组啊?
回复 支持 反对

使用道具 举报

caiqi8877 发表于 2016-5-4 13:57:46 | 显示全部楼层
Amazon 的聊天部分我觉得非常关键
回复 支持 反对

使用道具 举报

 楼主| bangchuanliu 发表于 2016-5-4 14:43:31 | 显示全部楼层
chenlei825 发表于 2016-5-4 04:32
请问楼主面的是什么组啊?

Supply chain
回复 支持 反对

使用道具 举报

 楼主| bangchuanliu 发表于 2016-5-4 14:43:55 | 显示全部楼层
caiqi8877 发表于 2016-5-4 13:57
Amazon 的聊天部分我觉得非常关键

应该是得
回复 支持 反对

使用道具 举报

donnice 发表于 2016-5-4 15:21:18 | 显示全部楼层
Supply chain也要考coding?
回复 支持 反对

使用道具 举报

lingz 发表于 2016-5-4 15:46:10 | 显示全部楼层
楼主现在是研二找暑期实习不

补充内容 (2016-5-4 15:52):. 鍥磋鎴戜滑@1point 3 acres
额。。仔细瞅了瞅 是国外的不是国内的 不好意思~
回复 支持 反对

使用道具 举报

Hualiang 发表于 2016-5-4 17:17:14 | 显示全部楼层
马克一下,祝好运
回复 支持 反对

使用道具 举报

James1991 发表于 2016-5-4 17:46:56 | 显示全部楼层
同意behavior非常重要,切记好好准备。
回复 支持 反对

使用道具 举报

buweiningshi 发表于 2016-5-4 23:48:32 | 显示全部楼层
这都挂!~真是三哥三姐没得准
回复 支持 反对

使用道具 举报

zwang60 发表于 2016-5-8 04:53:53 | 显示全部楼层
lz你好,可否请教你一个问题,关于你面试第四轮的题目,getGene()方法访问过的字符能否够被再次访问了吗? 我的意思是,假如你构建了一个Trie树,字符流假设为.....DDOG....那我们在root中发现了D,需要往下走了,但是第二个D才是单词“DOG”的开始字符,那第二个D既需要重新从root中搜索,也需要从第一个D的子节点往下走,这个地方你是如何做的,是否说递归(或者迭代)开始之后就要开始保存getGene()的返回字符了吗? 谢谢
回复 支持 反对

使用道具 举报

 楼主| bangchuanliu 发表于 2016-5-9 03:34:56 | 显示全部楼层
zwang60 发表于 2016-5-8 04:53
lz你好,可否请教你一个问题,关于你面试第四轮的题目,getGene()方法访问过的字符能否够被再次访问了吗?  ...

这里我做的一开始也是有bug,后来面试官提示了一下,Trie里面有个startswith的方法,如果此方法返回true,那么需要保存这个字符串,再读入下个字符,组成一个新的字符换进行判断,如果这个新的字符串不在Trie里面或者已经找到,那么就取这个字符串的substring(1), 再读入下一个字符组成新的字符串继续比较。
比如你的例子,DDOG,
D在,然后取DD,DD不在,去掉第一个D,剩下D在,读入下一个O,DO,DO在,读入G,DOG,找到,去掉D,判断OG在不在,不在去掉O,剩下G,如果在,读入下个比如X,组成OGX,依次类推
回复 支持 反对

使用道具 举报

zwang60 发表于 2016-5-9 04:52:08 | 显示全部楼层
bangchuanliu 发表于 2016-5-9 03:34
这里我做的一开始也是有bug,后来面试官提示了一下,Trie里面有个startswith的方法,如果此方法返回true ...

谢谢你的耐心回答,很有道理,忘了startsWith方法了,leetcode的那个implement Trie题目里面确实也要求实现这个方法了。祝福lz
回复 支持 反对

使用道具 举报

liurudahai 发表于 2016-10-29 04:48:48 | 显示全部楼层
bangchuanliu 发表于 2016-5-9 03:34. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
这里我做的一开始也是有bug,后来面试官提示了一下,Trie里面有个startswith的方法,如果此方法返回true ...

我在google用你这方法,面试官说不可以。。。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-23 17:42

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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