📜  Zoho 面试经历 |设置 34(校外)

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

Zoho 面试经历 |设置 34(校外)

你好!!我最近在校外参加了 Zoho。我在马杜赖(Madurai)轮次,其余轮次在钦奈校区(Chennai Campus)。

第 1 轮:C 和能力 [2 小时]

技术:20 C 输出问题。问题指针、矩阵、数组、字符串。练习 geeksforgeeks 中设置的所有 C 输出问题,这绰绰有余。 https://www.geeksforgeeks.org/tag/c-output

能力:15 个谜题。练习逻辑推理题。

第二轮2周后收到邮件。

第 2 轮:简单编码 [3 小时]

系统编码。允许使用 c/c++/ Java。他们期待所有问题的优化解决方案。在开始解决每个问题之前需要讨论方法。

  1. 给定两个字符串 s1 和 s2,从 s1 中删除所有存在于 s2 中的字符。
    输入:s1=”expErIence”, s2=”En”
    输出:s1=”exprIece”
  2. 为给定数组中的每个元素查找下一个更大的元素。
    输入:数组[]={6, 3, 9, 10, 8, 2, 1, 15, 7};
    输出:{7、5、10、15、9、3、2、_、8}
    如果我们使用排序来解决这个问题,我们需要使用任何 O(nlogn) 排序算法。
  3. 打印具有重复字符的给定字符串的所有不同排列。
    https://www.geeksforgeeks.org/distinct-permutations-string-set-2
  4. 给定一个数,找出下一个最小的回文数。
  5. 给定一个包含重复数字的数组,找出前三个重复数字。
    输入:数组[]={3, 4, 2, 3, 16, 3, 15, 16, 15, 15, 16, 2, 3}
    输出:3、16、15

完成4个及以上的人将在同一天被选中进入下一轮。尝试尽可能优化您的解决方案。他们会要求您进行优化,直到您提出预期的时间复杂度解决方案。

第 3 轮:高级编程轮 [3 小时]

本轮主要基于数据结构和oops概念。
不允许内置集合。您需要自己实施。

在开始解决问题之前需要讨论你的方法。

设计具有以下功能的系统,

  1. 设置一个变量
  2. 获取变量
  3. 取消设置变量
  4. 给定值的 COUNT NUMBERS OF VARIABLE
  5. BEGIN — 开始一个新的事务
  6. ROLLBACK — 回滚打开的事务中的所有命令
  7. COMMIT——提交事务

示例 1:

设置 20
获得 20
设置 b 30
得到 b 30
设置 10
得到一个 10
更新 c 40 没有名为“c”的变量
设置 c 30
计数 30 2
计数 40 空
取消设置
得到一个空

示例 2:

得到一个空
设置 30
获得 30

示例 3:

设置 30
开始
获得 30
设置 40
获得 40
设置 b 40
得到 b 40
回滚
获取 b 空
获得 30

示例 4:

开始
设置 40
设置 b 40
设置 c 50
计数 40 2
开始
计数 40 空
犯罪
计数 40 2
开始
设置 c 10
得到 c 10
回滚
得到 c 50

#My solution in Python .
dic = {}
dic1 = {}
while(1):
    try:
        query = [str(i) for i in raw_input().split(" ")]
        # print query
        # try:
        if query[0] == "set":
            dic[query[1]] = query[2]
        elif query[0] == "unset":
            dic[query[1]] = "null"
        elif query[0] == "update":
            dic[query[1]] = query[2]
        elif query[0] == "get":
            print dic[query[1]]
        elif query[0] == "count":
            count = 0
            for i in dic:
                if dic[i] == query[1]:
                    count = count + 1
            print count
        elif query[0] == "begin":
            while(query[0]!= "rollback"):
                query = [str(i) for i in raw_input().split(" ")]
                if query[0] == "set":
                    dic1[query[1]] = query[2]
                elif query[0] == "unset":
                    dic1[query[1]] = "null"
                elif query[0] == "update":
                    dic1[query[1]] = query[2]
                elif query[0] == "get":
                    print dic1[query[1]]
                elif query[0] == "count":
                    count = 0
                    for i in dic:
                        if dic[i] == query[1]:
                            count = count + 1
                    print count
    except KeyError:
        print query[1]," is not present"
        pass

我使用堆栈来解决上述模块。

我们4个人完成了所有模块,并要求第二天进行技术回合。

第 4 轮: TECH 1 [ 大约 30 分钟 ]

关于当前项目的讨论。大多数问题都是关于你在简历中提到的技术技能。

清楚你在简历中添加的内容。如果他们发现你足够好,他们会把你送到人力资源部,否则这就结束了。

我们三个人要求进行 hr 回合。

第 5 轮:人力资源轮 [10 分钟]

为什么你要在短时间内离开你现在的工作? [1年经验]
为什么选择Zoho?
你会留在哪里? [他们希望你保持在距离办公室 10-15 公里的范围内,正如面试电话信中提到的那样]
关于包的讨论。


4 天后,接到 hr 的电话,说“你加入了团队”🙂。所有 3 人都在 HR 轮中被选中。