一亩三分地论坛

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

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

[找工就业] 诡异的Amazon实习电面

[复制链接] |试试Instant~ |关注本帖
流星飞鱼 发表于 2016-1-22 00:11:35 | 显示全部楼层 |阅读模式

2016(7-9月)-[16]CS硕士+fresh grad 无实习/全职 - 内推| 码农类实习@Amazon其他

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

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

x
1.19面了Amazon, 面试官是一个话很少的印度人,感觉你不说话,他就永远不会说话的样子...对我的回答和code基本也只有“good”(并没有什么特别语气)这样的简短无意义点评。所以我个人角度来看,并不是一场很舒服的面试。

开始让我compare “LinkedList”和“HashMap”。我怀疑自己听错了,确定了一下,发现果然是这两个数据结构。但我不知道怎么compare,我就分别介绍了一下我对两个数据结构的了解,并同时compare了一下ArrayList和LinkedList, 以及HashMap和HashTable. 面试官只说“Good”.

Coding题是毫无新意的Leetcode原题2Sum,但和Leetcode的区别是,要求找到所有Pair。我开始写了一个使用HashMap,时间复杂度空间复杂度均为O(n)的算法。但我的程序,对于[2,5,2,5]和7这样的input只会返回[(2,5)],但是面试官说,没必要去重,应该返回[(2,5),(2,5),(5,2),(5,2)]之类的。然后我就改了一下,可以返回所有pair。但接着面试官不让我用hashMap,让我重新写一个。我就说那就写naive的就好啦,每两个数都算一个sum,然后去比较。考官问能不能做一下improvement,我说并没有太多improve空间。因为如果返回所有可能pair,对于[4,4,4,4]和8这样的input,答案pair的个数就是n^2数量级了,所以最坏时间复杂度不可能比O(n^2)更快了。面试官觉得我说的不对,我又解释了一下,他又觉得我说的有道理......但是面试官还是要让我再换一种方法,总之不能naive。我想了一会,他说给我点提示,可以用两个指针。我说那得先排序。然后我就写了一个先排序,然后不断移动两个指针的算法。但自己在写完TEST CASE的时候发现了自己code的一个错误,想改正。面试官说没时间了。我就说那我把该怎么改code的思路说说吧,面试官说好,然后我说了思路,他又是只说“Good”...我真心挺无语的。然后我问了关于他在Amazon的工作,他回答完后,面试就结束了。

我对自己的表现还是不太满意的,最后竟然让code出了一个错误。其实Amazon的面试题和别家比已经算是“白送”了,但我竟还是出错,很懊恼。然后面试官性格实在是有点严肃,完全听不出他的感情倾向,所以我也不知道最后结果会怎样。拿到offer或者被无情拒绝我都不吃惊...

刚拿到google拒信,很希望能进Amazon实习。祝我好运吧。也祝大家offer多多。
yucheyang2 发表于 2016-2-2 16:02:59 | 显示全部楼层
HashTable也不是完全线程安全的,在for循环iterate的时候,被线程插入就完了。所以Java最后放弃了这套API,于是就有了HashMap, ArrayList之类的,Java觉得这是程序员的责任去维护线程安全。外加线程同步是有开销的,你很多程序单线程的就不要这些同步。同期一起被放弃的还有Vector, Stack之类的。
回复 支持 1 反对 0

使用道具 举报

lpx1989 发表于 2016-1-22 04:26:12 | 显示全部楼层
楼主比我面试好多了,同19号。你看我那道题诡异死了
回复 支持 反对

使用道具 举报

战栗的百香果 发表于 2016-1-28 02:49:24 | 显示全部楼层
19+1哈~楼主有消息了嘛
回复 支持 反对

使用道具 举报

 楼主| 流星飞鱼 发表于 2016-2-1 22:10:31 来自手机 | 显示全部楼层
回复 支持 反对

使用道具 举报

农大晏如君 发表于 2016-2-1 22:24:34 | 显示全部楼层
HashMap和HashTable有什么区别?
回复 支持 反对

使用道具 举报

zh355245849 发表于 2016-2-1 22:34:59 | 显示全部楼层
农大晏如君 发表于 2016-2-1 22:24
HashMap和HashTable有什么区别?

hashmap非线程安全,hashtable线程安全
回复 支持 反对

使用道具 举报

 楼主| 流星飞鱼 发表于 2016-2-2 01:27:49 | 显示全部楼层
农大晏如君 发表于 2016-2-1 22:24
HashMap和HashTable有什么区别?

而且hashmap可以用null来做key和value。
回复 支持 反对

使用道具 举报

 楼主| 流星飞鱼 发表于 2016-2-2 01:28:43 | 显示全部楼层
战栗的百香果 发表于 2016-1-28 02:49
19+1哈~楼主有消息了嘛
.1point3acres缃
嗯。29号下午收到offer。也祝福你哈!
回复 支持 反对

使用道具 举报

 楼主| 流星飞鱼 发表于 2016-2-2 01:37:18 | 显示全部楼层
lpx1989 发表于 2016-1-22 04:26
楼主比我面试好多了,同19号。你看我那道题诡异死了

嗯是。那个题比较奇怪。
回复 支持 反对

使用道具 举报

战栗的百香果 发表于 2016-2-2 01:54:45 | 显示全部楼层
流星飞鱼 发表于 2016-2-2 01:28
嗯。29号下午收到offer。也祝福你哈!

谢谢哈~我还没消息呢- -
回复 支持 反对

使用道具 举报

mchzh 发表于 2016-2-2 02:00:23 | 显示全部楼层
coding没有一次bugfree影响会很大吗
回复 支持 反对

使用道具 举报

mchzh 发表于 2016-2-2 02:01:39 | 显示全部楼层
农大晏如君 发表于 2016-2-1 22:24
HashMap和HashTable有什么区别?

网上说至少有5个区别,hastable是线程安全的,不能有null值,hashmap非线程安全,允许存在null
回复 支持 反对

使用道具 举报

laiguojiuhao 发表于 2016-2-2 07:54:15 | 显示全部楼层
感觉面试官也想得不是特别清楚啊,two pointer面对[4,4,4,4]和8并不能返回所有pair,估计他就是想好了要用two pointer吧
回复 支持 反对

使用道具 举报

JoeWest 发表于 2016-3-11 00:58:31 | 显示全部楼层
hi楼主,two sum找所有的pair需要考虑重复的输入吗?
回复 支持 反对

使用道具 举报

 楼主| 流星飞鱼 发表于 2016-3-21 12:25:53 | 显示全部楼层
laiguojiuhao 发表于 2016-2-2 07:54
感觉面试官也想得不是特别清楚啊,two pointer面对[4,4,4,4]和8并不能返回所有pair,估计他就是想好了要用t ...
. more info on 1point3acres.com
我当时也没太懂,估计他就是自己没想清楚。
回复 支持 反对

使用道具 举报

 楼主| 流星飞鱼 发表于 2016-3-21 12:26:35 | 显示全部楼层
JoeWest 发表于 2016-3-11 00:58
hi楼主,two sum找所有的pair需要考虑重复的输入吗?

看考官要求咯。编之前问问他比较好。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-8 22:08

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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