10月28,K神开讲数据科学:AB Test/实验设计


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 758|回复: 3
收起左侧

Amazon intern 3.1 面经

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

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

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

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

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

面试官名字叫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, 好我们来下一道。


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到的意思对不对。于是快速地又写了几行代码把他指出的所有问题改掉了。这个时候看一眼时间也差不多快到了。

最后两三分钟他介绍了一下他的工作,又让我问了几个问题。我最后斗胆问了他觉得我今天表现怎么样(因为我自己觉得要跪...),他说“You did pretty well but still have something to improve.” 我说谢谢,我今天太紧张了。
.鏈枃鍘熷垱鑷1point3acres璁哄潧
感想:.鏈枃鍘熷垱鑷1point3acres璁哄潧
1. 一紧张就什么都想不起来,其实还是知识掌握得不够牢,转专业+换语言还是有点吃力(说到底还是自己不够努力呗T^T);
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吗?

嗯我是用map表示的
回复 支持 反对

使用道具 举报

hw9603 发表于 2017-2-11 11:28:33 | 显示全部楼层
想知道楼主最后拿到offer 了吗?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-10-18 07:57

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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