由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 过去n小时的top search
相关主题
分别用LinkedList和HashMap构建字典树(Compact Trie)怎么做Uber 电面
关于heapFacebook Interview Questions
Yelp面经+题目讨论一道关于trie的题目
一道design题Data Structure 一题.
twittier的onsite挂了,来问个常见题面试题:Data structure to find top 10 search strings
上午偷闲把TopKFrequentWords写出来了find top K most occurring words in streaming data 这题怎么做比较好
再上到题请教一个面试题
看一条L的面试题LCA of binary tree的一行CODE不懂。。leetcode上的,请牛牛指教,
相关话题的讨论汇总
话题: hashmap话题: heap话题: 节点话题: min话题: node
进入JobHunting版参与讨论
1 (共1页)
Q****a
发帖数: 296
1
这个怎么实现比较好,求大牛们指教
p*****2
发帖数: 21240
2
spark

【在 Q****a 的大作中提到】
: 这个怎么实现比较好,求大牛们指教
Q****a
发帖数: 296
3
二爷,面试中不能这么说吧。。。求个相关link吧,我记得以前看到过类似的问题,现
在一时搜不到了。。。

【在 p*****2 的大作中提到】
: spark
p*****2
发帖数: 21240
4
我觉得面试可以呀 如果真是项目实际问题 有轮子当然要用了

【在 Q****a 的大作中提到】
: 二爷,面试中不能这么说吧。。。求个相关link吧,我记得以前看到过类似的问题,现
: 在一时搜不到了。。。

f*******w
发帖数: 1243
5
同求好的idea,之前在版上也问过,在网上也没找着好的解法
我能想到的是用queue和hash来maintain time window,然后需要return的时候扫一遍
hash找top k...
时间和空间复杂度都很高
q********c
发帖数: 1774
6
stream processing典型应用,上kafka+storm或者spark.

【在 f*******w 的大作中提到】
: 同求好的idea,之前在版上也问过,在网上也没找着好的解法
: 我能想到的是用queue和hash来maintain time window,然后需要return的时候扫一遍
: hash找top k...
: 时间和空间复杂度都很高

f*******w
发帖数: 1243
7

用轮子是好,可是有时候面试官会问具体用什么数据结构实现啊

【在 q********c 的大作中提到】
: stream processing典型应用,上kafka+storm或者spark.
q********c
发帖数: 1774
8
那你就看看他们具体是怎么实现的。

【在 f*******w 的大作中提到】
:
: 用轮子是好,可是有时候面试官会问具体用什么数据结构实现啊

p********r
发帖数: 66
9
不知道数据量有多大,我们就当是内存存不下吧
1. 对数据进行划分,按照 hash(string) % k, 先处理一边文件,分成k个小文件 (对
同一个查询,分析一个小文件就能得到了)
2. 创建一个长度为n的 min-heap (n就是你要返回的最热门查询的个数)
3. 分析每一个文件,统计字符串对应的访问次数,可以用hashMap或者Trie树。
4. 根据统计结果更新min-heap
5. 排序
p********r
发帖数: 66
10
如果我去面Groupon可以这么回答吗? 哈哈

【在 p*****2 的大作中提到】
: spark
相关主题
上午偷闲把TopKFrequentWords写出来了Uber 电面
再上到题Facebook Interview Questions
看一条L的面试题一道关于trie的题目
进入JobHunting版参与讨论
p*****2
发帖数: 21240
11
可以 能做到这一步 已经比大多数人强了

【在 p********r 的大作中提到】
: 如果我去面Groupon可以这么回答吗? 哈哈
f*******w
发帖数: 1243
12

这个是文件已经给好的解法
如果是real time stream就不能这样了啊

【在 p********r 的大作中提到】
: 不知道数据量有多大,我们就当是内存存不下吧
: 1. 对数据进行划分,按照 hash(string) % k, 先处理一边文件,分成k个小文件 (对
: 同一个查询,分析一个小文件就能得到了)
: 2. 创建一个长度为n的 min-heap (n就是你要返回的最热门查询的个数)
: 3. 分析每一个文件,统计字符串对应的访问次数,可以用hashMap或者Trie树。
: 4. 根据统计结果更新min-heap
: 5. 排序

m*****k
发帖数: 731
p********r
发帖数: 66
14
这样的话,内存中得维持一个HashMap和min-heap 实时更新可以吗?
如果一个节点内存不够,还是使用相同的方法(hash(string) % k)把查询分配给多个
节点,每个节点用HashMap来统计
同时在主节点上维持一个min-heap
main node (min heap) -- node 1 (hashmap)
-- node 2 (hashmap)
...
-- node k (hashmap)
关键是处理同步问题,其它思路类似

【在 f*******w 的大作中提到】
:
: 这个是文件已经给好的解法
: 如果是real time stream就不能这样了啊

f*******w
发帖数: 1243
15

关键是不好更新
先不考虑内存不够的情况,光用hashmap和minheap是没法实现实时记录任意时刻前一个
小时的数据;你怎么删掉过期的数据?遍历一遍hash?

【在 p********r 的大作中提到】
: 这样的话,内存中得维持一个HashMap和min-heap 实时更新可以吗?
: 如果一个节点内存不够,还是使用相同的方法(hash(string) % k)把查询分配给多个
: 节点,每个节点用HashMap来统计
: 同时在主节点上维持一个min-heap
: main node (min heap) -- node 1 (hashmap)
: -- node 2 (hashmap)
: ...
: -- node k (hashmap)
: 关键是处理同步问题,其它思路类似

f*******w
发帖数: 1243
c******f
发帖数: 243
17
https://github.com/apache/spark/tree/master/examples/src/main/scala/org/
apache/spark/examples/streaming
基本就是这东西
最近组里要搞straeming, 这东西玩的很欢乐
g*********e
发帖数: 14401
18
很好,下一个问题,请简单设计一下spark 写点schedule算法

【在 p*****2 的大作中提到】
: 我觉得面试可以呀 如果真是项目实际问题 有轮子当然要用了
k***g
发帖数: 166
19
土人路过,你们是肿么知道spark可以解决这类问题的?求link学习下,谢谢
p*****2
发帖数: 21240
20
多向好虫半海学习
赵策也行

【在 k***g 的大作中提到】
: 土人路过,你们是肿么知道spark可以解决这类问题的?求link学习下,谢谢
1 (共1页)
进入JobHunting版参与讨论
相关主题
LCA of binary tree的一行CODE不懂。。leetcode上的,请牛牛指教,twittier的onsite挂了,来问个常见题
An interview question of finding the median in a moving window.上午偷闲把TopKFrequentWords写出来了
G家电面面经--佛云了~~再上到题
How to find the kth biggest number in a BST看一条L的面试题
分别用LinkedList和HashMap构建字典树(Compact Trie)怎么做Uber 电面
关于heapFacebook Interview Questions
Yelp面经+题目讨论一道关于trie的题目
一道design题Data Structure 一题.
相关话题的讨论汇总
话题: hashmap话题: heap话题: 节点话题: min话题: node