由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 面试 Expectation 问题
相关主题
租房网电面一题问几个关于hash, map, set的问题
电话及onsite面试的一些小提示弱弱的问问hash, hashtable?
面C++的时候,如果要用到hash实现,大家都是怎么做的?问个C++里面用hash table的问题
大家windows下面用什么写C程序的?leetcode 3sum c++解法超时
请教几个电面题leetcode 大侠,把 C++11 support 加上吧
攒人品,发amazon第一轮面筋请教word ladder解法,大test超时
white board coding的时候如果遇到hash tableSurrounded Regions
std::unordered_map 和 Java的Hashmap有啥米区别请问:C++里一般用什么做hashtable?
相关话题的讨论汇总
话题: unordered话题: key话题: value话题: file
进入JobHunting版参与讨论
1 (共1页)
x******u
发帖数: 259
1
面试中一道题是这样的。
100 G file, everyline is a key,value comma separated , return the non-
redundant key value pairs.
我的问题是,如果我用C++答题。 面试官是否要考我 parsing file line by line?
or just I can assume input as a vector? 这题用unordered_map 成吗?有更好办法
吗?
a******u
发帖数: 69
2
遇到这种题你先要问面试官,有多少G的内存可以使用。
比如说10G。
这时你就要把这个100G的文件分成10个10G的部分。
然后对每一部分由小到大排序,顺便删掉重复的key, value pair。
然后你得到了10组文件F0, F1, ..., F9。每组里面都是non-redundant的。
但组与组之间还是会有redundant。
这时你就从每组中各拿排序后最前面的1G的key, value出来,塞进内存里。
然后内存里就有了10个1G的sorted array: A[0], A[1], ..., A[9].
每次取A[0], A[1], ..., A[9]的最前面的key,value值:A[0].front(), A[1].front(
), ..., A[9].front()。然后这个10个key,value里找出最小的值。然后把该值输出。
然后把A[0].front(), A[1].front(), ..., A[9].front()跟该值相同的值pop出来。
如果某个A[i]为空,则从对应的文件Fi读取1G的key-value出来。
直到把所有文件F都读出来为止。
p*****2
发帖数: 21240
3
这个做sharding也可以吧?是不是更容易?比排序要简单吧?

front(

【在 a******u 的大作中提到】
: 遇到这种题你先要问面试官,有多少G的内存可以使用。
: 比如说10G。
: 这时你就要把这个100G的文件分成10个10G的部分。
: 然后对每一部分由小到大排序,顺便删掉重复的key, value pair。
: 然后你得到了10组文件F0, F1, ..., F9。每组里面都是non-redundant的。
: 但组与组之间还是会有redundant。
: 这时你就从每组中各拿排序后最前面的1G的key, value出来,塞进内存里。
: 然后内存里就有了10个1G的sorted array: A[0], A[1], ..., A[9].
: 每次取A[0], A[1], ..., A[9]的最前面的key,value值:A[0].front(), A[1].front(
: ), ..., A[9].front()。然后这个10个key,value里找出最小的值。然后把该值输出。

x******u
发帖数: 259
4
嗯,学习了。谢谢解惑:)
g********r
发帖数: 89
5
mark

non-

【在 x******u 的大作中提到】
: 面试中一道题是这样的。
: 100 G file, everyline is a key,value comma separated , return the non-
: redundant key value pairs.
: 我的问题是,如果我用C++答题。 面试官是否要考我 parsing file line by line?
: or just I can assume input as a vector? 这题用unordered_map 成吗?有更好办法
: 吗?

s*****4
发帖数: 25
6
能不能用unordered_set这样做呢?
1. 假设有1G内存, 且unordered_set需要0.5G内存, 则把100G file分成20分, 每个0.
5G, 如此一来, 内存能装的下一个unordered_map和一个0.5G file
2. 接下一次读一个0.5G file进内存, 并把此file中所有line(key value pair)丢入
unordered_set
3. 依序处理这20个files(用他们update同一个unordered_set), 最终结果就在
unordered_set里
1 (共1页)
进入JobHunting版参与讨论
相关主题
请问:C++里一般用什么做hashtable?请教几个电面题
请问C/C++里面如何使用hash攒人品,发amazon第一轮面筋
关于Hash_mapwhite board coding的时候如果遇到hash table
T家电面面经并且不解为何被秒拒std::unordered_map 和 Java的Hashmap有啥米区别
租房网电面一题问几个关于hash, map, set的问题
电话及onsite面试的一些小提示弱弱的问问hash, hashtable?
面C++的时候,如果要用到hash实现,大家都是怎么做的?问个C++里面用hash table的问题
大家windows下面用什么写C程序的?leetcode 3sum c++解法超时
相关话题的讨论汇总
话题: unordered话题: key话题: value话题: file