Redian新闻
>
insight考不考谱啊。
avatar
insight考不考谱啊。# PDA - 掌中宝
k*o
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
avatar
s*a
2
昨天晚上snowstorm, 很大的雪,风大。早上发现洗澡间排气扇不工作了,但是打开开
关会听得到一点嗡嗡的声音。天花板排气扇的旁边有点潮湿的印子。
是因为排气扇的外出口进雪了?
怎么办呢
avatar
x*a
3
怎么样?有人喜欢么?
avatar
f*l
4
Est. Date Of Arrival: September 06, 2011
这个也太扯了吧。等两周,是从中国运过来?
avatar
s*l
5
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

avatar
m*y
6
呵呵 Vent得看看了 怎么灌这么多雪进来
avatar
z*x
7
有!!!
阿杜嗓音极具辨识度。
十一二年前红遍了亚洲。
代表作有:
他一定很爱你
坚持到底

【在 x**********a 的大作中提到】
: 怎么样?有人喜欢么?
avatar
n*0
8
妈的。
都是瞎掰。
刚给打电话了。
说这些信息都不准。
只有真ship了,才是可靠的。
问说为什么有update,丫说他也不知道。
不知道怎么闹的。
要是没货,今天早晨还接什么单子!
操。
avatar
s*t
9
thanks for sharing..
avatar
B*a
10
安徽台一个唱歌节目请过,田震主持的忘了叫啥了。赛制极其傻逼,三个歌手一组比赛
,输得三个人互相投票赶走一个,阿杜貌似被两个女的给黑了

【在 x**********a 的大作中提到】
: 怎么样?有人喜欢么?
avatar
L*o
11
谢谢
给漂亮MM打分 :P
avatar
i*i
12
相当于新加坡杨坤吧
还赶不上杨坤还会自己创作

【在 z**x 的大作中提到】
: 有!!!
: 阿杜嗓音极具辨识度。
: 十一二年前红遍了亚洲。
: 代表作有:
: 他一定很爱你
: 坚持到底

avatar
b*u
13
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

avatar
M*u
14
阿杜,小刚,刀郎都来吧。

【在 x**********a 的大作中提到】
: 怎么样?有人喜欢么?
avatar
k*o
15
reverse the list and check if the head appears twice~

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

avatar
r*k
16
杨坤主要是嘶哑,阿杜的声音还比较亮。

【在 i***i 的大作中提到】
: 相当于新加坡杨坤吧
: 还赶不上杨坤还会自己创作

avatar
c*t
17
MM很厉害!
avatar
d*0
18
刀郎岂是阿杜可以相提并论的

【在 M****u 的大作中提到】
: 阿杜,小刚,刀郎都来吧。
avatar
S*n
19
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

avatar
i*t
20
估计是一轮到两轮的命。
avatar
h*a
21
Search "teleporting turtle"

【在 k**o 的大作中提到】
: reverse the list and check if the head appears twice~
avatar
x*a
22
满足过气歌手的条件啊。呵呵。
avatar
S*n
23
nice

【在 k**o 的大作中提到】
: reverse the list and check if the head appears twice~
avatar
s*2
24
同意

估计是一轮到两轮的命。

【在 i*******t 的大作中提到】
: 估计是一轮到两轮的命。
avatar
P*e
25
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

avatar
y*t
26
阿杜参加中国音超都PK不过年轻人了,还是算了吧。

【在 x**********a 的大作中提到】
: 怎么样?有人喜欢么?
avatar
r*o
27
谢谢,请问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

avatar
g*e
28
阿杜现在早废了,以前不错

【在 x**********a 的大作中提到】
: 怎么样?有人喜欢么?
avatar
r*o
29
第二题为什么要用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

avatar
i*l
30
这是一个比曹格更神经病的,基本上属于应该关到医院治不好不放出来那种了。lol
avatar
k*o
31
啊,其实不应该叫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.

avatar
v*y
32
I remember him

【在 x**********a 的大作中提到】
: 怎么样?有人喜欢么?
avatar
r*o
33
谢谢。
我的想法是divide and conquer. mid=(start+end)/2
每次递归调用如下。
0)开始 end1)比较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很多的话肯定会快些

avatar
l*r
34
ding
avatar
L*s
35
LZ你要是进去了,能帮我找几个人的背景资料不撒.哇咔咔
avatar
r*o
36
自己顶一下。

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)

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

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

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

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

avatar
c*m
39
赞!
连夜赶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

avatar
s*f
40
那个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.

avatar
s*t
41
这个可以这么写么?
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
。。。这个大家都知道吧。。。
我写完常规解法后说,我还知道另一种算法,就是小尾羊之前说的那种
avatar
s*t
42
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)
avatar
k*o
43
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--];

avatar
k*o
44
yes it is sorted

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

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

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

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

【在 s******t 的大作中提到】
: 我被加面一轮了。上一轮答的太差。recruiter刚给我写信了。
avatar
h*6
48
大赞,楼主是好人啊。
avatar
h*x
49
赞!

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

avatar
g*s
50

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看来还是很想要人的,这么有耐心

avatar
c*w
51
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.

avatar
g*s
52
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)
avatar
j*x
53
支持,非常有用!
avatar
j*u
54
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

avatar
c*m
55
赞!多谢分享!
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

avatar
J*n
56
congrats~ 请问lz二面后多久知道结果?
avatar
J*n
57
突然发现这个帖子是去年的.....居然被二楼给考古出来了......
avatar
y*q
58
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

avatar
i*e
59
我想就是如果有非常多 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来优化的算法是什么?
: 谢谢!

avatar
i*d
60
如果每次都找交界的话,岂不是O(nlgn)了

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

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