📜  SDE-1 的 Google 面试经历

📅  最后修改于: 2022-05-13 01:58:33.248000             🧑  作者: Mango

SDE-1 的 Google 面试经历

第 1 轮:环聊视频通话(DS 和算法)(1 小时)

  1. 告诉我一些你的事吧。
  2. 一场马拉松正在上演。每个跑步者都有独特的号码,印在他的 T 恤上。摄影师正试图从顶部捕捉该数字,因此在 180 度旋转中看不到任何数字。如果将每个数字单独旋转 180 度后,我们得到一个与 X 不同的有效数字,那么 X 是一个很好的数字。每个数字都必须旋转——我们不能选择不理会它。 0、1、8 自行旋转; 6 和 9 相互旋转,其余数字不旋转到任何其他有效数字。范围是给定的,您需要找出该范围内的好数字。

案例:

  • 10 将转换为 01 但无效,因为我们的范围以 1 开头。不允许使用前缀 0。
  • 如果范围是 1 到 7 并且没有 6 变为 9,则不允许。
  • 11 不允许,因为 11 将在更改后变得相同。
  • 如果 no 有 2、3、4、5、7 这样的数字,那么 no 将不允许。
  • 输入:范围:1 到 10(包括 1 和 10)
  • 输出:有效数字列表:6、9

您可以参考此链接:https://www.geeksforgeeks.org/check-if-a-given-number-is-fancy/

第 2 轮:现场(行为轮)(1 小时)

  1. 说说你自己
  2. 为什么谷歌?
  3. 你最喜欢谷歌的哪个产品?为什么?市场上有竞争产品吗?
  4. 如果我向您当前的组织询问反馈,那么他们会说什么?专注于消极点。
  5. 如果你必须改进一个技术点和一个行为点,那么你会改进哪一个?
  6. 在您的上一个组织中或在此之前,您做过任何领导工作吗?指导/组织者类型。
  7. 当你的工作的功劳将给予他人时,你会怎么做?
  8. 任何情况下你的经理不同意你的想法,你是如何说服他的?
  9. 为什么你要在 1 年前离开?
  10. 您在技术和非技术方面的 2 年计划是什么?
  11. 你有任何问题问我吗?

第 3 轮:现场(DS 和算法)(1 小时)

她要求使用二进制搜索功能来判断数组中是否存在。通常我们通过 (low+high)/ 2 找到中间元素,所以她要求改变它并使用随机函数来决定中间元素。对已排序数组执行二进制搜索,但此处给出未排序数组。

对二分搜索逻辑进行了两次修改。

1) 给出了未排序数组而不是排序数组

2)中间元素是根据随机函数决定的。现在我们必须从给定数组中找出这个函数给出真实结果的数字。

提示:如果 x 左侧的所有数字都较小且 x 右侧的所有数字都较大,则函数将为值 x 返回 true。

示例:[ 4、3、1、5、7、6、10]

答案:5、10

时间复杂度:O(n)

空间复杂度:O(n)

第 4 轮:现场(DS 和算法)(1 小时)

赠送一根巧克力棒。那个酒吧里有 n 个棋子。每一块都有自己的甜度。您必须将巧克力棒分成 k 块,然后将这些块分给 k-1 个人,您将得到剩下的最后一块。你必须告诉你会得到多少甜味。你会从所有 k 片中得到最少的甜味片。所以你必须以这样一种方式来分割平板,你会得到最大的甜味。

输入:1、2、4、7、3、6、9 N = 7,K = 4

输出:7(将其分成 4 个部分,如 [1, 2, 4] [7] [3, 6] [9] 分别具有甜度级别 7, 7, 9, 9)

参考链接:

https://www.geeksforgeeks.org/painters-partition-problem/

https://www.geeksforgeeks.org/allocate-minimum-number-pages/

第 5 轮:现场(DS 和算法)(1 小时)

与第 4 轮类似。有 n 个人,每个人都有一些体重。您必须将它们分成 k 个连续组,以使组之间的总重量差异最小化。您必须返回最大和最小加权组之间的差异。

输入:1、2、4、7、3、6、9 N = 7,K = 4

输出:2(将其分成 4 个部分,例如 [1, 2, 4] [7] [3, 6] [9],权重分别为 7,7,9,9 所以答案将是 9 - 7)

第 6 轮:现场(DS 和算法)(1 小时)

给出了一个网格。它包含每个单元格中的字符。您必须找出 x 到 y 之间的最小汉密尔顿距离。汉密尔顿距离:| row_index_x - row_index_y | + | column_index_x – column_index_y |

[ x, 0, 0, 0 ]

[ 0, y, 0, y ]

[ x, x , 0, 0 ]

[ 0, y , 0, 0 ] 答案:1

时间复杂度:O(nxm)

空间复杂度:O(nxm)

谷歌主要关注逻辑以及您如何提供解决方案。它记录了每一个小错误。面试官真的很有帮助。他们期望采用最佳方法的清晰代码。