一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1463|回复: 22
收起左侧

fb电面

[复制链接] |试试Instant~ |关注本帖
zed 发表于 2015-10-21 11:18:55 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 硕士 全职@Facebook - Other - 技术电面 |Fail在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
上周六的电面,自我感觉还算顺利,但刚刚确定已经挂了
10.1假期一直在准备,不过之前没上这里,主要是按recruiter的推荐做了hackerrank,锻炼下做题的感觉
面试是一个白人小哥,没有太聊项目,接着做题。题目很简单:求两个sparse vector的dot product。
一开始我给出的使用unordered_map存储,中间想错了一点,但在提示下改回来了。
follow up:减少存储空间,我回答尝试用map,因为hash table需要reserve space for future use。然后他提到rb tree实现需要指针,空间也很浪费,后来我想到用heap存储。他说I like this solution。说了一下思路,没有要求写代码。. visit 1point3acres.com for more.
follow up+: 如果两个数组都是sorted,怎么做?我自然想到了遍历其中一个vector pairs,然后二分查找。二分查找没要求写,时间已经差不多了。
然后就是q&a。

挂的有点稀里糊涂,正在套recruiter的评价。. From 1point 3acres bbs

评分

3

查看全部评分

JamesJi 发表于 2015-10-22 01:10:11 | 显示全部楼层
楼主用的语言不是java吧?
回复 支持 反对

使用道具 举报

junjunkate 发表于 2015-10-22 04:42:55 | 显示全部楼层
。。表示被问了一模一样的题目。。同样是跪了。。lz uiuc的?
回复 支持 反对

使用道具 举报

nuanuan1208 发表于 2015-10-22 05:12:48 | 显示全部楼层
楼长是第一面吗?太诡异了,感觉是不是面试官不太nice?。。。
回复 支持 反对

使用道具 举报

 楼主| zed 发表于 2015-10-22 08:39:36 来自手机 | 显示全部楼层
我用的是c++。国内土鳖,工作有一段时间.面试官表面上还是挺nice的。
回复 支持 反对

使用道具 举报

plich 发表于 2015-10-22 09:50:50 | 显示全部楼层
看来FB对于这种简单一些的题默认期待是写完基础要求……主要考核follow up的表现啊……

突然感觉这个follow up+和我碰到的那个intersection有相通之处啊……
回复 支持 反对

使用道具 举报

 楼主| zed 发表于 2015-10-22 10:27:16 | 显示全部楼层
plich 发表于 2015-10-22 09:50
看来FB对于这种简单一些的题默认期待是写完基础要求……主要考核follow up的表现啊……

突然感觉这个fol ...

问题是,follow up我也答出来了啊。
回复 支持 反对

使用道具 举报

plich 发表于 2015-10-22 11:48:17 | 显示全部楼层
zed 发表于 2015-10-22 10:27
问题是,follow up我也答出来了啊。
. more info on 1point3acres.com
那……或许是interviewer对于没机会问你第二道题有所不爽吧……
回复 支持 反对

使用道具 举报

returning 发表于 2015-10-22 15:25:14 | 显示全部楼层
没看明白heap怎么做,求详解。谢了。
回复 支持 反对

使用道具 举报

 楼主| zed 发表于 2015-10-22 18:19:49 | 显示全部楼层
returning 发表于 2015-10-22 15:25
没看明白heap怎么做,求详解。谢了。

把非零元素看成一个index-value的pair,然后对于每个向量建一个max heap。不断的pop其中root元素index较大的heap,直到两个heap中元素的index相等,加上这两个元素的乘积,继续pop。直到其中一个heap元素为空。
回复 支持 反对

使用道具 举报

 楼主| zed 发表于 2015-10-22 18:22:01 | 显示全部楼层
plich 发表于 2015-10-22 11:48
那……或许是interviewer对于没机会问你第二道题有所不爽吧……
. from: 1point3acres.com/bbs
有这种可能。不过好像也不是都问俩问题吧,虽然大部分的好像是
回复 支持 反对

使用道具 举报

returning 发表于 2015-10-23 01:14:18 | 显示全部楼层
zed 发表于 2015-10-22 18:19
把非零元素看成一个index-value的pair,然后对于每个向量建一个max heap。不断的pop其中root元素index较 ...
. 鍥磋鎴戜滑@1point 3 acres
为何要用heap呢,是因为array装不下很长的vector吗?heap每pop一个最大元素,都要重新调整heap,开销是lgN。
回复 支持 反对

使用道具 举报

 楼主| zed 发表于 2015-10-23 08:24:51 来自手机 | 显示全部楼层
不然就要sort array啊。其实复杂度应该是一样的
回复 支持 反对

使用道具 举报

 楼主| zed 发表于 2015-10-23 10:38:30 | 显示全部楼层
由于积分不够,不能回复消息,有问题就在这里问吧。我确实有六年以上的互联网工作经验,至于他们挑什么样的人给面试,这个只能问内部人了。
回复 支持 反对

使用道具 举报

whitesunday 发表于 2015-10-23 10:51:08 | 显示全部楼层
这题第二种解法里,应该有更好的算法。在sorted array里, 每个element还是包含index and value吗,比如vector<pair<int, double>> (in C++)?如果是这样的,应该可以用两个指针从头到尾扫一遍两个array,如果指针指向的element里面的第一个index相同的话,把它们对应的第二个值相乘,加到最后的乘积里就好了, 否则就把指向index小的那个指针向后挪一位。这个算法,时间复杂度是 O(N), 不需要对每个element,在另一个array里做二分查找。楼主是不是挂在了这里?
回复 支持 反对

使用道具 举报

 楼主| zed 发表于 2015-10-23 12:16:11 来自手机 | 显示全部楼层
对,你这种思路有点像我说的heap的那种思路。他也没让我找O(n)的方法呀。如果时间够应该可以想到的
回复 支持 反对

使用道具 举报

smallshrimp 发表于 2015-10-25 08:33:34 | 显示全部楼层
这题有什么问题吗?
sparse vector,有很多0
参看 princeton algorithm

我前两天yelp OA做到这题, 一共28分钟,前面用掉13分钟, 只有15分钟,搞的我紧张的一腿。。。
回复 支持 反对

使用道具 举报

gamespeed 发表于 2015-10-26 04:55:07 | 显示全部楼层
我觉得这个vector的非零元素可以用pair<index, value>来表示,然后给出的vector中元素按照index排序(如果给出的未排序,就排序)。然后两个指针指向两个vector中元素,如果两者的index相等就相乘并加到sum里,如果不等就让index较小的指针指向下一个元素。在vector已经按照Index排序的情况下,时间复杂度为O(N)
回复 支持 反对

使用道具 举报

gamespeed 发表于 2015-10-26 04:56:05 | 显示全部楼层
gamespeed 发表于 2015-10-26 04:55
我觉得这个vector的非零元素可以用pair来表示,然后给出的vector中元素按照index排序(如果给出的未排序, ...

如果未按照index排序,也可以像楼主说的一样用heap,每次取Index最小/大的元素
回复 支持 反对

使用道具 举报

hpplayer 发表于 2015-10-29 04:42:42 | 显示全部楼层
我不太懂C++,原始的输入数据的形式是怎么样?就是两个VECTOR?那不是把对应INDEX里的数相乘就好了,为什么要用MAP呢

补充内容 (2015-10-29 04:43):
这里的VECTOR就是相当于JAVA里的ARRAY吧

补充内容 (2015-10-29 04:47):
是不是原始的ARRAY里装的是PAIR,但是原始ARRAY不是根据PAIR的INDEX排序的,所以要用MAP
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-6 16:55

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表