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

Google SVL onsite

全局:

2018(10-12月) 码农类General 博士 全职@google - 猎头 - Onsite  | | Other | 应届毕业生

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

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

x
昨天剛 onsite 所以又來發面經贊人品。本來快寫完了手殘按到 refresh 全沒了...就簡單寫一寫= =
p.s. 1 和 Facebook 比起來 Google 的 onsite 題目感覺真的變化相對多。

p.s. 當天在 SVL onsite 的人多到炸...多到面試官帶錯人(同姓的)花了 15 分鐘才發現...發現的原因還是帶錯的面試官真正要帶的人出了車禍來不了 HR 通知才一臉矇逼XD


第一輪:給一個 city 的左邊視角和下面視角,求最大可能 volume。
例如用以下 matrix 表示一個 city 每棟大樓的高度:
[
[1,2,2,3],
[2,1,2,1],
[1,1,1,1]
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
根據這兩個條件設計 solution: 用長度 60 的 integer array 存過去 60 秒每一秒的次數,並維護一個 sum 以便隨時回傳。每當 call increment() 或 get60sCount() 時根據兩次 request 的時間差 update array 和 sum 的值。

第五輪: thesis discussion。 簡介了下 thesis 內容,對方算是相關背景所以問得問題都比較深入,幸虧自己 thesis 還是自己熟所以都還能答出來。

评分

参与人数 13大米 +31 收起 理由
salamanderrex1 + 1 很有用的信息!
funyaoleo + 2 很有用的信息!
15my90zenmegao + 1 欢迎来一亩三分地论坛!
rayluck4 + 3 很有用的信息!
sifangyou1 + 3 很有用的信息!

查看全部评分


上一篇:刚刚面完的VISA 店面
下一篇:狗家2019 冬季实习timeline 和题
推荐
sifangyou1 2018-12-6 18:22:31 | 只看该作者
全局:
楼主第一轮第二个solution是不是这样:算出都少个B[j] >= A[i], 剩下的 B[j] < A[i].
代码对不对?

  1. public static int maxShiJiao2(int[] A, int[] B) {
  2.                 int m = A.length, n = B.length;
  3.                 Arrays.sort(A);
  4.                 Arrays.sort(B);
  5.                 int cnt = 0;
  6.                 int j = 0;
  7.                 int sumB = 0;
  8.                 for (int i = 0; i < m; i++) {
  9.                         while (j < n && B[j] < A[i]) {
  10.                                 sumB += B[j++];
  11.                         }
  12.                         cnt += (n - j) * A[i] + sumB;
  13.                         // (n-j)个 B[j] >= A[i]
  14.                 }
  15.         
  16.         return cnt;
  17.     }
复制代码
回复

使用道具 举报

🔗
sifangyou1 2018-12-6 18:24:44 | 只看该作者
全局:
第四轮有点像 蠡口刘斯幺 (Design Circular Deque)
回复

使用道具 举报

🔗
 楼主| comaniac0621 2018-12-7 03:14:21 | 只看该作者
全局:
sifangyou1 发表于 2018-12-6 18:22
楼主第一轮第二个solution是不是这样:算出都少个B[j] >= A, 剩下的 B[j] < A.
代码对不对?

嗯對的,關鍵就是一個 partial sum (sumB) 和長方形計算 (n - j) * A[i] + sumB
回复

使用道具 举报

🔗
 楼主| comaniac0621 2018-12-7 03:17:35 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
salamanderrex1 2018-12-29 22:15:14 | 只看该作者
全局:
第二题

  1. class TreeNode:

  2.     def __init__(self, val, left, right):
  3.         self.val = val
  4.         self.left = left
  5.         self.right = right

  6. def getNode(tree, id):
  7.     path = []
  8.     while id > 0:
  9.         path.append(id)
  10.         id = id / 2
  11.     path = path[::-1]

  12.     print path

  13.     c_node = tree
  14.     current = path[0]
  15.     for val in path[1:]:
  16.         print 'node val', c_node.val
  17.         print val
  18.         if val == current * 2:
  19.             if c_node.left:
  20.                 c_node = c_node.left
  21.             else:
  22.                 return False
  23.         else:
  24.             if c_node.right:
  25.                 c_node = c_node.right
  26.             else:
  27.                 return False
  28.         current = val

  29.     if c_node:
  30.         print c_node.val
  31.     return c_node if c_node else False








  32. node1 = TreeNode(1, None, None)
  33. node3 = TreeNode(3, None, None)
  34. node6 = TreeNode(6, None, None)
  35. node7 = TreeNode(7, None, None)

  36. node1.right = node3
  37. node3.left = node6
  38. node3.right = node7



  39. print getNode(node1, 5)
  40. print '.........'
  41. print getNode(node1, 6)


  42. from collections import deque
  43. def fullSizeTreeMaxid(tree):
  44.     def getHeight(node):
  45.         if node is None:
  46.             return 0
  47.         return 1 + getHeight(node.left)

  48.     height = getHeight(tree)
  49.     max_id = 2 ** height - 1
  50.     while not getNode(tree, max_id):
  51.         max_id -= 1
  52.     return max_id


  53. node1 = TreeNode(1, None, None)
  54. node2 = TreeNode(2, None, None)
  55. node3 = TreeNode(3, None, None)
  56. node4 = TreeNode(4, None, None)
  57. node5 = TreeNode(5, None, None)

  58. node1.left = node2
  59. node1.right = node3
  60. node2.left = node4
  61. node2.right = node5


  62. print fullSizeTreeMaxid(node1)
复制代码
回复

使用道具 举报

🔗
gogoii 2019-1-17 17:53:35 | 只看该作者
全局:
求问楼主第二题的followup是不是只能搜一遍整个树,取最深的那个了?
回复

使用道具 举报

🔗
 楼主| comaniac0621 2019-1-18 16:30:49 来自APP | 只看该作者
全局:
gogoii 发表于 2019/01/17 17:53:35
求问楼主第二题的followup是不是只能搜一遍整个树,取最深的那个了?

不用。由於是 full binary tree,一旦找到任一層最右邊的 node 就說明那一層是滿的可以往下一層去找
回复

使用道具 举报

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

本版积分规则

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