Amazon intern电面 1.18.

原帖地址:一亩三分地

今天下午1点面的,面试官挺nice的。上来先互相介绍,然后问了之前有没有遇到过challenging problem,我就说了一个project的经历,面试官挺感兴趣的就问了很多,然后误以为我还搞了server,然而并没有这么高级,略囧。。。

技术问题:
1. 看两个二叉树是不是结构和值相同(leetcode 100)
2. 给一个string(只含小写字母),返回第一个只出现一次的char的index, 比如: ‘abacd’ 返回 1(‘b’), ‘ababcd’ 返回 4(‘c’)

第一题recursion的写法,说code没错,但可能会出现什么问题。我扯了一通recursion可能有stack overflow什么的,他也没怎么回应,不知道有没有答到点上,后来就问我call stack是怎么个情况,我就写了个test case走了遍preorder traversal说了下比较node的顺序。现在想想大概一开始问可能会出现什么问题就是要走test case?

第二题开始犯傻,一直坚信one pass要搞定,在想怎么同时保存第一个出现的idx和count, 还想搞个wrapper class,面试官明显不满意啊,说就你现在有的存count的arr就够啦。搞到后来说时间不够就让我问问题了,我这时开始不甘心地谷歌了,一看原来two pass再过一遍string返回第一个遇到的就可以了。。。于是我就说了下,终于正解,问了下时间空间复杂度就结束了。哎题不难没有把握好sigh。。。希望面试官看在我“想法”比较多的份上手下留情啊。。。求rp求过。。。