📜  TCS 面试经历 |第 15 套 – 2017 年新图案(1)

📅  最后修改于: 2023-12-03 14:47:53.250000             🧑  作者: Mango

TCS 面试经历 |第 15 套 – 2017 年新图案

面试准备

在进入面试前,我先进行了以下准备工作:

  1. 复习了基本的数据结构和算法知识;
  2. 阅读了 TCS 的公司介绍和面试流程;
  3. 阅读了面试反馈,并针对自己的短板进行了加强;
  4. 制定了面试前一天的作息和睡眠计划,保证精神状态最佳。
面试过程
技能测试

首先进行了技能测试,测试时间为 90 分钟。测试内容包括编程题、算法题和数学题。编程题要求使用 C、C++ 或 Java 进行编写。算法题主要涵盖排序、查找、字符串、图论和动态规划等方面。数学题主要考察数论和概率论等知识。

技能面试

通过技能测试后,我进入了技能面试环节。面试官主要询问了我在数据结构、算法和编程方面的基本掌握情况,并让我手写了一些经典的算法和数据结构的代码,例如快速排序、二叉树的遍历和链表的倒序等等。

行为面试

技能面试结束后,我进入了行为面试环节。面试官主要询问了我对软件开发的看法、个人的职业规划、个人的优缺点等等。 在面试过程中我认真回答每一个问题,也提出了自己对于这个行业的理解和看法。

面试反馈

面试过后,我得到了正式的面试结果。我通过了技能测试和技能面试,但是在行为面试中表现不佳。面试官认为我在表达自己的观点时存在一些不流畅的地方,建议我在未来的学习和工作中注重提高这方面的能力。

总结

通过这次 TCS 面试,我意识到自己在技术方面还需要更加深入地学习和掌握。同时,我也认识到在表达自己观点时需要更加清晰和准确,这也是我以后需要加强的内容。我会在未来的学习和工作中不断提高自己的技术和语言表达能力,期待下一次 TCS 面试的到来。

代码片段:

// 快速排序

void quickSort(int arr[], int left, int right) {
    int i = left, j = right;
    int temp;
    int pivot = arr[(left + right) / 2];

    while (i <= j) {
        while (arr[i] < pivot) {
            i++;
        }

        while (arr[j] > pivot) {
            j--;
        }

        if (i <= j) {
            temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
            i++;
            j--;
        }
    }

    if (left < j) {
        quickSort(arr, left, j);
    }

    if (i < right) {
        quickSort(arr, i, right);
    }
}