a*****p 发帖数: 1285 | 1 1面 45分钟 白人哥哥
1. 交流简历的东西 20 分钟
2. 如果你自己写hash table,怎么写(high level)
我说一个key 对应一个value
然后要考虑 collision。然后他说为什么要考虑collision,blahblah
他说cool,不知道真cool 假cool
3. 如何从linkedlist里面找中间的那个
这个貌似没有看到过
我先问他有没有constraints,说没有,然后我就说,一个个搜索,然后放到array里面
拉,然后直接从array里面提取阿
然后他说,不要用其他data strcuture,然后我就说设置一个counter,一个个搜索到
list结尾阿,然后再回来搜
然后他说,如果只用一个pass,然后,hmmmm,我就没答上来,然后问有没有hints,他
说这个题是bonus,不知道真的假的
4. fobonacci
5. 问问题
我觉得我那个linkedlist没答上,他直接就跳fibonacci这种简单题,继续加油了。。
。 |
j**l 发帖数: 2911 | 2 和链表找环类似,两个指针,一个每次走一步,一个每次走两步就可以了。 |
k****n 发帖数: 1334 | 3 这个和两个pass其实一回事情,lz大概被晃点了
【在 j**l 的大作中提到】 : 和链表找环类似,两个指针,一个每次走一步,一个每次走两步就可以了。
|
a*****p 发帖数: 1285 | 4 刚刚也想到了。。。。。。
但是这个跟2个pass是一回事阿,都是一个链表上走2次阿,一个是同时走,一个是分开
走。。。。
当然了,别人可能就考这个。。。
我主要之前都是java,所以就从来没有注意到指针这个概念或者类似的操作了。。哎,
继续加油。
【在 j**l 的大作中提到】 : 和链表找环类似,两个指针,一个每次走一步,一个每次走两步就可以了。
|
h*********y 发帖数: 1080 | |
f*******t 发帖数: 7549 | |
g****n 发帖数: 194 | 7 more amazon interviews:
http://jobguiding.com/it-jobs/it-companies/amazon.html
【在 a*****p 的大作中提到】 : 1面 45分钟 白人哥哥 : 1. 交流简历的东西 20 分钟 : 2. 如果你自己写hash table,怎么写(high level) : 我说一个key 对应一个value : 然后要考虑 collision。然后他说为什么要考虑collision,blahblah : 他说cool,不知道真cool 假cool : 3. 如何从linkedlist里面找中间的那个 : 这个貌似没有看到过 : 我先问他有没有constraints,说没有,然后我就说,一个个搜索,然后放到array里面 : 拉,然后直接从array里面提取阿
|
p****y 发帖数: 405 | |
v***n 发帖数: 562 | |
b*******8 发帖数: 37364 | 10 如只能一个Pass,那貌似只能用递归了,递归到最里面,记录下了长度,一层层退到一
半的时候,得到中间点,再一层层返回。
下面代码测试了长度0到4都对。如奇数个节点,正好取中间一个,偶数2N个,则取第N+
1个。调用时用:
int depth=0;
getMid(root,0,depth);
Node* getMid(Node* root, const int& thisLevel, int& depth)
{
if (!root) return NULL;
else {
Node* ret=getMid(root->next, thisLevel+1, ++depth);
if (ret) return ret;
else if (depth>>1 == thisLevel) return root;
else return NULL;
}
} |
|
|
a********m 发帖数: 15480 | 11 其实不是一回事。而且思路比较重要。
【在 a*****p 的大作中提到】 : 刚刚也想到了。。。。。。 : 但是这个跟2个pass是一回事阿,都是一个链表上走2次阿,一个是同时走,一个是分开 : 走。。。。 : 当然了,别人可能就考这个。。。 : 我主要之前都是java,所以就从来没有注意到指针这个概念或者类似的操作了。。哎, : 继续加油。
|
s******c 发帖数: 1920 | 12 递归的实质是用stack啊。。。我觉得interviewwe想要的是2楼的答案。
N+
【在 b*******8 的大作中提到】 : 如只能一个Pass,那貌似只能用递归了,递归到最里面,记录下了长度,一层层退到一 : 半的时候,得到中间点,再一层层返回。 : 下面代码测试了长度0到4都对。如奇数个节点,正好取中间一个,偶数2N个,则取第N+ : 1个。调用时用: : int depth=0; : getMid(root,0,depth); : Node* getMid(Node* root, const int& thisLevel, int& depth) : { : if (!root) return NULL; : else {
|
W**********r 发帖数: 8927 | 13 二楼的正确,考的就是怎么用一个循环得出答案,而不是用两个循环。 |
b******4 发帖数: 1873 | 14 我也跟着分享一下吧,虽然之前和版上的一个朋友私下交流过
1面,白人哥哥
1.1 java final, finally, finalizer
1.2 difference between arraylist, linkedlist he started the question by
asking me "are you familiar with java collection"? 把我给听糊涂了,然后他就
接着问问题了
1.3 给你一堆folder,有些有subfolder,sub sub folder, so on and so forth。有些
有电话号码有些没有。问你如何快速找到这些有电话号码的folder,忘了他问的是不是
instantly找到,之前没有任何的data structure村这些信息。把我给问蒙了,也没有
让他做太多的clarification,也没怎么讨论,瞎扯一通
-》 这个问题不知道大家有没有遇到过,求指教
1.4 Fibonacci
2面, 中国mm,人还挺冷静nice的
2.1 java immutable还有这么做的原因
2.2 合并两个bst
2.3 oop问题
回家写code,我第二天才发给她 |
c****7 发帖数: 4192 | 15 haha.很有可能。amazon里面有时候问问题的人自己都不清楚答案
【在 k****n 的大作中提到】 : 这个和两个pass其实一回事情,lz大概被晃点了
|
s****u 发帖数: 1433 | 16 两个指针,一个从头,一个从尾,交替增减,直到指针重叠。
【在 k****n 的大作中提到】 : 这个和两个pass其实一回事情,lz大概被晃点了
|
b*******8 发帖数: 37364 | 17 单链表吧
【在 s****u 的大作中提到】 : 两个指针,一个从头,一个从尾,交替增减,直到指针重叠。
|
s******n 发帖数: 226 | 18 一开始你怎么知道尾的呢?
两个指针的解法是berkeley给学生interview指导里的标准答案
合并BST的那个,有木有O(n)时间,O(1)space的解了啊? 我找了很久都没有找到
【在 s****u 的大作中提到】 : 两个指针,一个从头,一个从尾,交替增减,直到指针重叠。
|
a*****p 发帖数: 1285 | 19 有好消息,结果抖很快,没好消息,基本都是结果很慢。拿到2面,继续加油。
【在 a*****p 的大作中提到】 : 刚刚也想到了。。。。。。 : 但是这个跟2个pass是一回事阿,都是一个链表上走2次阿,一个是同时走,一个是分开 : 走。。。。 : 当然了,别人可能就考这个。。。 : 我主要之前都是java,所以就从来没有注意到指针这个概念或者类似的操作了。。哎, : 继续加油。
|