一亩三分地论坛

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

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

Amazon summer 2015 internship 面积

[复制链接] |试试Instant~ |关注本帖
litieZhu 发表于 2015-3-10 10:38:47 | 显示全部楼层 |阅读模式

2015(1-3月) 码农类 本科 实习@Amazon - 校园招聘会 - 技术电面 校园招聘会 |Pass

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

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

x
前几天刚收到Offer 终于熬出头了
为了回报论坛来分享一下我的Amazon 实习面经

去年14年10月份投的on-campus 那时候recruiter的统一回复是 15年1月低会给我们学校统一OA.. from: 1point3acres.com/bbs
到了今年的1月低 果然群发了 OA invitation.
于是大家都聚到了一起 开始 OA, recruiter presentation后准备开始OA, 结果大家的login credential都过期了 (recruiter 临时改OA地址,wifi连不上搞了很久 迟了半个小时)
搞了很久, recruiter也放弃了 让大家回家等 take home assessment。.鐣欏璁哄潧-涓浜-涓夊垎鍦
等了一个星期后 直接联系我 final round phone interview。。。 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
是两轮 45mins back to back的。
第一轮
面试官是一个女生, 让我介绍了一下我自己 最习惯什么编程语言,
然后让我implement atoi, 一开始没有做任何corner case checking
后来被提示之后分别做了 负数的checking 和 input里出现字母的checking。
这题结束后 问了我关于hashtable的问题,让我解释hashtable的definition 和 runtime,. visit 1point3acres.com for more.
然后还让我 用 pseudocode 写了 hashtable的 put 和 get,
并且让我写 collision的处理。
这里稍微有些勉强, 因为 并没有强力复习collision。.鏈枃鍘熷垱鑷1point3acres璁哄潧

第二轮-google 1point3acres
面试官是一个男生, 让我介绍了一下自己,让我描述了一下在team里遇到过的obstacle并且是如何处理的。
问了我如何用两个stack 来实现 queue。
问了我各类tree traversal的方式和他们的顺序。
大题就问了一题 就是leetcode上的two sum。
面试官加的额外要求是return全部符合的pair(ascending order) 并且 array里会有duplicated element, 只要index不一样 都算unique。
整个面试就做了这么一大题。。 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

面完后一周后收到acceptance 把我分配到了marketplace team

评分

2

查看全部评分

ammmmy11 发表于 2015-3-11 14:49:14 | 显示全部楼层
楼主two sum那题要求是return全部符合的pair(ascending order) 并且 array里会有duplicated element,是不是用hashset保存pair然后排序的话是用comparator吗
回复 支持 反对

使用道具 举报

 楼主| litieZhu 发表于 2015-3-12 00:25:13 | 显示全部楼层
ammmmy11 发表于 2015-3-11 14:49
楼主two sum那题要求是return全部符合的pair(ascending order) 并且 array里会有duplicated element,是不 ...

function return 的 type 是 vector<vector<int, int> >, 因为就算是duplicated pair 只要index不一样也要算到结果里去 所以用了 vector. 然后 index的监测是在找到potential pair后看index是否已存在。 two sum的 O(n) 做法是依次把element添加到hashtable<int, hashset<int> > 里面, 每次添加一个新的element e, 马上检测e是否能和hashtable里的某个element e' 组成pair 并且 e 和 e’ 的 index 不吻合,因为是每次添加e的时候检测的 所以 e的index总是新的。顺序的条件我可能帖子里可能没说明白。其实是要求每个pair里的elements要小到大。 所以当时就是直接自己写了一个简陋的sort int function 然后用上了。
回复 支持 反对

使用道具 举报

松岩 发表于 2015-3-12 01:08:34 | 显示全部楼层
litieZhu 发表于 2015-3-12 00:25
function return 的 type 是 vector, 因为就算是duplicated pair 只要index不一样也要算到结果里去 所以 ...

na 2Sum yong hashmap de le
回复 支持 反对

使用道具 举报

松岩 发表于 2015-3-12 01:09:10 | 显示全部楼层
litieZhu 发表于 2015-3-12 00:25
function return 的 type 是 vector, 因为就算是duplicated pair 只要index不一样也要算到结果里去 所以 ...

array.sort() ye ke yi ba
回复 支持 反对

使用道具 举报

 楼主| litieZhu 发表于 2015-3-12 01:28:46 | 显示全部楼层
松岩 发表于 2015-3-12 01:09
array.sort() ye ke yi ba

恩 可以用自带, 我当时用的是c++ 可以用自带的sort
我是索性自己写了
回复 支持 反对

使用道具 举报

松岩 发表于 2015-3-12 01:31:50 | 显示全部楼层
litieZhu 发表于 2015-3-12 01:28
恩 可以用自带, 我当时用的是c++ 可以用自带的sort
我是索性自己写了

C++ Niubility. Always gave me problems in interview, then switched to java /python
回复 支持 反对

使用道具 举报

ammmmy11 发表于 2015-3-12 04:48:21 | 显示全部楼层
哦哦,可不可以这样理解, {2,7,10,13},target是9, 那么只返回{1,2},{1,1,1},target是2 ,返回{1,2}{1,3}{2,3}
回复 支持 反对

使用道具 举报

 楼主| litieZhu 发表于 2015-3-12 04:58:33 | 显示全部楼层
ammmmy11 发表于 2015-3-12 04:48
哦哦,可不可以这样理解, {2,7,10,13},target是9, 那么只返回{1,2},{1,1,1},target是2 ,返 ...

对的 当时就是让我这么做的!
回复 支持 反对

使用道具 举报

 楼主| litieZhu 发表于 2015-3-12 04:59:28 | 显示全部楼层
松岩 发表于 2015-3-12 01:31
C++ Niubility. Always gave me problems in interview, then switched to java /python

哈哈 我刚好跟你相反 一开始一直python 后来又改成c++了
回复 支持 反对

使用道具 举报

 楼主| litieZhu 发表于 2015-3-12 05:03:26 | 显示全部楼层
ammmmy11 发表于 2015-3-12 04:48
哦哦,可不可以这样理解, {2,7,10,13},target是9, 那么只返回{1,2},{1,1,1},target是2 ,返 ...

“每次添加一个新的element e, 马上检测e是否能和hashtable里的某个element e' 组成pair 并且 e 和 e’ 的 index 不吻合,因为是每次添加e的时候检测的 所以 e的index总是新的。”

面试过的有点久 我自己都记混了 以下是纠正
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
一开始我的方法是 O(2n) 是先建立好map 再过一遍array 所以需要sort each pair
后来改成 一边建map一遍找pair, 就不再用sort了 , 因为 e的index总是更大的那个
回复 支持 反对

使用道具 举报

 楼主| litieZhu 发表于 2015-3-12 05:03:44 | 显示全部楼层
松岩 发表于 2015-3-12 01:09
array.sort() ye ke yi ba

“每次添加一个新的element e, 马上检测e是否能和hashtable里的某个element e' 组成pair 并且 e 和 e’ 的 index 不吻合,因为是每次添加e的时候检测的 所以 e的index总是新的。”

面试过的有点久 我自己都记混了 以下是纠正

一开始我的方法是 O(2n) 是先建立好map 再过一遍array 所以需要sort each pair
后来改成 一边建map一遍找pair, 就不再用sort了 , 因为 e的index总是更大的那个
回复 支持 反对

使用道具 举报

松岩 发表于 2015-3-14 01:59:45 | 显示全部楼层
litieZhu 发表于 2015-3-12 05:03
“每次添加一个新的element e, 马上检测e是否能和hashtable里的某个element e' 组成pair 并且 e 和 e’  ...

lz meng da da, O(2n) jiu shi O(n) la
. 1point 3acres 璁哄潧
zan lz zhao wan gong zuo hai lai di li kan kan
回复 支持 反对

使用道具 举报

 楼主| litieZhu 发表于 2015-3-14 03:25:25 | 显示全部楼层
松岩 发表于 2015-3-14 01:59
lz meng da da, O(2n) jiu shi O(n) la
.1point3acres缃
zan lz zhao wan gong zuo hai lai di li kan kan
.1point3acres缃
恩 O(2n) 简化后就是 O(n), 不过当时面试官就问我能不能从 2n 缩减到 n
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-9 10:29

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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