一亩三分地论坛

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

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

Uber 面试经验

[复制链接] |试试Instant~ |关注本帖
xenophobic 发表于 2015-4-26 04:24:46 | 显示全部楼层 |阅读模式

2015(1-3月) 码农类 硕士 全职@Uber - 内推 - 技术电面 |Failfresh grad应届毕业生

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

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

x
Uber店面.. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
问了什么是RPC, 怎么实现的. Linux的file system的结构, 最后让我自己设计一个结构可以存很大的file.. 1point 3acres 璁哄潧
接下来是算法题: 有一个很长的list<pair<int, int> > 第一个int 的这个node的序号,第二个int 是这个node 的weight。 写一个函数返回node的序号, 比如:. more info on 1point3acres.com
(2, 3)->(3, 5)->(1, 7). 那么返回2的概率是(3/15), 3的概率是:(5/15),1 的概率


补充内容 (2015-9-4 13:12):
算法题,我后来琢磨了一下:
Basically divide the input list into two parts.

weight = (weithtUntilNow + thisNode.weight), so generate a random number, randWeight = [1, weight]. if this randWeight > ...

评分

4

查看全部评分

sidbai 发表于 2015-6-23 14:37:21 | 显示全部楼层
算法题C++实现
int random_node(vector<pair<int, int> >& node_array)
{
    int total_weight = 0;
    int ret = 0;
    for (auto node : node_array)
    {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
        total_weight += node.second;
        int rand_weight = rand() % total_weight;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
        // this makes the possibility to select the current node to be (node.second / total_weight)
        if (rand_weight >= 0 && rand_weight < node.second)
        {
            ret = node.first;
        }. From 1point 3acres bbs
    }
    return ret;
}
回复 支持 2 反对 0

使用道具 举报

houqingniao 发表于 2015-4-26 05:38:42 | 显示全部楼层
店面也要design啊?
第二题就是要返回每个node的概率吗?. 鍥磋鎴戜滑@1point 3 acres
回复 支持 反对

使用道具 举报

 楼主| xenophobic 发表于 2015-4-26 23:45:37 | 显示全部楼层
houqingniao 发表于 2015-4-26 05:38
店面也要design啊?
第二题就是要返回每个node的概率吗?

抱歉啊, 没有写清楚, 是要返回node的序号, 但不是等概率的返回, 概率要根据node 的weight 来计算
回复 支持 反对

使用道具 举报

cuiyang36 发表于 2015-4-27 01:45:58 | 显示全部楼层
感觉这种题现在好常考啊,解法好像是建array,然后再用binary search
回复 支持 反对

使用道具 举报

 楼主| xenophobic 发表于 2015-4-27 03:06:14 | 显示全部楼层
cuiyang36 发表于 2015-4-27 01:45. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
感觉这种题现在好常考啊,解法好像是建array,然后再用binary search

他后来告诉我不能用额外空间的
回复 支持 反对

使用道具 举报

cuiyang36 发表于 2015-4-27 03:42:55 | 显示全部楼层
xenophobic 发表于 2015-4-26 14:06
他后来告诉我不能用额外空间的
. 1point3acres.com/bbs
真的么。。那有点难想,纯数学问题了吧,后来他有没有给你hint?
回复 支持 反对

使用道具 举报

 楼主| xenophobic 发表于 2015-4-27 03:46:58 | 显示全部楼层
cuiyang36 发表于 2015-4-27 03:42.鐣欏璁哄潧-涓浜-涓夊垎鍦
真的么。。那有点难想,纯数学问题了吧,后来他有没有给你hint?

我的感觉是先遍历一下list,然后记录总的weights, 然后产生一个random number, 代表weight_th, 最后从头遍历找到weight_th落在哪个node,然后就返回那个node。不知道这样行不行的
回复 支持 反对

使用道具 举报

cuiyang36 发表于 2015-4-27 03:59:51 | 显示全部楼层
xenophobic 发表于 2015-4-26 14:46
我的感觉是先遍历一下list,然后记录总的weights, 然后产生一个random number, 代表weight_th, 最后从 ...

我觉得应该可以,就是牺牲时间减少空间了
回复 支持 反对

使用道具 举报

monsterhunter 发表于 2015-4-27 04:04:01 | 显示全部楼层
请问楼主 设计题 是怎么设计的?
回复 支持 反对

使用道具 举报

 楼主| xenophobic 发表于 2015-4-27 04:37:01 | 显示全部楼层
monsterhunter 发表于 2015-4-27 04:04-google 1point3acres
请问楼主 设计题 是怎么设计的?

我基本上不会那个。。。最后挂了。。
回复 支持 反对

使用道具 举报

fezfeng 发表于 2015-8-30 02:36:28 | 显示全部楼层
xenophobic 发表于 2015-4-27 03:46
我的感觉是先遍历一下list,然后记录总的weights, 然后产生一个random number, 代表weight_th, 最后从 ...

应该就是这样了,线性扫一遍,如果不能开额外空间。
回复 支持 反对

使用道具 举报

会编程的猪先生 发表于 2015-9-4 08:20:37 | 显示全部楼层
cuiyang36 发表于 2015-4-27 01:45
感觉这种题现在好常考啊,解法好像是建array,然后再用binary search
.鏈枃鍘熷垱鑷1point3acres璁哄潧
麻烦能具体讲讲嘛~
回复 支持 反对

使用道具 举报

airwindow 发表于 2015-10-9 23:02:16 | 显示全部楼层
想请教下lz我的想法对么..
1. scan the whole list to get total weight "weight_sum"
2. generate a radom weight "rand_weight" in [1 : weight_sum]
3. scan from from the front, find the first node meet following condition:    prenode_weight_sum < rand_weight <= node_weight_sum (其中weight_num表示到该node为止(inclusive) 所有已经被扫描过nodes的第二个值 node.get(2))
. 鍥磋鎴戜滑@1point 3 acres
补充内容 (2015-10-9 23:03):
有点typo~~不好意思
其中weight_num表示到该node为止(inclusive) 所有已经被扫描过nodes的第二个值 node.get(2) 的sum

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| xenophobic 发表于 2015-10-14 11:14:31 | 显示全部楼层
airwindow 发表于 2015-10-9 23:02
想请教下lz我的想法对么..
1. scan the whole list to get total weight "weight_sum"
2. generate a rad ...

你的思路是可以的,但是如果这个list是一个stream 就好像不行了,我写了一个blog, https://pingzhblog.wordpress.com/2015/09/12/weigthrandom/ 你可以参考一下哈
回复 支持 反对

使用道具 举报

pennlio 发表于 2015-11-9 01:02:58 | 显示全部楼层
好像是水塘抽样问题
水塘抽样
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-9 04:19

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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