由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 新鲜夫家onsite面经
相关主题
昨天的F家店面Yelp 面经
ebay skype interview面经(4轮)这个BST题目为何错了?
请教一个fb面试问题google面试有问protocol buffer嘛
请教一个函数默认返回值的问题,纠结很久了请教一个OOP的C++问题
求一面试题解答问个数组相关的题
计算expression的函数onsite后瑞库特发的一段话,能读出啥信息不?
SQL run a stored procedure by fetching from a cursor row by (转载)count and say的输入输出可能一样吗?F考过的?
Stack的Top方法可以返回const引用么?问一道老题
相关话题的讨论汇总
话题: buffer话题: size话题: currentpos话题: fetch10k话题: int
进入JobHunting版参与讨论
1 (共1页)
c**y
发帖数: 73
1
1. 大数乘法
给定两个非常大的数,写出一个函数返回它们的乘积。可以自己定义需要用到的数据结
构来表示每个数。我用了vector。
2. 系统设计的问题。
给定一个数据中心,如何收集statistics在给定的时间范围(t0,t1)。
这是系统设计题,没啥代表性。
3. 给定一个点,找出一百万个点中距离这个点最近的k个点。
用heap来存当前最近的k个点,然后scan这一百万个点一遍。
4. 给定一个函数fetch10k(),要求实现另外一个函数fetch()。这个题的说明比较复杂
,最后没有写完。具体说明如下。
fetch10k()是给定的,signature如下。
int fetch10k(char *buffer)
这个函数干的事情是从底层读出数据,写到传入的buffer中。这个buffer是一个默认
10k bytes大小的空buffer。返回类型int,返回写入后buffer中数据的size。
注意返回的数据大小和底层的数据大小有关。如果底层数据size是0,那么返回也是0,
因为buffer里什么也没有写。
如果底层数据是小于10k,例如5k,那么返回值是5k,因为只有5k的数据,并且全部写
到10k的空buffer中去了。
如果底层数据是大于或者等于10k,那么返回值是10k。因为10k的数据被写入到buffer
中。注意每次在call这个函数的时候,底层数据的指针也被移动,使得连续的fetch10k
的call读出连续的底层数据。
要求用fetch10k实现的函数fetch(),signature如下。
int fetch(int size, char *buffer)
这里size是指定希望读出的数据大小,buffer是用来存放读出的数据的(假设足够大)
。返回值int是实际从底层数据读出的数据大小。
给几个例子说明可能返回的情况。
(1)size = 8k,但是底层数据只有2k,那么返回值是2k。
(2)size = 8k,底层数据有20k,那么返回值是8k。
(3)size = 8k,底层数据是0,那么返回值是0。
另外一个很重要的要求是能够用这个函数连续从地底读出一段数据。下面是个例子。
底层数据一共有24k,要求能够用三个fetch(8k,buffer)把这个24k的数据读出来。在这
三次fetch的call中,每次读出8k的数据,放到指定的位置(通过buffer)。对于这个
要求,需要特别考虑在一次fetch10k的call中,如何把剩余的2k的数据保留下来,并且
提供给下一次的fetch的call。
好吧,刚开始没有考虑到最后的那个要求,给了一个解法。后他指出我的解法不满足最
后的那个条件。我就改了code,没改完时间就到了。
这个题模糊的地方太多了。
h*****a
发帖数: 1718
2
多谢。能详细说说2么?是说只处理timestamp在一定范围内的数据?
3直接这样做应该没错,但现实中的优化可能是要对空间进行一下划分。这个看面试人
的要求了。

【在 c**y 的大作中提到】
: 1. 大数乘法
: 给定两个非常大的数,写出一个函数返回它们的乘积。可以自己定义需要用到的数据结
: 构来表示每个数。我用了vector。
: 2. 系统设计的问题。
: 给定一个数据中心,如何收集statistics在给定的时间范围(t0,t1)。
: 这是系统设计题,没啥代表性。
: 3. 给定一个点,找出一百万个点中距离这个点最近的k个点。
: 用heap来存当前最近的k个点,然后scan这一百万个点一遍。
: 4. 给定一个函数fetch10k(),要求实现另外一个函数fetch()。这个题的说明比较复杂
: ,最后没有写完。具体说明如下。

r*****e
发帖数: 792
3
第三题我昨天也被问了,总体感觉比我的要难啊。
第一题为了以防万一做了好几遍,onsite的前一天还又看了一遍,就差背code了,
因为听说他们家爱问这个。不过没遇上。

【在 c**y 的大作中提到】
: 1. 大数乘法
: 给定两个非常大的数,写出一个函数返回它们的乘积。可以自己定义需要用到的数据结
: 构来表示每个数。我用了vector。
: 2. 系统设计的问题。
: 给定一个数据中心,如何收集statistics在给定的时间范围(t0,t1)。
: 这是系统设计题,没啥代表性。
: 3. 给定一个点,找出一百万个点中距离这个点最近的k个点。
: 用heap来存当前最近的k个点,然后scan这一百万个点一遍。
: 4. 给定一个函数fetch10k(),要求实现另外一个函数fetch()。这个题的说明比较复杂
: ,最后没有写完。具体说明如下。

c**y
发帖数: 73
4
因为是系统设计题,不要求写code,谈谈思路就行了。
我的proposal是不同时间段的data,用不同的gradunality存。比如过去24小时的data
,每分钟存一次。过去一个星期的data,每天存一次。过去每个月的data,每个星期存
一次。。。。
如果要的t0和t1是过去24小时内的,可以给出。如果超过,只能给出更粗线条的data了
。比如可以给出当日上午10点和11点间的data,但是没法给出去年同一日期上午10点和
11点间的data。

【在 h*****a 的大作中提到】
: 多谢。能详细说说2么?是说只处理timestamp在一定范围内的数据?
: 3直接这样做应该没错,但现实中的优化可能是要对空间进行一下划分。这个看面试人
: 的要求了。

c**y
发帖数: 73
5
最后一题是我目前经历过最难的题。遗憾面试的人不是老中。如果是的话,估计就不会
有最后的那个要求了。
也可能因为水平有限。觉得就会挂着这个题上面。

【在 r*****e 的大作中提到】
: 第三题我昨天也被问了,总体感觉比我的要难啊。
: 第一题为了以防万一做了好几遍,onsite的前一天还又看了一遍,就差背code了,
: 因为听说他们家爱问这个。不过没遇上。

h*****a
发帖数: 1718
6
其实这个题也算是个中频题,以前G常问。

【在 c**y 的大作中提到】
: 最后一题是我目前经历过最难的题。遗憾面试的人不是老中。如果是的话,估计就不会
: 有最后的那个要求了。
: 也可能因为水平有限。觉得就会挂着这个题上面。

r*****e
发帖数: 792
7
看你的题目描述就快累死了,这种题可能其实不难,但是理解起来就要花
好长时间,其实挺无聊的。碰上了也只能说运气不好了。

【在 c**y 的大作中提到】
: 最后一题是我目前经历过最难的题。遗憾面试的人不是老中。如果是的话,估计就不会
: 有最后的那个要求了。
: 也可能因为水平有限。觉得就会挂着这个题上面。

r*******e
发帖数: 7583
8
夫家是F?
最后一题就是著名的read1024()啊,G以前经常问,版上讨论过多次
这题很完整写出来没有错的都很不容易

buffer
fetch10k

【在 c**y 的大作中提到】
: 1. 大数乘法
: 给定两个非常大的数,写出一个函数返回它们的乘积。可以自己定义需要用到的数据结
: 构来表示每个数。我用了vector。
: 2. 系统设计的问题。
: 给定一个数据中心,如何收集statistics在给定的时间范围(t0,t1)。
: 这是系统设计题,没啥代表性。
: 3. 给定一个点,找出一百万个点中距离这个点最近的k个点。
: 用heap来存当前最近的k个点,然后scan这一百万个点一遍。
: 4. 给定一个函数fetch10k(),要求实现另外一个函数fetch()。这个题的说明比较复杂
: ,最后没有写完。具体说明如下。

s*********s
发帖数: 318
9
有read1024()的source code学习一下吗?

【在 r*******e 的大作中提到】
: 夫家是F?
: 最后一题就是著名的read1024()啊,G以前经常问,版上讨论过多次
: 这题很完整写出来没有错的都很不容易
:
: buffer
: fetch10k

t*q
发帖数: 104
10
Am I missing anything?
直接写不就好了,没觉得有啥tricky的地方啊

【在 r*******e 的大作中提到】
: 夫家是F?
: 最后一题就是著名的read1024()啊,G以前经常问,版上讨论过多次
: 这题很完整写出来没有错的都很不容易
:
: buffer
: fetch10k

相关主题
计算expression的函数Yelp 面经
SQL run a stored procedure by fetching from a cursor row by (转载)这个BST题目为何错了?
Stack的Top方法可以返回const引用么?google面试有问protocol buffer嘛
进入JobHunting版参与讨论
r*******e
发帖数: 7583
11
这题有两种问法,给定read1024()
一个是让实现readline(),在这里有过讨论:
http://www.mitbbs.com/article_t/JobHunting/32101029.html
另一个是实现read(int size)读任意大小,好像更麻烦一些

【在 s*********s 的大作中提到】
: 有read1024()的source code学习一下吗?
g*******s
发帖数: 2963
12
第三题这种要用heap的一般可以直接调用priority_queue么?
还是要自己写个queue的实现?
r*******e
发帖数: 7583
13
的确不难,不过按照另外一个贴里说标准是每小时做三道
你可以写一下,看15分钟能不能做到bug free

【在 t*q 的大作中提到】
: Am I missing anything?
: 直接写不就好了,没觉得有啥tricky的地方啊

c**y
发帖数: 73
14
看来还是复习的不够。。。
a***n
发帖数: 538
15
这么难啊。比我2个月前面的时候感觉难了一个数量级。我有一道很简单的设计题没有
答出来。
h*****a
发帖数: 1718
16
呵呵,看来我随口一说又是躺着中枪了,怎么每小时3道成标准了?
说实话,面G的话,还真是做得快就多给你一道题,做的越多最后就越impressive,就
越容易拿offer. 有时候你虽然做出来了正确solution,但同一个面试官在面试别人的
时候另外的人用的时间更少,这当然会让人觉得你水平不够啊。

【在 r*******e 的大作中提到】
: 的确不难,不过按照另外一个贴里说标准是每小时做三道
: 你可以写一下,看15分钟能不能做到bug free

a*****n
发帖数: 158
17
最后一题,,用一个静态变量存当前的指针不就行料吗 ??? 第2题有现成的实现,,看一下
OPENTSDB..
r**h
发帖数: 1288
18
最后一题我的想法是,根据fetch10k的返回值是否是10k,以及当前size是否大于
fetch10k的返回值分四种情况讨论。每次用fetch10k取出数据放到临时buf里,然后再
根据情况从临时buf拷贝相应的长度到总buf里,并记录从开始读取为止已经读的总size。
不过那个额外条件我不是很理解怎么做:按理说静态的文件指针应该是包含在fetch10k
里面不能被访问到,也就是说不能通过seek或者回退指针的方法来暂存已经被读出的数
据。这时候应该是需要另外一个buf来hold住被读出但是没有被使用过的部分,或者当
前buf完全存下10k数据,但是要有一个额外的变量来指明当前buf的实际大小这样下次
call的时候可以先检查当前buf可用的部分。
不过根据函数的signature不知道如何把这些额外的信息返回来供下次使用,难道是要
用全局变量或者静态变量吗?
r*******e
发帖数: 7583
19
嗯,需要一个全局或者静态变量

size。
fetch10k

【在 r**h 的大作中提到】
: 最后一题我的想法是,根据fetch10k的返回值是否是10k,以及当前size是否大于
: fetch10k的返回值分四种情况讨论。每次用fetch10k取出数据放到临时buf里,然后再
: 根据情况从临时buf拷贝相应的长度到总buf里,并记录从开始读取为止已经读的总size。
: 不过那个额外条件我不是很理解怎么做:按理说静态的文件指针应该是包含在fetch10k
: 里面不能被访问到,也就是说不能通过seek或者回退指针的方法来暂存已经被读出的数
: 据。这时候应该是需要另外一个buf来hold住被读出但是没有被使用过的部分,或者当
: 前buf完全存下10k数据,但是要有一个额外的变量来指明当前buf的实际大小这样下次
: call的时候可以先检查当前buf可用的部分。
: 不过根据函数的signature不知道如何把这些额外的信息返回来供下次使用,难道是要
: 用全局变量或者静态变量吗?

g**G
发帖数: 767
20
同问,如果用Priority queue的话,是不是得写个wrapper,把超出大小的就边扫边丢
掉了

【在 g*******s 的大作中提到】
: 第三题这种要用heap的一般可以直接调用priority_queue么?
: 还是要自己写个queue的实现?

相关主题
请教一个OOP的C++问题count and say的输入输出可能一样吗?F考过的?
问个数组相关的题问一道老题
onsite后瑞库特发的一段话,能读出啥信息不?再来一道简单的bit运算题
进入JobHunting版参与讨论
s**x
发帖数: 7506
21
mark
m*****e
发帖数: 7
22
knn is my most favorite interview question to interviewee. But if you do it
in such a brute-force way, you are dead. :)

【在 c**y 的大作中提到】
: 看来还是复习的不够。。。
c*********m
发帖数: 43
23
最后一题写了个,大家看看有啥bug没
#define MAX_BUFFER_SIZE 10 * 1024
extern int fetch10k(char *buffer);
char temp[MAX_BUFFER_SIZE + 1];
int fetch(int size, char *buffer)
{
assert(size > 0 && buffer != NULL);
static int currentPos = 0;

string s;
int currSize = 0;
static int len = 0;

while (1)
{
if (currentPos != len)
{
int i;

for (i = currentPos; i < len; i++)
{
s += temp[i];
if (++currSize == size)
{
currentPos = i + 1;
break;
}
}

if (currSize == size)
break;
else
currentPos = len;
}
else
{
len = fetch10k(temp);
currentPos = 0;
if (len == 0)
break;
}
}

if (s.size() == 0)
return 0;
else
{
strcpy(buffer, s.c_str());
return s.size();
}
}
w******j
发帖数: 185
24
请问楼主可以透露一下是在哪里面的吗?另外是general hire,还是一个组?
谢谢....
1 (共1页)
进入JobHunting版参与讨论
相关主题
问一道老题求一面试题解答
再来一道简单的bit运算题计算expression的函数
google onsite杯具+设计题怎么答SQL run a stored procedure by fetching from a cursor row by (转载)
SEO题目Stack的Top方法可以返回const引用么?
昨天的F家店面Yelp 面经
ebay skype interview面经(4轮)这个BST题目为何错了?
请教一个fb面试问题google面试有问protocol buffer嘛
请教一个函数默认返回值的问题,纠结很久了请教一个OOP的C++问题
相关话题的讨论汇总
话题: buffer话题: size话题: currentpos话题: fetch10k话题: int