📜  巴克莱面试体验(2020 年校内)(1)

📅  最后修改于: 2023-12-03 15:25:25.293000             🧑  作者: Mango

巴克莱面试体验(2020年校内)

前言

我曾在校内参加一次巴克莱的面试,以下是我的面试体验。

面试形式

该次面试是一轮在线笔试,一轮在线编程面试,以及一轮现场面试。

在线笔试

在线笔试由多项选择题和一些编程题组成。选择题主要包括数据结构、算法和数学等相关知识,难度较大,需要十分仔细地阅读题目,认真思考后再选择答案。编程题涉及到字符串、递归、数据结构等方面的知识,需要编写具有一定功能的程序。时间限制为1个小时,需要在规定时间内完成所有测试。

在线编程面试

在线编程面试采用GoToMeeting等视频会议软件进行,面试官会针对简历中的项目和经验提问。主要考察对问题的理解、编程水平和沟通能力等方面。面试官会分析一些实际应用场景,让你在规定时间内设计出符合要求的程序,并询问你对其程序的优化思路,以及解释算法和数据结构的原理等。

现场面试

现场面试是最后一轮面试,主要考察你的对团队协作、沟通和项目管理等方面的能力。面试官会问一些和巴克莱业务相关的问题,为期45分钟。

面试环节
笔试题

以下是一道笔试题,需要自己思考后回答,涉及到递归和数据结构,有一定难度:

定义一个二叉树,其中每个节点都包含一个整数值,且每个节点的整数值都不相等。每次比较两个节点的值,返回较小的节点。假设你已知以下函数:

def f(X: TreeNode, Y: TreeNode) -> TreeNode:
"""
其中 TreeNode 是一个类,包含如下定义:
class TreeNode:
    def __init__(self, val: int = 0, left: TreeNode = None, right: TreeNode = None):
        self.val = val
        self.left = left
        self.right = right
    
即每个节点都包括整数值、左节点和右节点。
"""

请编写一个递归函数,找到这个二叉树的最小节点并返回。

编程题

以下是一道编程题,需要在规定时间内编写具有一定功能的程序:

给定一个字符串S和一个字符串T,只能用S中的字符组成T,求T中最少重复的次数,使得能用S中的字符组成T。

例如:

输入:S="aba", T="abaabaaba"

输出:T中最少需要重复3次,才能用S中字符组成。

现场面试

最后一轮面试主要考察团队协作、沟通和项目管理等方面的能力。

面试官会针对巴克莱相关的业务问题进行提问,例如巴克莱如何应对金融危机等,需要结合自己的实际经验进行回答。

总结

巴克莱的面试难度较大,需要准备充分,掌握一定的算法和数据结构知识。在笔试和编程环节中需要认真思考,不要急于回答。在现场面试中需要充分发挥自己的团队协作和沟通能力,结合自己的实际经验进行回答。