一亩三分地论坛

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

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

报个Amazon的面经,OA+Onsite

[复制链接] |试试Instant~ |关注本帖
heavensyu 发表于 2015-4-23 05:23:01 | 显示全部楼层 |阅读模式

2015(1-3月) 码农类 硕士 全职@Amazon - Other - Onsite 在线笔试 |Pass在职跳槽

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

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

x
Amazon的这次面试跟在网上看到的其它的很不一样,蛮奇怪的,但总的来说感觉bar比F家G家比起来低不少,发个面经攒攒人品吧。这次是Amazon自己的HR不知道在哪找到了我的邮箱,然后联系我说他们会派Seattle的团队来SF办个招聘会,不知道我有没有兴趣,我现在正在湾区的小公司做iOS,正好也有兴趣去大公司看看,就答应了。
先是拿到OA,两道编程题给一小时。
第一题:
给两个列表,每个列表装着一样的元素,合并两个列表,并要求短的列表的元素把长列表元素尽可能均衡分开。比如列表为AAAAA和BBBBBB,返回BABABABABAB;又比如AAAAAA和BBBB,返回AABABABABA。. Waral 鍗氬鏈夋洿澶氭枃绔,
第二题:
给一列城市的名字,并且告诉你你的家是哪个城市,并且每个城市的受欢迎指数是城市名字里的辅音字母数除以元音字母数,比如Shanghai的指数就是5/3=1.66666,要返回和家乡城市的指数最近的其它城市,没有的话返回NOT_FOUND。
题目都很简单,不需要复杂算法,就是在写之前想好edge cases,有很多刁钻的测试用例需要注意,好好想清楚应该所有测试都能过。
接下来Onsite,面试官都是从Seattle总部飞到SF的办公室的,总共四轮。
第一轮:
Behavioral questions, 设计一个机场调度系统。这个OOD还有点讨厌,就是和面试官多交流有哪些实体需要抽象吧,要想清楚业务流程里的参与者和用例,还有之后的耦合内聚怎么优化等等。
第二轮:
Behavioral questions again, 给一个数组和一个范围,要返回范围里的最小值,然后扩展到如何缓存这个查询。一开始搞我以为是算法题,DP?排序?扯了半天,后来发现原来是OOD,囧。。。关键是如何解耦缓存查询和实时查询这俩类,然后扯了扯工厂模式,依赖注入等等。。
第三轮:
Behavioral questions again,写LRU Cache,在扩展到集群,用Hash映射解决数据分布。
第四轮:. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
Behavioral questions again。口干舌燥,头昏眼花,一开始没听懂题,后来面试结束才知道是Celebrity problem,当时用图论做的,到后来没来得及做出用栈解决的最优解,不过试了很多种方法面试官还算满意。

感觉这是我做过的状态最糟糕的onsite了,当天发烧了,第二天整整休息了一天才好。。。感觉A家的ECP团队不太看重算法怎样,他们更喜欢OOD和behavioral问题,CC150上的基础看看,在答behavioral的问题是尽可能向customer oriented靠拢,A家不投资什么太牛逼的技术和酷炫的UI之类的,一切为了客户是他们的文化,答题的时候注意这点就好。

还有几个链接对于准备这些问题很有帮助. visit 1point3acres.com for more.
一个电话本的例子, A Simple Example of Object-Oriented Design: An Address Book
用C#写的堪称教科书一般的Blackjack游戏, Blackjack - a real world OOD example
如何准备Amazon的behavioral问题, Amazon 面试工作的几点体会

祝各位还没毕业的刚毕业的想跳槽的都能拿到满意的offer。

评分

3

查看全部评分

xiaoxin213 发表于 2015-4-23 11:48:08 | 显示全部楼层
请问楼主机场调度的OOD该怎么做,完全没有概念啊。。
回复 支持 反对

使用道具 举报

 楼主| heavensyu 发表于 2015-4-23 11:59:47 | 显示全部楼层
xiaoxin213 发表于 2015-4-23 11:48
请问楼主机场调度的OOD该怎么做,完全没有概念啊。。

我也完全没概念。。。面试官就跟我说请设计一个机场调度系统然后就没有然后了。我就慢慢跟他磨,问他哪些实体需要抽象,比如飞机、跑道、机场、空管指令啥的,里面各有什么数据成员,接下来会有哪些业务场景,比如起飞降落等,接下来再是各成员的活动,请求降落和起飞如何处理。设计类的时候需要考虑到interface,abstract class等。。我是用UML类图和类似时序图一样的东西给他解释的。
回复 支持 反对

使用道具 举报

xiaoxin213 发表于 2015-4-23 13:38:49 | 显示全部楼层
heavensyu 发表于 2015-4-23 11:59
我也完全没概念。。。面试官就跟我说请设计一个机场调度系统然后就没有然后了。我就慢慢跟他磨,问他哪些 ...

好多behavioral question和OOD啊,这面的是什么职位啊?. visit 1point3acres.com for more.
楼主知不知道,除了CC150,哪还可以看OOD的题?
回复 支持 反对

使用道具 举报

 楼主| heavensyu 发表于 2015-4-23 13:59:28 | 显示全部楼层
xiaoxin213 发表于 2015-4-23 13:38
好多behavioral question和OOD啊,这面的是什么职位啊?
楼主知不知道,除了CC150,哪还可以看OOD的题?

就是SDE,我就是在CareerCup上搜了搜一些经典的OOD题,然后网上找了一些例子看。自学过设计模式之类的,用java写过23个设计模式的HelloWorld,感觉也蛮有帮助的。OO就是那三个要素,封装继承多态深刻理解了感觉就好,想再往深了去的话把Java EE看下吧。我水平也不咋地,能想到的基本就这些了。。。
回复 支持 反对

使用道具 举报

 楼主| heavensyu 发表于 2015-4-23 14:13:17 | 显示全部楼层
xiaoxin213 发表于 2015-4-23 13:38
好多behavioral question和OOD啊,这面的是什么职位啊?
楼主知不知道,除了CC150,哪还可以看OOD的题?

我觉得用Objective-c写iOS对这帮助也蛮大的,里面有不少类设计和设计模式。
回复 支持 反对

使用道具 举报

xiaoxin213 发表于 2015-4-24 00:17:40 | 显示全部楼层
heavensyu 发表于 2015-4-23 13:59-google 1point3acres
就是SDE,我就是在CareerCup上搜了搜一些经典的OOD题,然后网上找了一些例子看。自学过设计模式之类的, ...

OK,多谢楼主~祝offer~
回复 支持 反对

使用道具 举报

applepie11 发表于 2015-4-24 00:22:15 | 显示全部楼层
amazon确实是喜欢ood,感觉就是一个想象力的问题
回复 支持 反对

使用道具 举报

 楼主| heavensyu 发表于 2015-4-24 12:13:23 | 显示全部楼层
applepie11 发表于 2015-4-24 00:22
amazon确实是喜欢ood,感觉就是一个想象力的问题

嗯,什么都要自己设计,给的发挥空间还蛮大的。
回复 支持 反对

使用道具 举报

yuwang1986s 发表于 2015-4-25 15:38:10 | 显示全部楼层
是那个组? payment哪个组么?
回复 支持 反对

使用道具 举报

 楼主| heavensyu 发表于 2015-4-26 12:22:59 | 显示全部楼层
yuwang1986s 发表于 2015-4-25 15:38.鏈枃鍘熷垱鑷1point3acres璁哄潧
是那个组? payment哪个组么?

是ECP的category&search组好像,不是payment。
回复 支持 反对

使用道具 举报

limingli1991 发表于 2015-7-9 11:45:12 | 显示全部楼层
请问楼主第三轮的LRU cache的扩展是什么意思啊?  多谢~~
回复 支持 反对

使用道具 举报

baoerilong 发表于 2015-7-14 04:58:19 | 显示全部楼层
yuwang1986s 发表于 2015-4-25 15:38
是那个组? payment哪个组么?

你去面过payment 组么?
回复 支持 反对

使用道具 举报

juliusjun 发表于 2015-7-20 06:47:28 | 显示全部楼层
Celebrity problem? 这么高的bar?吐血已
回复 支持 反对

使用道具 举报

会编程的猪先生 发表于 2015-7-27 01:45:34 | 显示全部楼层
“写LRU Cache,在扩展到集群,用Hash映射解决数据分布”。楼主能再说详细一点吗?谢谢!
回复 支持 反对

使用道具 举报

 楼主| heavensyu 发表于 2015-8-14 14:43:11 | 显示全部楼层
会编程的猪先生 发表于 2015-7-27 01:45
“写LRU Cache,在扩展到集群,用Hash映射解决数据分布”。楼主能再说详细一点吗?谢谢!

他让我设计一个缓存系统,我就想用单节点的LRU Cache来扩展。先写了一个普通的LRU Cache的所有代码,然后设计怎么扩展,扩展的话就有一个master node来记录各个数据在哪个节点,用一致性hash来解决数据分布。相当于Hash(key)%N吧,N就是节点个数。
回复 支持 反对

使用道具 举报

 楼主| heavensyu 发表于 2015-8-14 14:43:32 | 显示全部楼层
limingli1991 发表于 2015-7-9 11:45.1point3acres缃
请问楼主第三轮的LRU cache的扩展是什么意思啊?  多谢~~

见楼上。
回复 支持 反对

使用道具 举报

 楼主| heavensyu 发表于 2015-8-14 14:48:08 | 显示全部楼层
juliusjun 发表于 2015-7-20 06:47
Celebrity problem? 这么高的bar?吐血已

倒是不难,主要是这题的最优解很唯一,见过就见过,没见过就没见过,面试官人好的话倒也不会特意为难,会给提示的。
回复 支持 反对

使用道具 举报

会编程的猪先生 发表于 2015-8-16 16:23:13 | 显示全部楼层
heavensyu 发表于 2015-8-14 14:43
他让我设计一个缓存系统,我就想用单节点的LRU Cache来扩展。先写了一个普通的LRU Cache的所有代码,然后 ...

恩 那么说来和CC150系统设计某题差不多~
回复 支持 反对

使用道具 举报

水逼一枚 发表于 2015-9-14 15:19:44 | 显示全部楼层
会编程的猪先生 发表于 2015-8-16 16:23
恩 那么说来和CC150系统设计某题差不多~

想问一下楼主,OA的第一题. visit 1point3acres.com for more.
比如列表为AAAAA和BBBBBB,返回BABABABABAB
这个答案是唯一的吗?返回BBABABABABA,这样子可以过测试吗?
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-8 04:48

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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