📅  最后修改于: 2023-12-03 15:41:49.256000             🧑  作者: Mango
近期笔者参加了贝宝的一次SE 2岗位的面试,以下是笔者对面试过程的感受和体验。
面试分为两轮,每轮60分钟。第一轮主要考察基础知识和解决问题的能力,包括算法、数据结构、操作系统、网络协议等等。第二轮则更加注重实际项目的经验,主要考察应聘者的设计能力、代码能力、架构能力以及沟通协作能力。
整个面试流程非常顺畅,面试官对问题的提问很具有针对性和深入性,也给予了很好的引导和支持。在整个面试过程中,考察内容既有理论知识,也有实践能力,很好的测试了我的综合能力。
下面是我在面试中遇到的一些问题和解答:
算法题:给定一个字符串,返回其中未重复字符的最长子串长度。
def lengthOfLongestSubstring(s: str) -> int:
start = maxLength = 0
usedChar = {}
for index, character in enumerate(s):
if character in usedChar and start <= usedChar[character]:
start = usedChar[character] + 1
else:
maxLength = max(maxLength, index - start + 1)
usedChar[character] = index
return maxLength
设计题:设计一个推荐系统。
我在回答这个问题的时候,我首先考虑了整个推荐流程,从数据的收集分析、模型设计、算法优化和部署上线等进行了全面的介绍。我特别强调了推荐算法的重要性和实验分析的必要性。
在面试官的引导下,我进一步讨论了推荐系统的能力和可扩展性,重点介绍了向量化计算和深度学习模型的应用。我认为这个问题考察的是应聘者对业务场景的理解和对软件工程的掌握程度。
项目经验:谈一谈你最近负责的一个项目。
我结合自己的项目经验,主要讲述了自己参与的项目的背景、需求分析、业务架构和实现过程,重点强调了自己在需求分析和代码管理方面的经验和能力。在讲述的过程中,我遵循着STAR原则(Situation, Task, Action和Result),使整个讲述非常清晰和具有逻辑性。
整个面试流程体验非常好,考察的内容也非常广泛,考察的深度和广度都非常大。面试官提问的问题非常具有针对性,也很好的测试了应聘者的能力。在面试过程中,我也进一步做了一些自我认知的调整,更加了解了自己的优势和不足。
最后,贝宝是一家非常业内知名度的公司,他们在金融领域内也有非常丰富的业务场景和技术创新,总体来说,这是一次非常难得的学习和成长机会。