📅  最后修改于: 2023-12-03 14:56:00.831000             🧑  作者: Mango
这是一场汇丰校内虚拟面试的经历。面试时间为30分钟,主要考察的是开发者的编程能力和解决问题的能力。
面试开始,我首先进行了自我介绍,介绍了我的技能和经验,以及我的项目经历。
随后,面试官提供了一个编程问题,让我编写一个函数来判断一个字符串是否是回文字符串。
def is_palindrome(s: str) -> bool:
s = s.lower() # 统一转换为小写字母
left, right = 0, len(s) - 1
while left < right:
while not s[left].isalnum() and left < right:
left += 1
while not s[right].isalnum() and left < right:
right -= 1
if s[left] != s[right]:
return False
left += 1
right -= 1
return True
在编写完代码后,面试官与我进行了交流,问我对自己的代码有没有什么不满意的地方,我提到了代码的可读性可能不够好,面试官与我进行了讨论之后,我们得出了一个更加清晰易读的版本。
def is_palindrome(s: str) -> bool:
s = s.lower()
s = ''.join(filter(str.isalnum, s)) # 使用filter过滤非字母和数字字符
return s[::-1] == s
最后,我提出了一些问题向面试官请教,包括在团队协作中如何提高代码可读性等等,面试官也给出了一些实用的建议。
这次汇丰校内虚拟面试是一次非常宝贵的经验,不仅让我得到了面试官的宝贵建议,也让我对自己的代码能力有了更深刻的认识,并且我也了解了如何更好的在团队中协作和提升自身的职业发展。