Redian新闻
>
纠结!485还是CP??
avatar
纠结!485还是CP??# EB23 - 劳工卡
b*y
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,然后逐一选定一个元素,剩下的元素头尾两个指针移动判断之和是否大
于小于或者等于选定那个元素的负数)
avatar
s*k
2
EB2转EB3批了,但人不在美国,律师说要递485的话就要回美国待一个月。现在在欧洲
做一个项目,离开一个月实在难度太大。但走CONSULAR PROCESSING拿不到EAD和AP,大
家看看像我这种情况应该如何选择呢?工作算稳定,所以EAD卡有或没有还不是太大问
题。。
avatar
d*d
3
还好,题目挺容易的.
不过f确实要求不能有错,要求写出来直接能compile,run出结果.
avatar
s*n
4
编程题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

avatar
b*y
5
恩,反正我也不care了...

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

avatar
B*1
6
facebook 的人都不需要用debugger的?

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

avatar
d*d
7
他们没有AE,而且产品周期特别短,开发速度要特别快.

【在 B*******1 的大作中提到】
: facebook 的人都不需要用debugger的?
avatar
x*7
8
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

avatar
A*u
9
第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

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

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

avatar
A*u
11
明白了 thanks.
bless

【在 b*******y 的大作中提到】
: 括号里面都写了阿,这样就不需要额外空间,复杂度是O(n^2)
avatar
x*7
12
sort可以直接用stl里面的sort 函数吗?

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

【在 x*******7 的大作中提到】
: sort可以直接用stl里面的sort 函数吗?
avatar
f*t
14
第一题的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;
}
}
avatar
Y*B
15
这种题目在电话里一边说一边在电脑上写还真tmd难...
如果是onsite的还好.
avatar
k*t
16
每层后面加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) {

avatar
f*t
17
数长度有什么缺点?list这种structure,size()的时间是O(1)

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

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

【在 f*******t 的大作中提到】
: 数长度有什么缺点?list这种structure,size()的时间是O(1)
avatar
k*t
19
本人一直只写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判断是否还有下一层,也不够直接简单。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。