回复: 9
跳转到指定楼层
上一主题 下一主题
收起左侧

谷歌新鲜现场考试

🔗
匿名用户-ISFJN  2020-9-16 13:35:34 |倒序浏览

2020(7-9月) 码农类General 本科 全职@google - 猎头 - Onsite  | | Other | 在职跳槽

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
求大米!!!

3轮coding:
1)campus bike
2)给一棵树,从树根滴一滴水,水滴流过每个树枝需要的时间是不同的,问需要多久才能流到所有叶节点。
follow up:generalize这个问题到一个图,区别就是图里的每个node可能有多个parent。
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
一个服务,用户可以用这个服务来查询某个FB hashtag的活跃度的时间分布。可以从FB来query内容,每个内容只能query一次。

一轮behavior

评分

参与人数 16大米 +34 收起 理由
rainly + 2 给你点个赞!
umd2011 + 2 很有用的信息!
oumizx + 3 很有用的信息!
MavLee + 2 给你点个赞!
匿名用户-ALMCD + 10

查看全部评分


上一篇:roblox ng OA新鲜
下一篇:oci 虚拟面试
全局:
三轮第一问也是道hard原题,但是我找不到了

补充内容 (2020-9-21 06:37):
栗寇依唔舞伞

评分

参与人数 1大米 +2 收起 理由
MavLee + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

推荐
guiwuji 2020-9-21 23:55:09 | 只看该作者
全局:
关于system design那轮的题目,可以从FB query内容具体是什么?比如在并不知道有什么hashtag的时候,搞一个offline的job去query fb,拿到某个时间内所有的hashtag,可以么?
回复

使用道具 举报

全局:
shchen0808 发表于 2020-09-17 18:07:26
可以详细说一下什么是hashtag的活跃度的时间分布吗?怎么衡量活跃度呢?
这个hashtag在查询的时间区间出现多少次
回复

使用道具 举报

全局:
第二题是类似药伞其流么 然后第三轮是bfs  第三轮第二题是treemap

评分

参与人数 1大米 +1 收起 理由
gongchen + 1 赞一个

查看全部评分

回复

使用道具 举报

🔗
electra52 2020-9-17 03:07:44 | 只看该作者
全局:
本帖最后由 electra52 于 2020-9-17 03:11 编辑

第二题的follow up应该是743
第三题第二问 https://leetcode.com/discuss/int ... tervals-with-labels


评分

参与人数 1大米 +1 收起 理由
gongchen + 1 赞一个

查看全部评分

回复

使用道具 举报

🔗
shchen0808 2020-9-18 09:07:26 | 只看该作者
全局:
可以详细说一下什么是hashtag的活跃度的时间分布吗?怎么衡量活跃度呢?
回复

使用道具 举报

🔗
marvinbai 2020-9-22 14:29:51 | 只看该作者
全局:
第三轮45分钟做这两道有点狠啊
回复

使用道具 举报

🔗
marvinbai 2020-9-22 16:29:06 | 只看该作者
全局:
试了一下3-2:

  1. public class Main {
  2.     public List<Record> mergeIntervalWithLabels(String[] names, int[][] intervals) {
  3.         TreeSet<Event> set = new TreeSet<>((a, b) -> (a.time - b.time));
  4.         for(int i = 0; i < names.length; i++) {
  5.             int[] interval = intervals[i];
  6.             set.add(new Event(names[i], 0, interval[0]));
  7.             set.add(new Event(names[i], 1, interval[1]));
  8.         }
  9.         int last = -1;
  10.         Set<String> curr = new HashSet<>();
  11.         List<Record> res = new ArrayList<>();
  12.         for(Event e : set) {
  13.             if(e.type == 0) {
  14.                 if(curr.size() != 0) {
  15.                     List<String> list = new ArrayList<>();
  16.                     for(String c : curr) list.add(c);
  17.                     res.add(new Record(new int[]{last, e.time}, list));
  18.                 }
  19.                 curr.add(e.name);
  20.             } else {
  21.                 if(e.time > last) {
  22.                     List<String> list = new ArrayList<>();
  23.                     for(String c : curr) list.add(c);
  24.                     res.add(new Record(new int[]{last, e.time}, list));
  25.                 } else {
  26.                     Record r = res.get(res.size() - 1);
  27.                     r.names.add(e.name);
  28.                 }
  29.                 curr.remove(e.name);
  30.             }
  31.             last = e.time;
  32.         }
  33.         return res;
  34.     }
  35.    
  36.     class Event {
  37.         String name;
  38.         int type; // 0 for open and 1 for close
  39.         int time;
  40.         Event(String name, int type, int time) {
  41.             this.name = name;
  42.             this.type = type;
  43.             this.time = time;
  44.         }
  45.     }
  46.    
  47.     class Record {
  48.         int[] range;
  49.         List<String> names;
  50.         Record(int[] range, List<String> names) {
  51.             this.names = names;
  52.             this.range = range;
  53.         }
  54.     }
  55.    
  56.    
  57.     public static void main(String[] args) {
  58.         String[] names = new String[]{"Alice", "Bob", "Carol"};
  59.         int[][] intervals = new int[][]{{1, 5}, {2, 4}, {3, 5}};
  60.         Main main = new Main();
  61.         List<Record> res = main.mergeIntervalWithLabels(names, intervals);
  62.         for(Record r : res) {
  63.             System.out.print(r.range[0] + " -> " + r.range[1] + ": ");
  64.             for(String s : r.names) {
  65.                 System.out.print(s + " ");
  66.             }
  67.             System.out.println();
  68.         }
  69.     }
  70. }
复制代码

评分

参与人数 1大米 +2 收起 理由
MavLee + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
Jess. 2020-10-9 09:06:49 | 只看该作者
全局:
请问lz第一题是LC原版吗? 有没有follow up呀? 如果有的话是要求全局最优还是min max dist? 谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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