📌  相关文章
📜  SDE实习生的Dunzo面试体验(校内)

📅  最后修改于: 2021-11-21 06:08:28             🧑  作者: Mango

在线测试:有2个问题。不完全记得问题。但第一个是矩阵问题,第二个是修改过的背包。我完全解决了第二个,部分解决了第一个。我得了 131/200 分。我收到了第一轮面试的邮件。

第 1 轮:这是 DSA/Algo 轮。面试官很棒,乐于助人。他问了 2 个问题,并给了我 1 个小时的时间来解决它们。

  1. 给定一个字符串s。找到大小为 k 的字典序最小子序列。
    Ex  -  s = "satbz" , k = 3
    Ans - "abz"

    我先说说蛮力的解决办法。然后我使用一些递归告诉 O(n^2) 解决方案。所以面试官让我在 O(n) 中做。过了一段时间,他甚至给出了使用堆栈的提示。然后我告诉了解决方案并编写了代码。这是正确的。

  2. 给定一个大小为 MxN 的矩阵,由 { L, R, U, B } 组成。

    值“L”表示您可以从该单元格向左移动。类似的“R”向右,“U”向上,“B”向下。

    您位于最左上角的单元格 (1, 1)。您可以将任何单元格值更改为“L”、“R”、“U”、“B”。您必须找到矩阵中的最小变化,以便存在从 (1,1) 到 (m,n) 单元格的路径。

    Ex-  [ [R , B , L],
               [L , B , R],
               [R , R , U]]
    Ans = 0 
    As there already exist a path , 
    (1,1)->(1,2)->(2,2)->(3,2)->(3,3). 

    还给出了 3 个测试用例。我告诉了 dp 方法,它适用于给定的测试用例。留给代码的时间不多了。

我收到了第二轮面试的邮件。

第二轮(DS/Algo):也是 DSA/Algo 轮。

问的问题是:

  1. 给定一个完整的二叉树,您必须告诉其中存在的节点数。

    约束:

    1 <= 节点数 (‘N’) <= 500000。

    你只会得到指向根节点的指针,没有别的!

    问题状态:在ceil(log(N) * log(N))中解决上述问题。空间复杂度可以是 O(Log(N)) 甚至 O(1)。

    我在 O(log(N) * log(N)) 中以恒定的时间空间解决了上述问题。

    提示:想想一棵完整二叉树的性质。

  2. 给定一个包含 n 个元素的数组。返回所有子数组的 min 和 max 之和。
    All the elements are distinct
    N = 3
    A = [2, 1, 4 ,3]
    Expected answer = 
    {1} + {2} + {3} + {1, 2} + 
    {2, 3} + {1, 2, 3}
    
    = (1 + 1) + (2 + 2) + (3 + 3) + 
    (1 + 2) + (2 + 3) + (1 + 3) = 24
    
    So, 24 is the required answer.

    我给出了 O(n^2) 解决方案并对其进行了编码。我告诉了 O(n) 的方法。

    提示:https://leetcode.com/problems/sum-of-subarray-miniums

第 3 轮(技术/文化):面试官问了 1 个 DSA 问题。

  1. https://www.geeksforgeeks.org/maximum-size-rectangle-binary-sub-matrix-1s/

    我立即告诉了解决方案,因为这是一个非常标准的问题。所以我们刚刚讨论了我的简历,并在 15 分钟内结束。

总的来说,我有一个很棒的经历。所有的面试官都非常乐于助人。

我接到电话说我被选中了。