📜  汇丰面试经历|校内 2021(虚拟)(1)

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

汇丰面试经历|校内 2021(虚拟)

背景

这是一场汇丰校内虚拟面试的经历。面试时间为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

最后,我提出了一些问题向面试官请教,包括在团队协作中如何提高代码可读性等等,面试官也给出了一些实用的建议。

总结

这次汇丰校内虚拟面试是一次非常宝贵的经验,不仅让我得到了面试官的宝贵建议,也让我对自己的代码能力有了更深刻的认识,并且我也了解了如何更好的在团队中协作和提升自身的职业发展。