聊聊跟三哥三姐面试和共事的经历

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 1695|回复: 5
收起左侧

uber 电面, 已跪

[复制链接] |试试Instant~ |关注本帖
caigaa 发表于 2015-11-8 06:35:34 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类General 博士 全职@Uber - 内推 - 技术电面  | Fail | fresh grad应届毕业生

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

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

x

电面连续被放两次鸽子,第三次跪了。。。

面的Infrastructure组

聊了下project
然后问会不会数据库, Nosql (不会)
用过cloud service吗,AWS之类的 (没有)
用过哪些语言
不知道是不是这些和组不match,所以挂的

就一道题:
         给定: [“a“,1], ["b",2],  ["c",3]  . 围观我们@1point 3 acres
         返回一个string, ”a“的概率1/6, b的概率,2/6, c的概率 3/6
. visit 1point3acres for more.
follow up,怎么确定结果是不是对的



. 围观我们@1point 3 acres

评分

1

查看全部评分

rayord 发表于 2015-11-8 06:42:59 | 显示全部楼层
解决思路应该就是随机数吧, 写一个累积数组,然后随机数(1~6),如果是[1,1],返回a,如果是[2,3],返回b,如果是[4,6],返回c. follow up: 运行10000次,统计输出结果,计算下概率看符合不应该就可以了。Uber好像都是算法+测试用例。
回复 支持 反对

使用道具 举报

 楼主| caigaa 发表于 2015-11-8 06:46:17 | 显示全部楼层
rayord 发表于 2015-11-8 06:42
解决思路应该就是随机数吧, 写一个累积数组,然后随机数(1~6),如果是[1,1],返回a,如果是[2,3],返回b ...

我就是这个思路做的。中间编译程序发现了两个typo。。。汗,太大意了
回复 支持 反对

使用道具 举报

likenisha 发表于 2015-11-29 01:10:15 | 显示全部楼层
啥都不会真的是蛋疼,LZ后来如哪儿了
回复 支持 反对

使用道具 举报

returning 发表于 2016-1-27 14:28:10 | 显示全部楼层
rayord 发表于 2015-11-8 06:42
解决思路应该就是随机数吧, 写一个累积数组,然后随机数(1~6),如果是[1,1],返回a,如果是[2,3],返回b ...

如果数据很大的话,随机生成的是[2,3],你怎么确定对应的是b? 存放的是interval到char的mapping?
其实可以换个角度,存放数字到char的mapping,1->a, 3->b,6->c, 然后随机生成float数,如果在0-1之间就返回a, 1-3之间就返回b,3-6之间就返回c,所以就是binary search了。
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-2-7 11:39:34 | 显示全部楼层
写了下code,
  1. public class RandomWithWeight {

  2.         static class  Node {
  3.                 String val;
  4.                 int weight;. 1point 3acres 论坛
  5.                 public Node(String val, int i) {
  6.                         this.val = val;
    -google 1point3acres
  7.                         this.weight = i;
  8.                 }
  9.         }
  10.         public static String getRandomWithWeight(Node[] nodes) {
  11.                 for (int i = 1; i < nodes.length; i++) {
  12.                         nodes[i].weight = nodes[i - 1].weight + nodes[i].weight;
  13.                 }
  14.                 int len = nodes.length;
  15.                 double index = Math.random() * nodes[len - 1].weight;. From 1point 3acres bbs
  16.                 int res = binarySearch(index, nodes);
  17.                 return nodes[res].val;
  18.         }
  19.         private static int binarySearch(double index, Node[] nodes) {
  20.                 int start = 0;
  21.                 int end = nodes.length;
  22.                 while (start + 1 < end) {
  23.                         int mid = (end - start) / 2 + start;.1point3acres网
  24.                         if (nodes[mid].weight  <= index) {
  25.                                 start = mid;
  26.                         } else {
  27.                                 end = mid;
  28.                         }
  29.                 }
  30.                 if (nodes[start].weight > index) {
  31.                         return start;. 留学申请论坛-一亩三分地
  32.                 } else {
  33.                         return end;
  34.                 }
  35.         }
  36.        
  37.         public static void main(String[] args) {
  38.                 int countA = 0;. from: 1point3acres
  39.                 int countB = 0;
  40.                 int countC = 0;. 1point3acres
  41.                 for (int i = 0; i < 6000; i++) {
  42.                         Node[] nodes = {new Node("a", 1), new Node("b", 2), new Node("c", 3)};. From 1point 3acres bbs
  43.                         String res = getRandomWithWeight(nodes);
  44.                         if (res.equals("a")) {-google 1point3acres
  45.                                 countA++; 来源一亩.三分地论坛.
  46.                         } else if (res.equals("b")) {.1point3acres网
  47.                                 countB++;. visit 1point3acres for more.
  48.                         } else if (res.equals("c")) {
  49.                                 countC++;. from: 1point3acres
  50.                         }
    . From 1point 3acres bbs
  51.                 }
  52.                 System.out.println(countA + " " + countB + " " + countC);
  53.         }
  54. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-22 18:44

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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