面试经验分享平台

将近几年的名企精品面试汇总、筛选、整理,再分享给大家
经验详情
Amazon UK 面经.

大约几个月前, 我投了 amazon. 几个月后的某一天. 他拒了我...之后的第几天约我面试.

就是这么一个神奇的开始. 职位是学生实习. 地点是英国某amazon研发中心. 方式是电话面试

面试本来计划是持续20分钟到40分钟. 我和他大概絮絮叨叨 讲了1个多小时. 由于时间长. 可能某些细节已经无法记得 或者有混淆的. 本人概不负责.

首先 他看了我的简历 是从java的部分开始. 让我讲了讲我的经验. 谈了谈 对于java的认识 大概说了java的code需要编译啊 之后再运行. 我虽然不大了解大概说了说 如何编译...然后他问我 java编译了以后 是如何运行的. 我就说在虚拟机上运行啊. 然后扯了点今天刚刚看的java和c++的比较. 说了说特点. 之后他让我解释 编译过的java code是如何在虚拟机上运行的...我说我不知道..他让我想象下...我说...我真的不知道了...然后他就换话题问我java 这样做有什么好处 什么的... 当我说到我对C没有太多经验的时候...他跟我说他也没什么经验也不大了解...我会心一笑.

下面是dynamic programming language 部分. 是用 动态语言 如PHP和JS 和static 语言的区别...我大概说说..讲讲例子啊..然后又扯了点JS和PHP的区别 一个是服务器端 一个是客户端. 然后他问我浏览器在读取了js code之后是如何运行的...这点我又懵了 我就乱说了是浏览器安装的时候会自带library啊就能运行了...这个也不知道说的对不对

之后是算法的部分, 他说有一列整数. 你如何找到 target. 是一个searching problem. 我就说...用一个for loop 一个个找呗..然后他问我. 这个loop 复杂程度是多少. 我说是O(n). 然后问我有没有更快的方法...算法部分我准备不是很充分...这个是个盲点..我就乱说了..从中间..结果运气好..蒙对了. 然后在他的启发下我回答出了 Binary Search的完整过程.

之后他让我思考关于内存的控制, 在java中我知道的不多, 我就跟他谈了谈array 和 arraylist  的区别. 之后他问我arraylist 和 linkedlist有什么区别...我说..我现在不知道...但是我看了api我就知道了..之后他问我 如果要插入一个新的元素, 一个sorted array会怎样, 我说会reorder. 他说这个方法用array 不是很好.有没有其他更好的数据结构. 我说有. 用Binary tree就可以解决这个问题..然后我就谈了下什么是binary tree. 工作原理. 如何找到这一点. 下面的问题他问我 如果binary tree很糟糕 会怎样. 我说 在top的那个node 会是最大的或者最小的那个数字. 然后他问我那通过多久可以找到这个数字. 数学不好的我在他的启发下回答了是 n. 然后他问我是否可以更好的表达. 我说有一种balanced tree. 还好他没有继续再往下问....除了名字以外...balanced tree我基本就一无所知了..

然后来到了OOD的设计题目. 是设计CD. 我一开始说对了....说CD是一个class. 结果一时脑残 又说cd可以是一个interface.... 他发现了我脑残的表现...纠正了我...哎....CD是一个class, 会有艺术家, title, 简述 track等 attributes. 然后他问我除了这些还有什么. 我说还会一些简单的get method 比如 getTitle等. 然后他问我track在cd中是什么样子的. 然后我就说track可以是一个array 或者是arraylist来储存. 他又启发我. 我就明白了..track也是单独的一个class. 下一个问题是 track 有一个属性是time 请问会是什么类型的. 我傻逼的回答说...没有time这个type. 然后想了几分钟. 说 存成integer 然后 单位是秒. 之后他问我为什么这么做..我解释了下原因啊...之后是艺术家的问题. 他说艺术家有的时候是男人 女人或者是乐队. 这种情况怎么办. 如果是乐队的话有很多人. 我就说 存成一个array, element是person. 之后他问我 如果只有一个男人的情况下 男歌手这种情况 怎么办. 我傻逼了几分钟以后 说对了...就存一个人. 我本来说的方法是check艺术家的type先...哎..太2了...直接说存一个人..就搞定了...然后我就自动的说了还有一个class 叫做person....

 

最后我的project和amazon的EC2有关. 他就问我在你的project 是什么情况..我就大概说了说...我是做一个dashboard啊用了什么技术啊. 然后他问我有什么问题 或者困难...我就很苦逼的说了...那个JS的跨域的问题啊..然后他说..恩是的的确是...浏览器出于安全的考虑不让这么做...我一听我草..好基友啊....终于找到理解我的人了..然后又苦水倒了一通...他问我怎么解决的.我就说了各种方法 很多方法试验了都不成最后还是 用了一个proxy program. 然后他就问了问我proxy program的功能 大概什么作用啊...之类的

最后一系列问题是通过那个proxy program 引出的安全问题..他说.这个proxy program 不安全 如何使它更安全呢. 我说 可以设定一个array of user name 存起来.每次使用的时候check 这个 user在不在user name 里面. 之后的问题是. 这样还是不安全有没有什么更加安全的方法呢. 我说.可以sha1 加密. 我一激动 说成了 sha1 (yi 中文) 后来赶快改口..sha汪... 他让我解释了下sha1 的工作原理大概是什么样子. 之后呢 他也肯定了我的想法 但是不是他想要的结果. 让我想到一个更好的方法. 来确保更加安全 想了几分钟 我准备放弃的时候. 他稍微继续尝试启发我. 说是不是可以送一个东西. 之后我果断的回答出了使用 private key 和security key的方法... 然后说了说原理 怎么使用....thanks god 这个是最后的问题了.

然后他问我有什么问题.我就问了问 他们在研究什么 然后就聊了聊....大概聊了10分钟..我也对 amazon在中国表示惋惜...

 

过程大概是这样了...一切学习的点滴积累加上零时的准备....让我完成了这次面试. 也是我觉得我3次面试来的最好的一次...不知道结果 过几天也许就有分晓. 大不列颠这块土地 是留我呢 还是让我安静的离开.

 由于hold了我的小手机长达1个小时...生理上我手已经在抖了...下次电话面试请准备耳机等设备....

此贴为攒RP帖.