📜  Teradata 面试经历 |设置 5(校内)

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

Teradata 面试经历 |设置 5(校内)

Teradata 于 2016 年 7 月 18 日访问了我们的校园。
他们聘请了两个配置文件:开发人员和测试人员。我被列入开发者资料的候选名单。
安置议程包括以下几轮:

  1. 笔试
  2. 技术回合 – I
  3. 技术回合 – II
  4. 人力资源轮

在本文的其余部分,我将向您展示每一轮的完整细节。
笔试:20 次 MCQ - 45 分钟(无负面评分)

  1. 操作系统中基于调度的问题。问题中提到的调度算法是最短剩余时间优先算法。我们必须计算 CPU 空闲时间的百分比(问题的额外复杂性是提到的进程除了 CPU 请求之外还有 I/O 请求)
  2. 预测以下程序的输出:
    char*gxxx()
    {
    static char xxx[1000];
    return xxx;
    }
    main(){
        char*g ="string";
        strcpy(gxxx(),g);
        g = gxxx();
        strcpy(g,"oldstring");
        printf("g : %s", g);
    }
    
  3. BubbleSort 上的两个程序询问在算法执行期间执行的交换次数。 (在一个问题中,我们有一个样本数组,在另一个问题中,我们有一个大小为“n”的数组,表示一般情况)。
  4. 给出了一个有问题的程序。我们必须预测程序的作用。 (有问题的程序是二分搜索的迭代实现)。
  5. 给定一棵二叉树,你应该按照什么顺序遍历,以便我们可以生成它的镜像。
  6. 您使用什么数据结构以迭代方式实现递归算法。
  7. 给定一个具有“n”个节点和“e”条边的图,图中所有节点的度数之和是多少。 (用'n'(和/或)'e'来表达)
  8. 关于计算机体系结构的一些问题,其中询问了汇编程序如何实现 if 语句
  9. 调试器需要操作系统提供什么才能执行其功能。选项包括:调试信息、进程只读空间的写入权限等。
  10. 给定二叉树的后序遍历,求它的前序遍历。
  11. const char *p 和 char const *p 之间的区别(我们必须从选项列表中进行选择)。
  12. 假设您每次都分配固定大小的节点,操作系统分配内存的最佳分区位置方法是什么(最佳拟合、最差拟合、第一次拟合、下一次拟合)
  13. void q(int i){
        if(i >1){
            q(i/2);
            q(i/2);
        }
        cout <<"*";
    }
    

    上述程序为调用 q(5) 打印了多少颗星?

技术面试——我

  • 面试从讨论我的简历、实习经历和本科期间做过的项目开始。
  • 我之前曾在一家初创公司实习过 Android 开发人员,所以面试开始询问有关它的问题。
  • 有一个服务器将返回以随机顺序填充在用户屏幕中的食物列表。现在假设用户想要添加一个过滤器选项,以便根据某些标准对它们进行排序。你将如何设计它?在考虑了一下之后,我告诉了维护一个链表,因为项目的数量不是恒定的。此外,使用动态数组将毫无用处,因为我们不知道 API 调用之前的大小,而且与链表相比,数组的重新分配和数组之间的插入成本会很高。在讨论了这个问题之后,最后,问题归结为实现一个 sortedInsert()函数,该函数将列表的头节点和要插入的节点(以排序方式)作为参数。
    面试官对链表的节点结构加了一个额外的约束。假设节点结构中存在许多字段,例如:食品的价格、受欢迎程度等,您将如何扩展您的方法,以便您可以将所有内容合并到同一个函数中。我调整了该方法的实现,以便我们可以调用单独的比较函数而不是比较链接列表中的数据值,这样我们可以结合用户的其他需求,例如:基于价格的过滤器和基于流行度的过滤器食品项目。
  • 下一个问题是关于添加由链表表示的 2 个数字。 (给定数字的最高有效数字是列表的头部。)

最后,关于 Trie 数据结构的问题很少。它是如何实施的?在 Trie 中插入一个单词。你怎样才能使它更节省空间?复杂性等

技术面试 – II(整个面试完全基于 C)

  • 关于函数指针和一些高级指针算法的问题
  • 以下陈述之间的区别和相同的讨论
    chara[]="hello";// stored as an array terminated with '\0'
    char*b ="world";// the string is stored in read only memory
    
  • 在不使用临时变量的情况下交换 C 中的字符串。如何使用 XOR运算符进行交换?
  • C中的序列点
  • strcpy() 库函数的工作和实现

人力资源回合

有两个面试官。这更像是一次对话,而不是一对一的 QA 会议。尽管与之前的采访相比,它很长,但它是一次极好的体验。

  • 说说你自己?
  • 关于我在简历中提到的事情的一般问题。
  • 过去的学者(中级和第 10 级)。
  • 实习讨论。
  • 你引以为豪的一项成就是什么?
  • 您想开发客户产品或您自己想法的产品吗?
  • 你喜欢维护代码库还是从头开始编写全新的代码?
  • 如果您在 Teradata 从事维护工作或测试工作,该怎么办?
  • 你对公司有什么期望?
  • 你认为什么是工作满意度?
  • 您可以在 Teradata 工作多少年?债券讨论。你会工作 5 年,还是会在债券到期后离开?
  • 你未来的目标是什么?进一步的学术或工作?
  • 与井字游戏有关的一个逻辑问题。您将获得一个井字游戏矩阵,其中填充了某些 X 和 O。你必须确定谁是赢家。采取任何不是蛮力的方法。如何减少比较次数?

最终判决

 您需要对 C 编程语言有充分的了解。

  • 如果您练习 GeeksforGeeks 中有关数据结构和算法的问题,那么您就可以开始了。
  • 为了通过第一轮,操作系统概念也是必要的。
  • 面试时保持冷静和放松。面试官其实很友好。
  • 最重要的是,对自己有信心。祝一切顺利。

如果您喜欢 GeeksforGeeks 并愿意做出贡献,您还可以撰写文章并将您的文章邮寄至 review-team@geeksforgeeks.org。在 GeeksforGeeks 主页上查看您的文章并帮助其他 Geeks。