由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Facebook电面题目
相关主题
求教一道经典面题的解法我这个按层打印的有什么问题
我恨iPhone@Facebook电面[面试题] 如何打印一个二叉树level by level?
热腾腾的 LinkedIn 电面题攒RPyelp 电面面经应该已跪了
Print a binary tree in level order but starting from leaf node up to rootInterview question: Rebuild a tree with DFS output with level
白痴问题:TreeNode 里面有指向 parent 的指针么?电面没做出题。郁闷!!
G家intern电面新鲜面经贡献Google 电面面经
c++算法题一问zenefit 电面面经
问个老题这个题目有什么trick
相关话题的讨论汇总
话题: level话题: treenode话题: node话题: cur话题: length
进入JobHunting版参与讨论
1 (共1页)
b*******y
发帖数: 232
1
其实挺简单的,都是版上常见题目,不过还是没写出bug free的程序,抓到了两个小
bug...据说facebook比较看重bug free
本来拿到心仪的offer之后不打算面了,但因为我的时间问题,已经reschedule多次了
,不好意思再说不面,而且facebook挺好的,就面了
先让我讲了一堆research的课题,然后问我希望在facebook里做什么样子的工作
编程题1
level by level,每个level是一行,打印binary tree
(careercup上的题,可以用两个queue来交互存储level;也可以用一个queue存储pair<
node*,level>信息)
编程题2
一个数组,有正有负,如果数组中任何三个不同的数之和等于0,则返回true;不然就返
回false
(就是先sort,然后逐一选定一个元素,剩下的元素头尾两个指针移动判断之和是否大
于小于或者等于选定那个元素的负数)
d*******d
发帖数: 2050
2
还好,题目挺容易的.
不过f确实要求不能有错,要求写出来直接能compile,run出结果.
s******n
发帖数: 226
3
编程题1:
one vector is far enough.

pair<

【在 b*******y 的大作中提到】
: 其实挺简单的,都是版上常见题目,不过还是没写出bug free的程序,抓到了两个小
: bug...据说facebook比较看重bug free
: 本来拿到心仪的offer之后不打算面了,但因为我的时间问题,已经reschedule多次了
: ,不好意思再说不面,而且facebook挺好的,就面了
: 先让我讲了一堆research的课题,然后问我希望在facebook里做什么样子的工作
: 编程题1
: level by level,每个level是一行,打印binary tree
: (careercup上的题,可以用两个queue来交互存储level;也可以用一个queue存储pair<
: node*,level>信息)
: 编程题2

b*******y
发帖数: 232
4
恩,反正我也不care了...

【在 d*******d 的大作中提到】
: 还好,题目挺容易的.
: 不过f确实要求不能有错,要求写出来直接能compile,run出结果.

B*******1
发帖数: 2454
5
facebook 的人都不需要用debugger的?

【在 d*******d 的大作中提到】
: 还好,题目挺容易的.
: 不过f确实要求不能有错,要求写出来直接能compile,run出结果.

d*******d
发帖数: 2050
6
他们没有AE,而且产品周期特别短,开发速度要特别快.

【在 B*******1 的大作中提到】
: facebook 的人都不需要用debugger的?
x*******7
发帖数: 223
7
research会问很detail吗?会扩展问相关知识点吗?
做什么工作这个是答都可以吗?fb听说是进去后6个月rotation然后选组,如果现在说
想进什么组是不是显得太草率?

pair<

【在 b*******y 的大作中提到】
: 其实挺简单的,都是版上常见题目,不过还是没写出bug free的程序,抓到了两个小
: bug...据说facebook比较看重bug free
: 本来拿到心仪的offer之后不打算面了,但因为我的时间问题,已经reschedule多次了
: ,不好意思再说不面,而且facebook挺好的,就面了
: 先让我讲了一堆research的课题,然后问我希望在facebook里做什么样子的工作
: 编程题1
: level by level,每个level是一行,打印binary tree
: (careercup上的题,可以用两个queue来交互存储level;也可以用一个queue存储pair<
: node*,level>信息)
: 编程题2

A**u
发帖数: 2458
8
第2题 怎么做呢
多快呢

pair<

【在 b*******y 的大作中提到】
: 其实挺简单的,都是版上常见题目,不过还是没写出bug free的程序,抓到了两个小
: bug...据说facebook比较看重bug free
: 本来拿到心仪的offer之后不打算面了,但因为我的时间问题,已经reschedule多次了
: ,不好意思再说不面,而且facebook挺好的,就面了
: 先让我讲了一堆research的课题,然后问我希望在facebook里做什么样子的工作
: 编程题1
: level by level,每个level是一行,打印binary tree
: (careercup上的题,可以用两个queue来交互存储level;也可以用一个queue存储pair<
: node*,level>信息)
: 编程题2

b*******y
发帖数: 232
9
括号里面都写了阿,这样就不需要额外空间,复杂度是O(n^2)

【在 A**u 的大作中提到】
: 第2题 怎么做呢
: 多快呢
:
: pair<

A**u
发帖数: 2458
10
明白了 thanks.
bless

【在 b*******y 的大作中提到】
: 括号里面都写了阿,这样就不需要额外空间,复杂度是O(n^2)
相关主题
G家intern电面新鲜面经我这个按层打印的有什么问题
c++算法题一问[面试题] 如何打印一个二叉树level by level?
问个老题yelp 电面面经应该已跪了
进入JobHunting版参与讨论
x*******7
发帖数: 223
11
sort可以直接用stl里面的sort 函数吗?

【在 b*******y 的大作中提到】
: 括号里面都写了阿,这样就不需要额外空间,复杂度是O(n^2)
b*******y
发帖数: 232
12
这些在面试中都不是问题,重要的是沟通
你可以问面试官

【在 x*******7 的大作中提到】
: sort可以直接用stl里面的sort 函数吗?
f*******t
发帖数: 7549
13
第一题的code:
void printByLevel(Node *root) {
if(root == NULL)
return;

list l;
l.push_back(root);
int length = 1;
int level = 0;
while(length) {
cout << "Level " << level << ": ";
list::iterator it = l.begin();
for(int i = 0; i < length; i++) {
// Print current node
cout << (*it)->val << " ";
if((*it)->left)
l.push_back((*it)->left);
if((*it)->right)
l.push_back((*it)->right);
it++;
}
while(length--)
l.pop_front();
length = l.size();
level++;
cout << endl;
}
}
Y**B
发帖数: 144
14
这种题目在电话里一边说一边在电脑上写还真tmd难...
如果是onsite的还好.
k***t
发帖数: 276
15
每层后面加dummy入队列是不是比数长度要好一些。
当然还要加flag判断是否还有下一层,也不够直接简单。

【在 f*******t 的大作中提到】
: 第一题的code:
: void printByLevel(Node *root) {
: if(root == NULL)
: return;
:
: list l;
: l.push_back(root);
: int length = 1;
: int level = 0;
: while(length) {

f*******t
发帖数: 7549
16
数长度有什么缺点?list这种structure,size()的时间是O(1)

【在 k***t 的大作中提到】
: 每层后面加dummy入队列是不是比数长度要好一些。
: 当然还要加flag判断是否还有下一层,也不够直接简单。

k***t
发帖数: 276
17
至少在现在的代码中,两层都在list里,没有边处理边删除。
而且那两个基于length的循环都可以去掉。
以上两条可能也 not a big deal, 只是个人感觉不太舒服。

【在 f*******t 的大作中提到】
: 数长度有什么缺点?list这种structure,size()的时间是O(1)
k***t
发帖数: 276
18
本人一直只写C,看过一点STL。欢迎大家 Code Review。谢谢。
觉得has_next_level flag 部分不够简单明了,但没有它不好
在输出中换行和终止加dummy node.
#include
using namespace std;
typedef struct TreeNode_ {
int value;
struct TreeNode_ *left;
struct TreeNode_ *right;
} TreeNode;
int level (TreeNode *root) {
queue Q;
TreeNode *cur, dummy;
bool has_next_level;

if (!root) return -1;
Q.push(root); Q.push(&dummy);
has_next_level = false;

while(!Q.empty()) {
cur = Q.front();
if (cur == &dummy) {
printf("\n"); Q.pop();
if (!has_next_level) return 1;
Q.push(&dummy); has_next_level = false;
continue;
}
printf("%d ", cur->value);
if (cur->left) {
Q.push(cur->left); has_next_level = true;
}
if (cur->right) {
Q.push(cur->right); has_next_level = true;
}
Q.pop();
}
return 1;
}

【在 k***t 的大作中提到】
: 每层后面加dummy入队列是不是比数长度要好一些。
: 当然还要加flag判断是否还有下一层,也不够直接简单。

1 (共1页)
进入JobHunting版参与讨论
相关主题
这个题目有什么trick白痴问题:TreeNode 里面有指向 parent 的指针么?
G家onsite记录,难度呵呵G家intern电面新鲜面经
如何实现binary tree的从下到上的分层打印?c++算法题一问
Link nodes at same level in a binary tree 怎么做?问个老题
求教一道经典面题的解法我这个按层打印的有什么问题
我恨iPhone@Facebook电面[面试题] 如何打印一个二叉树level by level?
热腾腾的 LinkedIn 电面题攒RPyelp 电面面经应该已跪了
Print a binary tree in level order but starting from leaf node up to rootInterview question: Rebuild a tree with DFS output with level
相关话题的讨论汇总
话题: level话题: treenode话题: node话题: cur话题: length