由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 发Facebook intern面经
相关主题
DP interview question简短面经(amazon第一轮电面)
非典型面试题一个面经
[Job Opening] 3D Engine Developer - Physics and Low Level Optimization最新两个面试题目
抛砖引玉:Careercup 150题中的错误请教一个DP的题
G家悲剧,发面经内推: Job opening @ Intel Santa Clara
Extension problem of finding intersection of two sorted array开始考虑找工作了,写了一个自己的就业行情分析,希望大家给给意见。
一道大公司诡异的complete binary tree max sum of 2 nodes 题one C++ question
还有两个题。我们公司有个职位(在NJ)
相关话题的讨论汇总
话题: binary话题: mid话题: search话题: facebook话题: sorted
进入JobHunting版参与讨论
1 (共1页)
k**o
发帖数: 3006
1
背景:东部排名30/40左右的州立大学CS PHD第三年,Database方向
发了两篇小paper,做过几个research里的小project,C++ coding能力还行
Facebook intern面试,因为时间紧,HR没有general interview
Technical interview有两轮
第一轮:
1. 怎样de-dup一个sorted array?
我先写了一个linear scan的算法,很弱
后来扯到Binary search来optimize,但是当时没说清楚,后来放下电话就想
出来了T_T
follow-up: 如果有一个big single file, many servers, how to use these
servers to compute this problem? 要求尽量balance load
我有点晕,这个听上去有点太简单了,不知道有什么trick...但是还是老老实
实说每个server 读一部分file,分别计算,最后用个很简单的merge就可以了。还可能
让第一个CPU
s***l
发帖数: 129
2
thanks for sharing!

背景:东部排名30/40左右的州立大学CS PHD第三年,Database方向
发了两篇小paper,做过几个research里的小project,C++ coding能力还行
Facebook面试,因为时间紧,HR没有general interview
Technical interview有两轮
第一轮:
1. 怎样de-dup一个sorted array?
我先写了一个linear scan的算法,很弱
后来扯到Binary search来optimize,但是当时没说清楚,后来放下电话就想
出来了T_T
follow-up: 如果有一个big single file, many servers, how to use these
servers to compute this problem? 要求尽量balance load
我有点晕,这个听上去有点太简单了,不知道有什么trick...但是还是老老实
实说每个server 读一部分file,分别计算,最后用个很简单的merge就可

【在 k**o 的大作中提到】
: 背景:东部排名30/40左右的州立大学CS PHD第三年,Database方向
: 发了两篇小paper,做过几个research里的小project,C++ coding能力还行
: Facebook intern面试,因为时间紧,HR没有general interview
: Technical interview有两轮
: 第一轮:
: 1. 怎样de-dup一个sorted array?
: 我先写了一个linear scan的算法,很弱
: 后来扯到Binary search来optimize,但是当时没说清楚,后来放下电话就想
: 出来了T_T
: follow-up: 如果有一个big single file, many servers, how to use these

s******t
发帖数: 2374
3
thanks for sharing..
L*******o
发帖数: 895
4
谢谢
给漂亮MM打分 :P
b****u
发帖数: 37
5
2. 怎样check circular in a linked list
另外一种算法是什么?

【在 k**o 的大作中提到】
: 背景:东部排名30/40左右的州立大学CS PHD第三年,Database方向
: 发了两篇小paper,做过几个research里的小project,C++ coding能力还行
: Facebook intern面试,因为时间紧,HR没有general interview
: Technical interview有两轮
: 第一轮:
: 1. 怎样de-dup一个sorted array?
: 我先写了一个linear scan的算法,很弱
: 后来扯到Binary search来optimize,但是当时没说清楚,后来放下电话就想
: 出来了T_T
: follow-up: 如果有一个big single file, many servers, how to use these

k**o
发帖数: 3006
6
reverse the list and check if the head appears twice~

【在 b****u 的大作中提到】
: 2. 怎样check circular in a linked list
: 另外一种算法是什么?

c********t
发帖数: 1756
7
MM很厉害!
S******n
发帖数: 1009
8
just curious, how do you optimize de-dup problem using binary search?
I think linear is enough.

【在 k**o 的大作中提到】
: 背景:东部排名30/40左右的州立大学CS PHD第三年,Database方向
: 发了两篇小paper,做过几个research里的小project,C++ coding能力还行
: Facebook intern面试,因为时间紧,HR没有general interview
: Technical interview有两轮
: 第一轮:
: 1. 怎样de-dup一个sorted array?
: 我先写了一个linear scan的算法,很弱
: 后来扯到Binary search来optimize,但是当时没说清楚,后来放下电话就想
: 出来了T_T
: follow-up: 如果有一个big single file, many servers, how to use these

h*****a
发帖数: 1992
9
Search "teleporting turtle"

【在 k**o 的大作中提到】
: reverse the list and check if the head appears twice~
S******n
发帖数: 1009
10
nice

【在 k**o 的大作中提到】
: reverse the list and check if the head appears twice~
相关主题
Extension problem of finding intersection of two sorted array简短面经(amazon第一轮电面)
一道大公司诡异的complete binary tree max sum of 2 nodes 题一个面经
还有两个题。最新两个面试题目
进入JobHunting版参与讨论
P*******e
发帖数: 1353
11
cong!

【在 k**o 的大作中提到】
: 背景:东部排名30/40左右的州立大学CS PHD第三年,Database方向
: 发了两篇小paper,做过几个research里的小project,C++ coding能力还行
: Facebook intern面试,因为时间紧,HR没有general interview
: Technical interview有两轮
: 第一轮:
: 1. 怎样de-dup一个sorted array?
: 我先写了一个linear scan的算法,很弱
: 后来扯到Binary search来optimize,但是当时没说清楚,后来放下电话就想
: 出来了T_T
: follow-up: 如果有一个big single file, many servers, how to use these

r****o
发帖数: 1950
12
谢谢,请问de-dup怎么用binary search优化啊?
binary search每次只能处理半边啊?
是不是可以用divide and conquer?

【在 k**o 的大作中提到】
: 背景:东部排名30/40左右的州立大学CS PHD第三年,Database方向
: 发了两篇小paper,做过几个research里的小project,C++ coding能力还行
: Facebook intern面试,因为时间紧,HR没有general interview
: Technical interview有两轮
: 第一轮:
: 1. 怎样de-dup一个sorted array?
: 我先写了一个linear scan的算法,很弱
: 后来扯到Binary search来optimize,但是当时没说清楚,后来放下电话就想
: 出来了T_T
: follow-up: 如果有一个big single file, many servers, how to use these

r****o
发帖数: 1950
13
第二题为什么要用hash table 来存每个department工资最高的人啊?
直接用个变量存不行吗?

【在 k**o 的大作中提到】
: 背景:东部排名30/40左右的州立大学CS PHD第三年,Database方向
: 发了两篇小paper,做过几个research里的小project,C++ coding能力还行
: Facebook intern面试,因为时间紧,HR没有general interview
: Technical interview有两轮
: 第一轮:
: 1. 怎样de-dup一个sorted array?
: 我先写了一个linear scan的算法,很弱
: 后来扯到Binary search来optimize,但是当时没说清楚,后来放下电话就想
: 出来了T_T
: follow-up: 如果有一个big single file, many servers, how to use these

k**o
发帖数: 3006
14
啊,其实不应该叫Binary search,我当时没说清楚
大概的作法是遇到一个数a[i],然后看a[i+2], a[i+4], a[i+8], ..., a[i+2^n]
看是不是和a[i]相同
如果a[i+2^(n-1)]=a[i], a[i+2^n] != a[i],就从a[i+2^(n-1)]开始线性向后找
直到遇到j使a[j] != a[i]
这样最坏情况下还是O(n),但是如果dup很多的话肯定会快些

【在 S******n 的大作中提到】
: just curious, how do you optimize de-dup problem using binary search?
: I think linear is enough.

r****o
发帖数: 1950
15
谢谢。
我的想法是divide and conquer. mid=(start+end)/2
每次递归调用如下。
0)开始 end 1)比较a[mid]和a[end],如果相同,则a[mid+1]..a[end]全部不用考虑。 end=mid.
2)比较a[mid]和a[start],如果相同,则a[start]..a[mid-1]全部不用考虑。start=mid.
3)然后
递归左半边(start..mid-1)
如果a[mid]!=a[mid-1] 则打印a[mid]//也可以push a[mid]到一个新的vector。
递归右半边(mid+1..end)
我觉得这样的话,复杂度是O(n')。 n'是n除掉重复元素后剩下的元素数目。
大家觉得我的方法可以吗?

【在 k**o 的大作中提到】
: 啊,其实不应该叫Binary search,我当时没说清楚
: 大概的作法是遇到一个数a[i],然后看a[i+2], a[i+4], a[i+8], ..., a[i+2^n]
: 看是不是和a[i]相同
: 如果a[i+2^(n-1)]=a[i], a[i+2^n] != a[i],就从a[i+2^(n-1)]开始线性向后找
: 直到遇到j使a[j] != a[i]
: 这样最坏情况下还是O(n),但是如果dup很多的话肯定会快些

l***r
发帖数: 241
16
ding
L*****s
发帖数: 24744
17
LZ你要是进去了,能帮我找几个人的背景资料不撒.哇咔咔
r****o
发帖数: 1950
18
自己顶一下。

mid.

【在 r****o 的大作中提到】
: 谢谢。
: 我的想法是divide and conquer. mid=(start+end)/2
: 每次递归调用如下。
: 0)开始 end: 1)比较a[mid]和a[end],如果相同,则a[mid+1]..a[end]全部不用考虑。 end=mid.
: 2)比较a[mid]和a[start],如果相同,则a[start]..a[mid-1]全部不用考虑。start=mid.
: 3)然后
: 递归左半边(start..mid-1)
: 如果a[mid]!=a[mid-1] 则打印a[mid]//也可以push a[mid]到一个新的vector。
: 递归右半边(mid+1..end)

k**o
发帖数: 3006
19
我说binary search的时候想法跟你差不多,也是比较start, end 和mid的关系
你可以再具体想想看能不能code出来,complexity是多少~~
我觉着最坏情况下有可能还不如linear scan,但是不确定~~

【在 r****o 的大作中提到】
: 自己顶一下。
:
: mid.

r****o
发帖数: 1950
20
我code完了可以打印出来啊。
为啥最坏情况下可能还不如linear scan呢?最坏就是O(n)吧。

【在 k**o 的大作中提到】
: 我说binary search的时候想法跟你差不多,也是比较start, end 和mid的关系
: 你可以再具体想想看能不能code出来,complexity是多少~~
: 我觉着最坏情况下有可能还不如linear scan,但是不确定~~

相关主题
请教一个DP的题one C++ question
内推: Job opening @ Intel Santa Clara我们公司有个职位(在NJ)
开始考虑找工作了,写了一个自己的就业行情分析,希望大家给给意见。大家给分析一下子吧
进入JobHunting版参与讨论
c**m
发帖数: 535
21
赞!
连夜赶VLDB?

【在 k**o 的大作中提到】
: 背景:东部排名30/40左右的州立大学CS PHD第三年,Database方向
: 发了两篇小paper,做过几个research里的小project,C++ coding能力还行
: Facebook intern面试,因为时间紧,HR没有general interview
: Technical interview有两轮
: 第一轮:
: 1. 怎样de-dup一个sorted array?
: 我先写了一个linear scan的算法,很弱
: 后来扯到Binary search来optimize,但是当时没说清楚,后来放下电话就想
: 出来了T_T
: follow-up: 如果有一个big single file, many servers, how to use these

s********f
发帖数: 510
22
那个array是sorted,所以可以search每一个value的last position

【在 S******n 的大作中提到】
: just curious, how do you optimize de-dup problem using binary search?
: I think linear is enough.

s******t
发帖数: 2374
23
这个可以这么写么?
Node slow = root;
Node fast = root;
while(fast!=null&&fast.next!=null){
slow = slow.next;
fast = fast.next.next;
if(slow == fast) return true;
}
return false;
===
. 怎样check circular in a linked list
。。。这个大家都知道吧。。。
我写完常规解法后说,我还知道另一种算法,就是小尾羊之前说的那种
s******t
发帖数: 2374
24
int a[];
int b[];
如果是升序
========
int i= lena + lenb - 1, j = lena - 1, k = lenb - 1;
for(;j >= 0 && k >= 0;){
if(a[j] >= b[k]) a[i--] = a[j--];
else a[i--] = b[k--];
}
while(k >= 0) a[i--] = b[k--];
=====
于是他就出了道merge two sorted array的问题,
如果array A有足够空间,如何in-place merge A and B (both sorted)
k**o
发帖数: 3006
25
good, this is what i wrote during the interview

【在 s******t 的大作中提到】
: int a[];
: int b[];
: 如果是升序
: ========
: int i= lena + lenb - 1, j = lena - 1, k = lenb - 1;
: for(;j >= 0 && k >= 0;){
: if(a[j] >= b[k]) a[i--] = a[j--];
: else a[i--] = b[k--];
: }
: while(k >= 0) a[i--] = b[k--];

k**o
发帖数: 3006
26
yes it is sorted

【在 s********f 的大作中提到】
: 那个array是sorted,所以可以search每一个value的last position
s******t
发帖数: 2374
27
我被加面一轮了。上一轮答的太差。recruiter刚给我写信了。

【在 k**o 的大作中提到】
: good, this is what i wrote during the interview
k**o
发帖数: 3006
28
是啊……哭
写得烂,还是投了
万恶啊

【在 c**m 的大作中提到】
: 赞!
: 连夜赶VLDB?

k**o
发帖数: 3006
29
汗,也就是说总共有三次面试的机会?
FB看来还是很想要人的,这么有耐心

【在 s******t 的大作中提到】
: 我被加面一轮了。上一轮答的太差。recruiter刚给我写信了。
h**6
发帖数: 4160
30
大赞,楼主是好人啊。
相关主题
los angeles的openings非典型面试题
【为什么我写的reverse string总出错】[Job Opening] 3D Engine Developer - Physics and Low Level Optimization
DP interview question抛砖引玉:Careercup 150题中的错误
进入JobHunting版参与讨论
h*******x
发帖数: 12808
31
赞!

of
engineering

【在 k**o 的大作中提到】
: 背景:东部排名30/40左右的州立大学CS PHD第三年,Database方向
: 发了两篇小paper,做过几个research里的小project,C++ coding能力还行
: Facebook intern面试,因为时间紧,HR没有general interview
: Technical interview有两轮
: 第一轮:
: 1. 怎样de-dup一个sorted array?
: 我先写了一个linear scan的算法,很弱
: 后来扯到Binary search来optimize,但是当时没说清楚,后来放下电话就想
: 出来了T_T
: follow-up: 如果有一个big single file, many servers, how to use these

g*********s
发帖数: 1782
32

why linear scan is weak? how does the binary search work? O(lgN) is just
for a single element. To de-duplicate the whole sorted array, i think O(N)
is the best.

【在 k**o 的大作中提到】
: 汗,也就是说总共有三次面试的机会?
: FB看来还是很想要人的,这么有耐心

c******w
发帖数: 1108
33
u can do better on average. but worst case is O(N)

【在 g*********s 的大作中提到】
:
: why linear scan is weak? how does the binary search work? O(lgN) is just
: for a single element. To de-duplicate the whole sorted array, i think O(N)
: is the best.

g*********s
发帖数: 1782
34
for each element, do equal_range?
even on average i don't see how it is better...

【在 c******w 的大作中提到】
: u can do better on average. but worst case is O(N)
j********x
发帖数: 2330
35
支持,非常有用!
j*****u
发帖数: 1133
36
thanks for sharing!
follow-up: 如果有一个big single file, many servers, how to use these
servers to compute this problem? 要求尽量balance load
我觉得这个题没什么意义,除非这个file是存储在distributed FS,有replica。因为
如果在单机上,要distribute要首先split这个file,这就已经是一次读写了,读写中
还有一个是remote的。有这一次读写去重已经完成了。
如果是unsorted并且bitmap不能fit到single memory,这时并行才有意义。

【在 k**o 的大作中提到】
: 背景:东部排名30/40左右的州立大学CS PHD第三年,Database方向
: 发了两篇小paper,做过几个research里的小project,C++ coding能力还行
: Facebook intern面试,因为时间紧,HR没有general interview
: Technical interview有两轮
: 第一轮:
: 1. 怎样de-dup一个sorted array?
: 我先写了一个linear scan的算法,很弱
: 后来扯到Binary search来optimize,但是当时没说清楚,后来放下电话就想
: 出来了T_T
: follow-up: 如果有一个big single file, many servers, how to use these

c**m
发帖数: 535
37
赞!多谢分享!
PS:
突然发现你原来已经不做PhotoGear版主了。。。

【在 k**o 的大作中提到】
: 背景:东部排名30/40左右的州立大学CS PHD第三年,Database方向
: 发了两篇小paper,做过几个research里的小project,C++ coding能力还行
: Facebook intern面试,因为时间紧,HR没有general interview
: Technical interview有两轮
: 第一轮:
: 1. 怎样de-dup一个sorted array?
: 我先写了一个linear scan的算法,很弱
: 后来扯到Binary search来optimize,但是当时没说清楚,后来放下电话就想
: 出来了T_T
: follow-up: 如果有一个big single file, many servers, how to use these

J*********n
发帖数: 370
38
congrats~ 请问lz二面后多久知道结果?
J*********n
发帖数: 370
39
突然发现这个帖子是去年的.....居然被二楼给考古出来了......
y**q
发帖数: 246
40
kyro你好,
我想请教一下,你说的第一个问题中,那个binarysearch来优化的算法是什么?
谢谢!

【在 k**o 的大作中提到】
: 背景:东部排名30/40左右的州立大学CS PHD第三年,Database方向
: 发了两篇小paper,做过几个research里的小project,C++ coding能力还行
: Facebook intern面试,因为时间紧,HR没有general interview
: Technical interview有两轮
: 第一轮:
: 1. 怎样de-dup一个sorted array?
: 我先写了一个linear scan的算法,很弱
: 后来扯到Binary search来optimize,但是当时没说清楚,后来放下电话就想
: 出来了T_T
: follow-up: 如果有一个big single file, many servers, how to use these

相关主题
抛砖引玉:Careercup 150题中的错误一道大公司诡异的complete binary tree max sum of 2 nodes 题
G家悲剧,发面经还有两个题。
Extension problem of finding intersection of two sorted array简短面经(amazon第一轮电面)
进入JobHunting版参与讨论
i**********e
发帖数: 1145
41
我想就是如果有非常多 duplicates 的时候,用 binary search 来优化。。。
例如,排好序之后成为
aa
bb
cc
cc
cc
cc
... 非常多的 'cc'
cc
cc
dd
如果 linear scan 的话要一个一个去除 'cc'.
如果使用 binary search 的话就可以 lg n 的时间来找到 cc 和 dd 的交界处.
一些常见面试题的答案与总结 -
http://www.ihas1337code.com

【在 y**q 的大作中提到】
: kyro你好,
: 我想请教一下,你说的第一个问题中,那个binarysearch来优化的算法是什么?
: 谢谢!

i****d
发帖数: 35
42
如果每次都找交界的话,岂不是O(nlgn)了

【在 i**********e 的大作中提到】
: 我想就是如果有非常多 duplicates 的时候,用 binary search 来优化。。。
: 例如,排好序之后成为
: aa
: bb
: cc
: cc
: cc
: cc
: ... 非常多的 'cc'
: cc

1 (共1页)
进入JobHunting版参与讨论
相关主题
我们公司有个职位(在NJ)G家悲剧,发面经
大家给分析一下子吧Extension problem of finding intersection of two sorted array
los angeles的openings一道大公司诡异的complete binary tree max sum of 2 nodes 题
【为什么我写的reverse string总出错】还有两个题。
DP interview question简短面经(amazon第一轮电面)
非典型面试题一个面经
[Job Opening] 3D Engine Developer - Physics and Low Level Optimization最新两个面试题目
抛砖引玉:Careercup 150题中的错误请教一个DP的题
相关话题的讨论汇总
话题: binary话题: mid话题: search话题: facebook话题: sorted