avatar
l*p
1
两通电话,每个45min,到最后两个都超时
第一通电话:
1、指定我简历中的一篇一作文章,让我描述那文章里的内容
2、如何从一个只含有ASCII字符的字符串中找出最频繁的字符
我说用哈希表记录每个字符出现次数,然后他又补充问到哈希表是怎么工作的,我说包
括哈希函数和冲突处理两部分,并简述了一下,说由于字符不太多,可以用链表处理冲突
3、如果这个字符串含有32位Unicode字符的串,如何修改之前的算法
我说为了节省空间,可以把冲突处理方式改成rehashing
4、如果一个同事提出用一个array来记录各个字符的次数,比较你的算法和该同事算
法的优劣
很明显,他出这个题是期望我在第2问中说用array来记录,然后第3问再让我改成
hash,结果我第二问直接就用hash了。我说时间上差不多,但是用于处理ASCII时,
array比较省空间,处理Unicode时,hash比较省空间
5、如果这个字串数据量很大,而且分布在多台机器上,同时由于带宽限制,不能把整个
hash在多台机器中传输,怎么办?
这题没答上来,花了很长时间,后来先下一题的代码,然后还有时间,继续回答这题,最终还是没答
上来,只是说you are on the right track
6、写代码:给定了个整型数组,建立一个binary search tree
第二通电话:
1、问我当前在研究什么
2、如何把多个字符串连接成一个字符串
选择一个分界符,并在各个字符串中escape
3、写代码:实现一个PeekingIterator,与Java的Iterator不同的是,它多了一个
peek方法,这个方法返回下一个item,但不移动指针,也就是调用peek多次,它将返回
同一个item。
4、写代码:给定一由个位数组成的数组,比如[1,2,9],用于表示数字129,要求对这
个数组进行加1运算,返回结果,比如[1,3,0]
复习了10天的算法,唯一用到的是哈希表的原理和binary search tree的概念,每通电话最后
都问我还有什么问题,我都问我的performance跟别人比怎么样,都没得到什么有用信息。大家这种
时候都问什么问题?
avatar
l*7
2
好奇问问。
大约一个月前,一CVS藏着的香草卡被我发现了,于是我每个星期买2张,一般周五买。
每次我都是几乎不留痕迹地从藏着的地方抽2张出来,今天去看到就剩最后一张,游戏
咱玩完了。
avatar
h*o
3
换了dell的笔记本 为了避免兼容性问题 特地买了dell的显示器 还他妈两个 搞了个
dell docking station 就是怕不兼容 结果你猜怎么着 那个神奇的DP输出打死都不工
作 在网上搜了半天 一堆人complain 想让它工作比找个二奶还难 我他妈怀疑dell里面
做显示器的和做笔记本的人不和 闹矛盾 故意整得不对付
avatar
b*g
4
thanks a lot for your share!
bless you strongly.
avatar
s*c
5
niu,pai

【在 l******7 的大作中提到】
: 好奇问问。
: 大约一个月前,一CVS藏着的香草卡被我发现了,于是我每个星期买2张,一般周五买。
: 每次我都是几乎不留痕迹地从藏着的地方抽2张出来,今天去看到就剩最后一张,游戏
: 咱玩完了。

avatar
d*a
6
Dell 的显示器贴牌的吧
我的dell只有mini dp接口
买了个国产 mini dp到hdmi vga dvi 转换器
试过很多显示器和projector
从无问题
avatar
f*t
7
bless
除了第一面的第5题,没啥特别的题
avatar
u*n
8
我发觉真有人这么干,有的时候要检查一下货架深处是否有,突然发现还有一个
avatar
a*e
9
dock驱动的问题吧?

★ 发自iPhone App: ChinaWeb 1.1.4

【在 h********o 的大作中提到】
: 换了dell的笔记本 为了避免兼容性问题 特地买了dell的显示器 还他妈两个 搞了个
: dell docking station 就是怕不兼容 结果你猜怎么着 那个神奇的DP输出打死都不工
: 作 在网上搜了半天 一堆人complain 想让它工作比找个二奶还难 我他妈怀疑dell里面
: 做显示器的和做笔记本的人不和 闹矛盾 故意整得不对付

avatar
n*r
10
bless~

冲突

【在 l****p 的大作中提到】
: 两通电话,每个45min,到最后两个都超时
: 第一通电话:
: 1、指定我简历中的一篇一作文章,让我描述那文章里的内容
: 2、如何从一个只含有ASCII字符的字符串中找出最频繁的字符
: 我说用哈希表记录每个字符出现次数,然后他又补充问到哈希表是怎么工作的,我说包
: 括哈希函数和冲突处理两部分,并简述了一下,说由于字符不太多,可以用链表处理冲突
: 3、如果这个字符串含有32位Unicode字符的串,如何修改之前的算法
: 我说为了节省空间,可以把冲突处理方式改成rehashing
: 4、如果一个同事提出用一个array来记录各个字符的次数,比较你的算法和该同事算
: 法的优劣

avatar
a*0
11
好像有个词专门形容这个。。

【在 u***n 的大作中提到】
: 我发觉真有人这么干,有的时候要检查一下货架深处是否有,突然发现还有一个
avatar
N*d
12
自从用DOCK,我的电脑就毛病不断。
avatar
h*6
13
请问是申请的2012暑期实习?这么早就开始了?
avatar
F*r
14
我说我藏的香草卡怎么每周五就会少两张,原来是你拿的!

【在 l******7 的大作中提到】
: 好奇问问。
: 大约一个月前,一CVS藏着的香草卡被我发现了,于是我每个星期买2张,一般周五买。
: 每次我都是几乎不留痕迹地从藏着的地方抽2张出来,今天去看到就剩最后一张,游戏
: 咱玩完了。

avatar
h*g
15
dell有的笔记本都是台湾代工厂一条龙服务吧,设计也包了。

【在 h********o 的大作中提到】
: 换了dell的笔记本 为了避免兼容性问题 特地买了dell的显示器 还他妈两个 搞了个
: dell docking station 就是怕不兼容 结果你猜怎么着 那个神奇的DP输出打死都不工
: 作 在网上搜了半天 一堆人complain 想让它工作比找个二奶还难 我他妈怀疑dell里面
: 做显示器的和做笔记本的人不和 闹矛盾 故意整得不对付

avatar
l*p
16
是啊,我也很奇怪

【在 h******6 的大作中提到】
: 请问是申请的2012暑期实习?这么早就开始了?
avatar
b*e
17
LOL, 太好玩了,你们。
avatar
h*n
18
第五题可以用DHT(Distributed hash table)吧
avatar
l*7
19
告我你的zip,不然不是你,哈哈

【在 F*******r 的大作中提到】
: 我说我藏的香草卡怎么每周五就会少两张,原来是你拿的!
avatar
l*p
20
当时头脑中有闪过用MapReduce,但觉得应该挺耗带宽的,就没往那个方向继续想,现
在觉得用MapReduce稍微优化一下应该可用。

【在 h****n 的大作中提到】
: 第五题可以用DHT(Distributed hash table)吧
avatar
l*7
21
要想完成卡的任务,每家店得多翻翻,哈

【在 u***n 的大作中提到】
: 我发觉真有人这么干,有的时候要检查一下货架深处是否有,突然发现还有一个
avatar
q*x
22
就是map/reduce吧。跟统计词频的经典例子差不多。

【在 l****p 的大作中提到】
: 当时头脑中有闪过用MapReduce,但觉得应该挺耗带宽的,就没往那个方向继续想,现
: 在觉得用MapReduce稍微优化一下应该可用。

avatar
u*n
23
没有人藏香草卡,因为这里似乎很少有人买
倒是其他的deal的玩意有人藏,货架深处,如果你就看个表面的话看不到

【在 l******7 的大作中提到】
: 要想完成卡的任务,每家店得多翻翻,哈
avatar
l*p
24
我一直觉得这个能做到比经典的用MapReduce统计词频算法更省带宽,因为它最终结果
只要一个字符,而不是各个字符的频繁。我在面试时先想到的是全局最频繁应该是各个
局部最频繁之一,这样只要比较各个局部最频繁字符的全局频率。但后来被面试官举出
反例

【在 q****x 的大作中提到】
: 就是map/reduce吧。跟统计词频的经典例子差不多。
avatar
x*g
25
其他地方还有藏, 你再找~~

【在 l******7 的大作中提到】
: 好奇问问。
: 大约一个月前,一CVS藏着的香草卡被我发现了,于是我每个星期买2张,一般周五买。
: 每次我都是几乎不留痕迹地从藏着的地方抽2张出来,今天去看到就剩最后一张,游戏
: 咱玩完了。

avatar
q*x
26
of course wrong. the total #1 may not be a subject # 1.

【在 l****p 的大作中提到】
: 我一直觉得这个能做到比经典的用MapReduce统计词频算法更省带宽,因为它最终结果
: 只要一个字符,而不是各个字符的频繁。我在面试时先想到的是全局最频繁应该是各个
: 局部最频繁之一,这样只要比较各个局部最频繁字符的全局频率。但后来被面试官举出
: 反例

avatar
r*i
27
今天路过一家cvs离家10mile左右,发现好多香草,不过一次只让买2张。家周围的
5mile内的3家cvs基本上每次香草上货,1周内闭售罄。看来以后要扩大搜索范围,向城
乡结合带挺进了。。。
avatar
j*x
28
什么叫带宽有限,不能传haSh,是说任何2台机器都不能传?还是什么!
带宽受限定义不确切,没法作,
MR之类的跟这题毫无关系。。。
avatar
p*n
29
有没有全拿下? 又藏又找的太麻烦。 应该直接抱回家, 想要买的时候取2张到附近的
CVS直接check out. 手里一直有货, 不怕卖光, 哈哈

【在 r*******i 的大作中提到】
: 今天路过一家cvs离家10mile左右,发现好多香草,不过一次只让买2张。家周围的
: 5mile内的3家cvs基本上每次香草上货,1周内闭售罄。看来以后要扩大搜索范围,向城
: 乡结合带挺进了。。。

avatar
r*3
30
有办法,把两台机器的CPU拆下了,组装到一台机器,这样就不用网络带宽了。

【在 j********x 的大作中提到】
: 什么叫带宽有限,不能传haSh,是说任何2台机器都不能传?还是什么!
: 带宽受限定义不确切,没法作,
: MR之类的跟这题毫无关系。。。

avatar
t*n
31
don't do that, it is called store lifting, even the card has no cash value
filled, the cards themselves are belong to the store before the purchase is
made.

【在 p****n 的大作中提到】
: 有没有全拿下? 又藏又找的太麻烦。 应该直接抱回家, 想要买的时候取2张到附近的
: CVS直接check out. 手里一直有货, 不怕卖光, 哈哈

avatar
b*e
32
"如何把多个字符串连接成一个字符串选择一个分界符,并在各个字符串中escape"
能否把这题解释一下吗? 什么是“并在各个字符串中escape” ?多谢。
avatar
l*p
33
你就直接理解成不能把任何一台机器的本地结果全部传到另外一台机器上就是了。我只
是凭记忆分享一下面经,你这么激动干嘛,又不是非得让你做

【在 j********x 的大作中提到】
: 什么叫带宽有限,不能传haSh,是说任何2台机器都不能传?还是什么!
: 带宽受限定义不确切,没法作,
: MR之类的跟这题毫无关系。。。

avatar
l*p
34
我当时的回答是:比如选择空格当各个字串之间的分界符,这样必须把字符本来含有的
空格给去掉,比如用“\b”之类。然后面试官又追问,那么“\”怎么办,我说用两个“\”
代替

【在 b***e 的大作中提到】
: "如何把多个字符串连接成一个字符串选择一个分界符,并在各个字符串中escape"
: 能否把这题解释一下吗? 什么是“并在各个字符串中escape” ?多谢。

avatar
g*n
35
yep. emule kad might be one solution.

【在 h****n 的大作中提到】
: 第五题可以用DHT(Distributed hash table)吧
avatar
r*g
36
Hi
想问下怎么实现一个PeekingIterator,谢谢了
avatar
j*x
37
我没激动,我只是陈述事实

【在 l****p 的大作中提到】
: 你就直接理解成不能把任何一台机器的本地结果全部传到另外一台机器上就是了。我只
: 是凭记忆分享一下面经,你这么激动干嘛,又不是非得让你做

avatar
j*x
38
这样就无解了,缺任何一个字符的结果,最坏情况下都会影响最后的结果

【在 l****p 的大作中提到】
: 你就直接理解成不能把任何一台机器的本地结果全部传到另外一台机器上就是了。我只
: 是凭记忆分享一下面经,你这么激动干嘛,又不是非得让你做

avatar
c*c
39
thx~~
我一般最后一个问题都会事先看看公司新出了什么东西 然后问问面试官对这个的了解
我前段时间问amazon的是EC2的问题 面试官貌似还挺有兴趣的跟我聊了下
avatar
l*p
40
这是我当时的实现:
class PeekingIterator{
private Iterator it;
private Object next = null;
public PeekingIterator(Iteractor it){
this.it = it;
}
public boolean hasNext(){
return next !=null || it.hasNext();
}
public Object next(){
if(next != null)
{
Object result = next;
next = null;
return retsult;
}else{
return it.next();
}
}
public Object peek(){
if(next == null)
next = it.next();
return next;
}
}

【在 r*******g 的大作中提到】
: Hi
: 想问下怎么实现一个PeekingIterator,谢谢了

avatar
l*p
41
这主意不错



【在 c**c 的大作中提到】
: thx~~
: 我一般最后一个问题都会事先看看公司新出了什么东西 然后问问面试官对这个的了解
: 我前段时间问amazon的是EC2的问题 面试官貌似还挺有兴趣的跟我聊了下

avatar
b*g
42
问一下第3题,为啥要修改之前第2题的算法? 用chain不是不错啊。

冲突

【在 l****p 的大作中提到】
: 两通电话,每个45min,到最后两个都超时
: 第一通电话:
: 1、指定我简历中的一篇一作文章,让我描述那文章里的内容
: 2、如何从一个只含有ASCII字符的字符串中找出最频繁的字符
: 我说用哈希表记录每个字符出现次数,然后他又补充问到哈希表是怎么工作的,我说包
: 括哈希函数和冲突处理两部分,并简述了一下,说由于字符不太多,可以用链表处理冲突
: 3、如果这个字符串含有32位Unicode字符的串,如何修改之前的算法
: 我说为了节省空间,可以把冲突处理方式改成rehashing
: 4、如果一个同事提出用一个array来记录各个字符的次数,比较你的算法和该同事算
: 法的优劣

avatar
l*p
43
其实那个我当时也觉得不需要改,既然他让改,那就小改点。我估计他期望我第二题用
array实现,然后提出第3题问我怎么改算法,没想到我第2题就直接用hash,却继续按
准备好的问题问我

【在 b******g 的大作中提到】
: 问一下第3题,为啥要修改之前第2题的算法? 用chain不是不错啊。
:
: 冲突

avatar
H*M
44
我也没明白什么叫hash不能在两台机器中传?
hash后ascii只有狠小的array,mapreduce的话,中间shuffle带宽肯定比这多

【在 l****p 的大作中提到】
: 你就直接理解成不能把任何一台机器的本地结果全部传到另外一台机器上就是了。我只
: 是凭记忆分享一下面经,你这么激动干嘛,又不是非得让你做

avatar
l*p
45
这个是针对32位unicode的,用hash来存32位unicode字符的记数,这个hash可能会很大

【在 H*M 的大作中提到】
: 我也没明白什么叫hash不能在两台机器中传?
: hash后ascii只有狠小的array,mapreduce的话,中间shuffle带宽肯定比这多

avatar
b*b
46
3、如果这个字符串含有32位Unicode字符的串,如何修改之前的算法
这个为什么节省空间了
avatar
Y*B
47
1 面的6:给定了个整型数组,建立一个binary search tree
如果array不是sorted怎么建? 有什么其它的条件么? 如果没有,这个建出来的BST可能
有很多情况的.
avatar
v*a
48

冲突
多谢分享!比atoi有意思多了。。。。
感觉32位Unicode字符统计BST或许会好点。
分布的情况貌似可以这样:
1)所有机器的Top 1% freqent unicodes. 得到这些集合的交集 X。
2)如果 X 是空集,扩展到2%,重做,直到X不是空集。
3)频率最高的在 X 中,统计X中所有unicodes的频率,取最高
肯定code不出来了,涉及到了BST, Heap, Hash, Disjoint Set and splay tree.
而且最坏情况还是传输了所有机器的 BST……比 hash 还糟糕点,呵呵
攒点字数,RP守恒!

【在 l****p 的大作中提到】
: 两通电话,每个45min,到最后两个都超时
: 第一通电话:
: 1、指定我简历中的一篇一作文章,让我描述那文章里的内容
: 2、如何从一个只含有ASCII字符的字符串中找出最频繁的字符
: 我说用哈希表记录每个字符出现次数,然后他又补充问到哈希表是怎么工作的,我说包
: 括哈希函数和冲突处理两部分,并简述了一下,说由于字符不太多,可以用链表处理冲突
: 3、如果这个字符串含有32位Unicode字符的串,如何修改之前的算法
: 我说为了节省空间,可以把冲突处理方式改成rehashing
: 4、如果一个同事提出用一个array来记录各个字符的次数,比较你的算法和该同事算
: 法的优劣

avatar
z*n
49
go through the array, and insert the elements into BST one by one.

【在 Y**B 的大作中提到】
: 1 面的6:给定了个整型数组,建立一个binary search tree
: 如果array不是sorted怎么建? 有什么其它的条件么? 如果没有,这个建出来的BST可能
: 有很多情况的.

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