由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Amamon onsite 面经
相关主题
准备总结一下design pattern了rebuild a tree from inorder and level order
谈谈刚面的一个design题大概说一下昨天的Google Phone Interview
一个GOOG的二叉树面试题树 inorder下个节点最好办法是啥
请教一个BST找Median的题目inorder traversal and BST
求教:binary search tree中找第i大的数问个算法题?
merge two binary search treeRestore binary tree from preorder and inorder sequences
请教一个关于sort的问题一道G老题
Amazon的拒信,看着真让人生气攒人品,amazon一面经历
相关话题的讨论汇总
话题: color话题: bst话题: int话题: fillcolor话题: initcolor
进入JobHunting版参与讨论
1 (共1页)
e****9
发帖数: 316
1
之前两轮phone screen都是常规题目.
这周一on site,昨天刚下飞机收到hr的voice message通知被拒,赞一下hr的效率
一面:BST到排序双链表.之前准备过,所以很快给了code. Follow up问题,排序双链表到
BST,只给了个大概的想法,code没搞出来. 然后是OOD问题,餐馆预定系统.
二面:先谈一下过去的项目,技术上的难点.然后是code问题,字符表格找单词.
比如下面的3*3字符表格
1 2 3
4 5 6
7 8 9
每一个位置都是随机生成的char,给你一个字典然后找到表格里面所有可能的单词.
单词的定义是任意个连续字符组合,一个位置用过之后就不能再用.
比如14,214,159,153,1245,1457都是合法的组合.121是非法的.
这个题答得不好.想到了要用递归,但是后面code的时候有点乱.
经验教训,Amazon面试code题是逃不掉的,所以自我介绍和谈过去的项目都不要耽误太多
的时间,要不后面的code题就没时间了.
三面:hr
四面:要限制某个应用x的heap的内存使用,实现一个x_malloc和x_free
b********e
发帖数: 693
2
zan!!

【在 e****9 的大作中提到】
: 之前两轮phone screen都是常规题目.
: 这周一on site,昨天刚下飞机收到hr的voice message通知被拒,赞一下hr的效率
: 一面:BST到排序双链表.之前准备过,所以很快给了code. Follow up问题,排序双链表到
: BST,只给了个大概的想法,code没搞出来. 然后是OOD问题,餐馆预定系统.
: 二面:先谈一下过去的项目,技术上的难点.然后是code问题,字符表格找单词.
: 比如下面的3*3字符表格
: 1 2 3
: 4 5 6
: 7 8 9
: 每一个位置都是随机生成的char,给你一个字典然后找到表格里面所有可能的单词.

t******e
发帖数: 1293
3
谢谢!
comfort

【在 e****9 的大作中提到】
: 之前两轮phone screen都是常规题目.
: 这周一on site,昨天刚下飞机收到hr的voice message通知被拒,赞一下hr的效率
: 一面:BST到排序双链表.之前准备过,所以很快给了code. Follow up问题,排序双链表到
: BST,只给了个大概的想法,code没搞出来. 然后是OOD问题,餐馆预定系统.
: 二面:先谈一下过去的项目,技术上的难点.然后是code问题,字符表格找单词.
: 比如下面的3*3字符表格
: 1 2 3
: 4 5 6
: 7 8 9
: 每一个位置都是随机生成的char,给你一个字典然后找到表格里面所有可能的单词.

b********e
发帖数: 693
4
Amazon is too hard for the onsite

【在 e****9 的大作中提到】
: 之前两轮phone screen都是常规题目.
: 这周一on site,昨天刚下飞机收到hr的voice message通知被拒,赞一下hr的效率
: 一面:BST到排序双链表.之前准备过,所以很快给了code. Follow up问题,排序双链表到
: BST,只给了个大概的想法,code没搞出来. 然后是OOD问题,餐馆预定系统.
: 二面:先谈一下过去的项目,技术上的难点.然后是code问题,字符表格找单词.
: 比如下面的3*3字符表格
: 1 2 3
: 4 5 6
: 7 8 9
: 每一个位置都是随机生成的char,给你一个字典然后找到表格里面所有可能的单词.

e****9
发帖数: 316
5
感觉我这次遇到的面试题有点难,可能是rp的问题。所以回来赶紧发个面经。

【在 b********e 的大作中提到】
: Amazon is too hard for the onsite
b********e
发帖数: 693
6
I will definally fail, if I get your questions

【在 e****9 的大作中提到】
: 感觉我这次遇到的面试题有点难,可能是rp的问题。所以回来赶紧发个面经。
K******g
发帖数: 1870
7
一面:可不可以把链表先写到一个数组里,然后再转换成BST?如果需要转换成与原来
一样的BST的话,那还需要建立一个preorder的list。
二面:这题其实就是grid遍历
int isVisited[n][m];
N*M
grid[N][M]
void findWord(int n, int m, string &str)
{
if(n<0 || m<0 || n>N-1 || n>M-1) return;
if(isVisited[n][m] == 1) return;

isVisited[n][m] = 1;
str += grid[n][m];
if(lookupDict(str)) cout << str << endl;
findWord(n-1, m, str);
str.pop_back(); //assume that the string can delete the last char.
findWord(n, m-1, str);
str.pop_back();
findW

【在 e****9 的大作中提到】
: 之前两轮phone screen都是常规题目.
: 这周一on site,昨天刚下飞机收到hr的voice message通知被拒,赞一下hr的效率
: 一面:BST到排序双链表.之前准备过,所以很快给了code. Follow up问题,排序双链表到
: BST,只给了个大概的想法,code没搞出来. 然后是OOD问题,餐馆预定系统.
: 二面:先谈一下过去的项目,技术上的难点.然后是code问题,字符表格找单词.
: 比如下面的3*3字符表格
: 1 2 3
: 4 5 6
: 7 8 9
: 每一个位置都是随机生成的char,给你一个字典然后找到表格里面所有可能的单词.

K******g
发帖数: 1870
8
请问能否解释一下四面里
“这个地方有一个要注意的是因为内存对齐的问题,最前面那4个byte读写要用memcpy而
不能直接把指针cast成uint”, 直接 unit = static_cast (*(p-4)); 不就行了
吗?为什么要memcpy呢

【在 e****9 的大作中提到】
: 之前两轮phone screen都是常规题目.
: 这周一on site,昨天刚下飞机收到hr的voice message通知被拒,赞一下hr的效率
: 一面:BST到排序双链表.之前准备过,所以很快给了code. Follow up问题,排序双链表到
: BST,只给了个大概的想法,code没搞出来. 然后是OOD问题,餐馆预定系统.
: 二面:先谈一下过去的项目,技术上的难点.然后是code问题,字符表格找单词.
: 比如下面的3*3字符表格
: 1 2 3
: 4 5 6
: 7 8 9
: 每一个位置都是随机生成的char,给你一个字典然后找到表格里面所有可能的单词.

K******g
发帖数: 1870
9
五面的题目和二面很类似啊
int initColor[n][m];
N*M
grid[N][M]
enum color { NO_COLOR=0, GREEN=1, RED=2, ...}
void fillColor(int n, int m, int COLOR)
{
if(n<0 || m<0 || n>N-1 || n>M-1) return;
if(initColor[n][m]!=NO_COLOR && initColor[n][m]!=COLOR) return;

initColor[n][m] = COLOR;
fillColor(n-1, m, COLOR);
fillColor(n, m-1, COLOR);
fillColor(n+1, m, COLOR);
fillColor(n, m+1, COLOR);

}

【在 e****9 的大作中提到】
: 之前两轮phone screen都是常规题目.
: 这周一on site,昨天刚下飞机收到hr的voice message通知被拒,赞一下hr的效率
: 一面:BST到排序双链表.之前准备过,所以很快给了code. Follow up问题,排序双链表到
: BST,只给了个大概的想法,code没搞出来. 然后是OOD问题,餐馆预定系统.
: 二面:先谈一下过去的项目,技术上的难点.然后是code问题,字符表格找单词.
: 比如下面的3*3字符表格
: 1 2 3
: 4 5 6
: 7 8 9
: 每一个位置都是随机生成的char,给你一个字典然后找到表格里面所有可能的单词.

K******g
发帖数: 1870
10
请问你是怎么解释五面最后一道设计题的?多谢了

【在 e****9 的大作中提到】
: 之前两轮phone screen都是常规题目.
: 这周一on site,昨天刚下飞机收到hr的voice message通知被拒,赞一下hr的效率
: 一面:BST到排序双链表.之前准备过,所以很快给了code. Follow up问题,排序双链表到
: BST,只给了个大概的想法,code没搞出来. 然后是OOD问题,餐馆预定系统.
: 二面:先谈一下过去的项目,技术上的难点.然后是code问题,字符表格找单词.
: 比如下面的3*3字符表格
: 1 2 3
: 4 5 6
: 7 8 9
: 每一个位置都是随机生成的char,给你一个字典然后找到表格里面所有可能的单词.

相关主题
merge two binary search treerebuild a tree from inorder and level order
请教一个关于sort的问题大概说一下昨天的Google Phone Interview
Amazon的拒信,看着真让人生气树 inorder下个节点最好办法是啥
进入JobHunting版参与讨论
e****9
发帖数: 316
11
KingMing code好快。
第二题如果只是链表到bst的话应该是不要其他的辅助数据的。
第二题就是那样的。我当时把那个递归和移动第一个点的位置的循环搞的不清楚。
第三题你可以看看Memory Alignment的东西。int的指针应该是能被4整除的,要不然可
能会有hardware exception.类似的问题还有对struct调用sizeof的问题。
第五题还有对角线上4个点,而且要先把能放的点push_back到vector里,然后再遍历
vector里面的点,对每个点递归调用。比如4,8初始已经填色,给你位置5,7不能填色
。如果不用vector的话,你会不知道4,8是初始填色的还是后面你递归的时候添上的。
五面第二题就是讨论,很多时候顾头顾不了脚,觉得应该是没有什么完美的方案。
w******1
发帖数: 520
12
题目看起来好难
K******g
发帖数: 1870
13
你的意思是在p指针之前放一个整型的数据表示这个p指针指向的buffer有多大,是吧?
然后p指针的地址不一定是4的倍数,那请问前面那个数据怎么会是整型的呢?malloc怎
么把buffer size写到那个地址里去的呢?
那个填色的那题,如果已经是相同颜色了,就不要再填了吧?
第二题如果没有辅助数据,怎么把BST转换成BST呢。
请指教

【在 e****9 的大作中提到】
: KingMing code好快。
: 第二题如果只是链表到bst的话应该是不要其他的辅助数据的。
: 第二题就是那样的。我当时把那个递归和移动第一个点的位置的循环搞的不清楚。
: 第三题你可以看看Memory Alignment的东西。int的指针应该是能被4整除的,要不然可
: 能会有hardware exception.类似的问题还有对struct调用sizeof的问题。
: 第五题还有对角线上4个点,而且要先把能放的点push_back到vector里,然后再遍历
: vector里面的点,对每个点递归调用。比如4,8初始已经填色,给你位置5,7不能填色
: 。如果不用vector的话,你会不知道4,8是初始填色的还是后面你递归的时候添上的。
: 五面第二题就是讨论,很多时候顾头顾不了脚,觉得应该是没有什么完美的方案。

y*********e
发帖数: 518
14
第一题,BST到链表,inorder traverse便是。
从链表到BST,可能产生的BST并不是原先的BST。因为可以有2个不同的BST产生出一样
的inorder traverse,所以反过来,只有inorder traverse并不能确定原先的BST。
若是array的话,这样就好了。每次取array的中点,做成一个node,然后左边的就是
left subtree,右边的就是right subtree,可以做成递归。
public Tree build(int[] array, int low, int high) {
if (low > high)
return null;
if (low == high)
return new Tree(array[low]);
int mid = low + ((high - low) >> 1);
Tree root = new Tree(array[mid]);
root.left = build(array, low, mid - 1);
root.r
y*********e
发帖数: 518
15
第二题,其实就是在那个3*3的棋盘里面乱走。
1 2 3
4 5 6
7 8 9
走的方向可以是任意方向,上下左右还有对角线。以每一个点作为起点,找出所有可能
的走法。比如,以1为起点,可以走12, 123, 125, 124, 1247, 124789, ...
一个很简单的解法就是尝试所有可能性的走法。用Point类来表示坐标点。用Path类来
表示走法。那么函数就是:
public enum Direction
{
UP, UP_LEFT, UP_RIGHT,
LEFT, RIGHT,
DOWN, DOWN_LEFT, DOWN_RIGHT
}
public Set findAllPath(Point[] ps) {
Set set = new HashSet();
for (Point p : ps) { // for each p in ps
walk(p, Path.EMPTY, set);
}
return set;
}
public void walk(Po
y*********e
发帖数: 518
16
第五题和第二题很类似阿。就是不停的朝4个方向走,若是碰到已经涂色的了,则是此
路不通。
public enum Direction
{
UP, LEFT, RIGHT, DOWN
}
public void paint(Point start) {
if (!start.isPaint())
start.setPaint(true);
// go for each direction, returns null if hit border
for (Direction dir : Dirction.values()) {
Point next = start.go(dir);
if (next == null && !next.isPaint()) {
paint(next);
}
}
}
}
s********y
发帖数: 3811
17
i thought my onsite was hard until i saw yours...is this a sr position?

【在 e****9 的大作中提到】
: 之前两轮phone screen都是常规题目.
: 这周一on site,昨天刚下飞机收到hr的voice message通知被拒,赞一下hr的效率
: 一面:BST到排序双链表.之前准备过,所以很快给了code. Follow up问题,排序双链表到
: BST,只给了个大概的想法,code没搞出来. 然后是OOD问题,餐馆预定系统.
: 二面:先谈一下过去的项目,技术上的难点.然后是code问题,字符表格找单词.
: 比如下面的3*3字符表格
: 1 2 3
: 4 5 6
: 7 8 9
: 每一个位置都是随机生成的char,给你一个字典然后找到表格里面所有可能的单词.

1 (共1页)
进入JobHunting版参与讨论
相关主题
攒人品,amazon一面经历求教:binary search tree中找第i大的数
攒人品,Amazon 二面面经merge two binary search tree
[合集] 微软面试的一道题请教一个关于sort的问题
用Java面试的大牛们Amazon的拒信,看着真让人生气
准备总结一下design pattern了rebuild a tree from inorder and level order
谈谈刚面的一个design题大概说一下昨天的Google Phone Interview
一个GOOG的二叉树面试题树 inorder下个节点最好办法是啥
请教一个BST找Median的题目inorder traversal and BST
相关话题的讨论汇总
话题: color话题: bst话题: int话题: fillcolor话题: initcolor