一亩三分地论坛

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

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

Amazon intern 3.1 面经

[复制链接] |试试Instant~ |关注本帖
zmf 发表于 2016-3-2 05:36:00 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 实习@Amazon - 内推 - 技术电面 |Other其他

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

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

x
刚面完,第一次电面很紧张,过程中脑子经常短路所以表现的不太好。现在心里特别没底,赶紧来地里发面经攒攒人品。

面试官名字叫Joe,听口音应该是个白人小哥。
上来先自我介绍,然后聊简历介绍一下做过的project(课程或者internship),问用什么programming language,然后接下来就说做两道coding题。
1. Given a telephone book and a phone number, write a function to get the name related to this number?
回答用一个hashmap存number和name的对应关系,然后在map里找这个号码对应的名字就可以了。小哥说可以,就让我把代码写出来。写的时候想着要考虑周全,就加了一个if语句判断如果book里面没有这个号码就返回null,写完之后小哥提醒说如果number不在book里,get函数返回的就是null,所以直接返回get的结果就可以了,不用多此一举用if判断,于是删之。. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
1.1 再问如果是给name让找对应的number呢?
回答说跟前面类似,hashmap也可以解决。
1.2 又问如果一个名字有好几个对应的电话呢?
回答说把前面HashMap<String, String>变成HashMap<String, List<String>>,然后我问他怎么确定我们要的是哪一个电话,他说就把名字对应的电话都返回,所以我说用get把这个List of String返回就可以了。小哥提醒我再检查一下,于是发现照着上面写的时候忘了改函数返回值类型。。。
1.3 问Complexity。
回答hashmap的get是O(1)复杂度。小哥说Good, 好我们来下一道。

. 鍥磋鎴戜滑@1point 3 acres
2. Count the number of distinct elements from a an array. For example, [a, b, b, c] => 3.
理解了意思之后说是要remove duplicates对吧(这个时候开始在LC搜duplicate),小哥说对还要count。
这个题其实很简单,但是我一分心搜LC而且还没搜到就慌了,脑子再次短路什么都想不起来。但是不能冷场啊,就说我想到还是用hashmap,然后遍历每个元素,如果hashmap里没有就加进去并且让count加1,如果有的话就move on到下一个。然后开始写code,问他Array里元素的类型是char, int还是什么,他说你按String写吧。写到一半卡住了,因为发现其实并不需要hashmap的第二个参数。小哥发现我认识到问题之后说所以其实可以用另一个更好的data structure,脑子依旧短路,然后小哥说没关系hashmap也可以,把第二个参数设成int写0或者String写null就行了。于是继续写下去,最后返回计数用的int count。小哥说这个代码是可以work的,有什么可以improve的吗?hashmap的size是多少?我回答说是和count一样的,他说所以不需要用count计数,直接返回size就可以了。接着问还有什么可以优化的?我前面搜LC的时候看到了Remove duplicates from sorted array,受这个影响,我试探性地问如果我们先做一个sort是不是会更好?小哥问我现在这个时间复杂度是多少?我说是O(n),他说那你做sort之后呢,我说是O(n log n),所以现在这个更好。小哥说是的,所以还有哪里可以优化?我说“I‘m still thinking about the better data structure but have no idea.” 小哥只好揭晓答案说还有一种也有hash性质但只需要一个参数的结构,HashSet。我恍然大悟,为了补救我赶紧说那我再把这个优化的代码写下了你看一下我get到的意思对不对。于是快速地又写了几行代码把他指出的所有问题改掉了。这个时候看一眼时间也差不多快到了。. Waral 鍗氬鏈夋洿澶氭枃绔,

最后两三分钟他介绍了一下他的工作,又让我问了几个问题。我最后斗胆问了他觉得我今天表现怎么样(因为我自己觉得要跪...),他说“You did pretty well but still have something to improve.” 我说谢谢,我今天太紧张了。

感想:
1. 一紧张就什么都想不起来,其实还是知识掌握得不够牢,转专业+换语言还是有点吃力(说到底还是自己不够努力呗T^T);. 鍥磋鎴戜滑@1point 3 acres
2. 刷题很重要,但能灵活运用更重要,别指望会被问到原题,我就是看面经题库什么的,结果辛苦整理的将近一百道题完全没用上;
3. 小哥还是很nice的,假如今天面试官是个印度人,我估计妥妥地跪了。

真心希望某天醒来发现邮箱里躺着一个offer,也祝大家好运!

评分

2

查看全部评分

Kelsey_Xu 发表于 2016-3-2 06:16:36 | 显示全部楼层
祝lz早日拿到大offer!请问一下lz,电话本这题,电话和name 这个电话本身应该用什么表示?一个map吗?
回复 支持 反对

使用道具 举报

 楼主| zmf 发表于 2016-3-2 06:20:33 | 显示全部楼层
Kelsey_Xu 发表于 2016-3-2 06:16
祝lz早日拿到大offer!请问一下lz,电话本这题,电话和name 这个电话本身应该用什么表示?一个map吗?
.1point3acres缃
嗯我是用map表示的
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 02:24

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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