📜  SDE-2 的 Zomato 面试体验

📅  最后修改于: 2021-11-24 04:17:19             🧑  作者: Mango

第 1 轮(问题解决 + 对过去工作的讨论 1.5 小时)

  1. 倒置句子中的单词。两个单词由一个或多个空格隔开

    例子:

    "ab cd    efg” -> “ba dc   gfe”
  2. 给定一个包含重复项和键的排序数组,求该键在数组中的出现频率

    例子:

    [1,1,1,2,2,2,2,3,3,4,4,4,4] and key = 2 => Frequency = 4

第二轮(设计+过往作品讨论1.5小时)

  1. 设计推特。

    • 用户可以查看/发布推文
    • 用户可以关注其他用户
    • 为用户生成新闻源
  2. 给定一对按 x 排序的 x, y 值,使用以下等式输出按 y 排序的值。

    y = 3x2 + 3x - 36
    T
    x, y
    -1000, 
    -900
    -825
    …
    … 0
    40,
    70,0
    …

    提示:给定的方程是一条向上的抛物线,因此会有一个最小值。由于输入按 x 排序,找到最小值后,可以通过让两个指针遍历最小值的两侧来按 y 排序)

  3. 给定两个数组,如果两个数组中都存在一个值,则可以切换黑白数组,找到最大和。

    Input: ar1[] = {2, 3, 7, 10, 12, 15, 30, 34}
               ar2[] = {1, 5, 7, 8, 10, 15, 16, 17}
    Output: 122

    在上面的输入中,由于两个数组都包含7,在7处,可以从ar1->ar2切换,反之亦然