📅  最后修改于: 2023-12-03 14:47:53.250000             🧑  作者: Mango
在进入面试前,我先进行了以下准备工作:
首先进行了技能测试,测试时间为 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);
}
}