A家onsite详细面经,求分析# JobHunting - 待字闺中
h*n
1 楼
最近A家感觉很缺人,组织了很多不需要电面的group onsite event
小弟也有幸参加了一次这种onsite,接到recruiter的邀请,准备了一个月参加了
Amazon的面试。不过可能还是由于准备不充分并且是第一次面试,最后挂了,说说过程
,求大牛分析为什么挂了
第一个是一个白人年轻GG,上来寒暄了一阵子,大概介绍了一下自己的research,貌似
他不怎么感兴趣,接着开始问behavior问题,印象比较深的是问了一个如果项目中有很
多bug,但是deadline快到期了,你会怎么办,我说首先我会尽量想办法fix掉bug,如
果还是预期还是没法fix完可以找manager多allocate一些resources,比如多一些人手
来一起fix bugs。我说任何bug都有可能导致程序崩溃,那个GG貌似很不满意,继续问
,如果这些bug很不重要呢,举了个例子,我没听清,大体就是和产品功能无关之类的
,我说我会找manager商量商量要不要忽略这些bug继续deliver产品。感觉他还是很不
满意。。。
然后开始问coding题,coding题其实满简单的,就是一个字符串的stream,只允许一次
pass,找出第一个unique的字符。 我很快的采用了hashmap 来编程,key为character
,value为一个object,object里面记录了第一次出现的位置和出现的次数,最后遍历
hashmap找出来只出现一次且position最小的那个字符。这个GG眼尖很快发现了一个bug
,我快速修正。不过我感觉还是给他留下了不好的印象。
第二个是中年白人GG,这个聊得比较开心,也是问了几个behavior问题,印象比较深刻
的问题是过去曾经遇到过的失败的经验,然后你是怎么解决的,我说了一个硕士期间做
的一个project,前半段时间没怎么和customer交流,导致中期检查的时候发现和
customer的预期有比较大偏差,导致自己有点frustrated,后半段realize这个问题,
经常和customer沟通,然后最终圆满完成了产品的要求。 我感觉这么个回答也还是不
好。。。还有你的老板如果在出差,你联系不到,你该怎么办,我说我会先定个计划,
然后先开始试着做做,等老板回来了再给他回报。不知道这样子回答行不行。。。
问了两个brain tease问题,挺简单的,都是150道里面的那些brain tease,看过这本
书的自然就知道,我快速进行分析,给他答案,被他说我解的太快了,我也不知道这是
好事还是坏事,有面试经验的帮我分析分析,之后就随便瞎聊聊say byebye
第三个也是一个中年白人GG,同样问了behavior问题,问过去曾经遇到过的项目中重大
改变是什么,我怎么解决的,我同样举了上面那个例子。。。总感觉有点不搭,但是当
时临时想也只能想到这个例子可以说说,这也是个败笔吧。。。然后问了一堆OOP的问
题,inheritance VS composition, strategy pattern之类的,问了一个技术问题就
是google的searching box的提示是怎么实现的,我说用trie
follow up如果字典里有词"crack coding interview",要求输入"coding interview",
提示"crack coding interview",你怎么实现,我大概扯了扯,没见过这个题,我说可
能可以用suffix tree,但是可能内存开销会比较大,或者直接trie里面的每个节点保
存所有包含他以后子窜的strings,内存开销也可能很大,他貌似不怎么满意,我也不
懂这个问题怎么解决。。无语,这个GG没问啥coding问题
第四个貌似是个墨西哥GG,进来没啥笑脸,比较严肃,也问了一下behavior问题,真心
坑爹,这方面准备不足,印象比较深的有对amazon有什么改进意见,我随便说了点个人
喜好。问了abtract class vs interface,static的作用,然后问了两个coding问题,
第一个是string里面找出所有不唯一的字符,第二个是string里面找出频率最高的字符
,之后问time complexity和test cases 题目是真心不难,但是做到bug-free估计还是
得非常细心才
行。我可能就栽在这里了。
结论就是:behavior问题还是要大量准备的,第二点就是bug-free很重要,我以前都用
c#,临时改成用java参加面试的,回来之后我才想起code里面有些用法是c#里面有java
里面没有的
另外请大牛评价评价我的回答吧,总结总结经验教训
小弟也有幸参加了一次这种onsite,接到recruiter的邀请,准备了一个月参加了
Amazon的面试。不过可能还是由于准备不充分并且是第一次面试,最后挂了,说说过程
,求大牛分析为什么挂了
第一个是一个白人年轻GG,上来寒暄了一阵子,大概介绍了一下自己的research,貌似
他不怎么感兴趣,接着开始问behavior问题,印象比较深的是问了一个如果项目中有很
多bug,但是deadline快到期了,你会怎么办,我说首先我会尽量想办法fix掉bug,如
果还是预期还是没法fix完可以找manager多allocate一些resources,比如多一些人手
来一起fix bugs。我说任何bug都有可能导致程序崩溃,那个GG貌似很不满意,继续问
,如果这些bug很不重要呢,举了个例子,我没听清,大体就是和产品功能无关之类的
,我说我会找manager商量商量要不要忽略这些bug继续deliver产品。感觉他还是很不
满意。。。
然后开始问coding题,coding题其实满简单的,就是一个字符串的stream,只允许一次
pass,找出第一个unique的字符。 我很快的采用了hashmap 来编程,key为character
,value为一个object,object里面记录了第一次出现的位置和出现的次数,最后遍历
hashmap找出来只出现一次且position最小的那个字符。这个GG眼尖很快发现了一个bug
,我快速修正。不过我感觉还是给他留下了不好的印象。
第二个是中年白人GG,这个聊得比较开心,也是问了几个behavior问题,印象比较深刻
的问题是过去曾经遇到过的失败的经验,然后你是怎么解决的,我说了一个硕士期间做
的一个project,前半段时间没怎么和customer交流,导致中期检查的时候发现和
customer的预期有比较大偏差,导致自己有点frustrated,后半段realize这个问题,
经常和customer沟通,然后最终圆满完成了产品的要求。 我感觉这么个回答也还是不
好。。。还有你的老板如果在出差,你联系不到,你该怎么办,我说我会先定个计划,
然后先开始试着做做,等老板回来了再给他回报。不知道这样子回答行不行。。。
问了两个brain tease问题,挺简单的,都是150道里面的那些brain tease,看过这本
书的自然就知道,我快速进行分析,给他答案,被他说我解的太快了,我也不知道这是
好事还是坏事,有面试经验的帮我分析分析,之后就随便瞎聊聊say byebye
第三个也是一个中年白人GG,同样问了behavior问题,问过去曾经遇到过的项目中重大
改变是什么,我怎么解决的,我同样举了上面那个例子。。。总感觉有点不搭,但是当
时临时想也只能想到这个例子可以说说,这也是个败笔吧。。。然后问了一堆OOP的问
题,inheritance VS composition, strategy pattern之类的,问了一个技术问题就
是google的searching box的提示是怎么实现的,我说用trie
follow up如果字典里有词"crack coding interview",要求输入"coding interview",
提示"crack coding interview",你怎么实现,我大概扯了扯,没见过这个题,我说可
能可以用suffix tree,但是可能内存开销会比较大,或者直接trie里面的每个节点保
存所有包含他以后子窜的strings,内存开销也可能很大,他貌似不怎么满意,我也不
懂这个问题怎么解决。。无语,这个GG没问啥coding问题
第四个貌似是个墨西哥GG,进来没啥笑脸,比较严肃,也问了一下behavior问题,真心
坑爹,这方面准备不足,印象比较深的有对amazon有什么改进意见,我随便说了点个人
喜好。问了abtract class vs interface,static的作用,然后问了两个coding问题,
第一个是string里面找出所有不唯一的字符,第二个是string里面找出频率最高的字符
,之后问time complexity和test cases 题目是真心不难,但是做到bug-free估计还是
得非常细心才
行。我可能就栽在这里了。
结论就是:behavior问题还是要大量准备的,第二点就是bug-free很重要,我以前都用
c#,临时改成用java参加面试的,回来之后我才想起code里面有些用法是c#里面有java
里面没有的
另外请大牛评价评价我的回答吧,总结总结经验教训