📅  最后修改于: 2023-12-03 14:47:52.620000             🧑  作者: Mango
本文主要介绍了我在 2020 年第 9 季参加 TCS Codevita 面试的经历。
在面试前,我通过阅读面试题库、刷 LeetCode 等网站来提升自己的算法和编程能力。此外,我还准备了一些常见的面试问题答案,并练习了自我介绍和英语口语。
面试分为两轮,分别是 online coding round 和技术面试。
这一轮主要测试候选人的编程能力和算法知识。我被分配了两个问题,其中一个是有关字符串操作的问题,另一个是有关数组操作的问题。我用的编程语言是 Python。
以下是我提交的 Python 代码:
# 字符串操作题代码
def reverse_vowels(input_str):
vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']
str_list = list(input_str)
low = 0
high = len(input_str) - 1
while low < high:
if str_list[low] not in vowels:
low += 1
elif str_list[high] not in vowels:
high -= 1
else:
str_list[low], str_list[high] = str_list[high], str_list[low]
low += 1
high -= 1
return "".join(str_list)
# 数组操作题代码
def check_sum(n, arr):
for i in range(n - 1):
for j in range(i + 1, n):
if arr[i] + arr[j] == 0:
return True
return False
技术面试主要是针对候选人的技术能力和知识深度进行测试。面试官问我有关数据结构和算法的问题,并要求我分析一份代码并进行优化。我非常感激面试官提供的反馈和建议,这些对我今后的学习和发展非常有帮助。
通过 TCS Codevita 面试,我学到了很多东西。我们应该在面试前做好充分的准备,包括复习算法、练习编程等。同时,要记住要认真听取面试官的反馈和建议,不断学习和进步。