📜  巴克莱BA3实习面试经验 |校园 2022(1)

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

巴克莱BA3实习面试经验 |校园 2022

简介

巴克莱(Barclays)是一家全球性金融服务公司,总部位于伦敦。作为英国最大的投资银行之一,其业务涵盖投资银行、财富管理、商业银行、消费金融和卡片业务等领域。BA3实习项目是巴克莱面向全球大学生开放的一项实习项目,适合对金融行业感兴趣且有编程能力的学生参加。

面试流程
  • 初筛:在巴克莱的官方网站上提交简历并完成在线测试;
  • 一面:由一位招聘官或者面试官进行电话面试,了解面试者的个人背景、专业技能和兴趣爱好等;
  • 二面:要求面试者在线完成一道编码题或者算法题,并且在完成题目的同时要解释思路;
  • 终面:一般由部门经理或高层管理人员进行面试,主要了解应聘者的个人能力、目标和职业规划等。
面试题目

以下是巴克莱BA3实习面试中可能出现的面试题目:

编程题

实现一个函数,要求输入一个字符串,输出其最后一个单词的长度。

示例:

输入: "Hello World"

输出: 5

def lengthOfLastWord(s: str) -> int:
    l = 0
    r = len(s) - 1
    while r >= 0 and s[r] == ' ':
        r -= 1  # 去掉末尾的空格
    while r >= 0 and s[r] != ' ':
        r -= 1  # 搜索最后一个单词
        l += 1
    return l
算法题

假设你有一个数组,其中第 i 个元素是股票在第 i 天的价格。

设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(例如,多次购买股票然后再次出售),但是你必须在再次购买前出售掉之前的股票。

示例 1:

输入: [7,1,5,3,6,4]

输出: 7

解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 然后再在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出。

示例 2:

输入: [1,2,3,4,5]

输出: 4

解释: 在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 利润最大化。注意区分买入价格和卖出价格之间的差异。

def maxProfit(prices: List[int]) -> int:
    if not prices:
        return 0
    n = len(prices)
    dp = [[0, -prices[0]] for _ in range(n)]
    for i in range(1, n):
        dp[i][0] = max(dp[i-1][0], dp[i-1][1]+prices[i])
        dp[i][1] = max(dp[i-1][1], dp[i-1][0]-prices[i])
    return dp[n-1][0]
总结

巴克莱BA3实习面试对编程能力和算法能力有较高要求,需要面试者全面掌握Python语言、算法数据结构等基础知识,同时还要有较强的分析和解决问题的能力。在面试前需要认真准备,熟练掌握面试可能涉及的相关知识和题型,加强练习,提高自己的实力水平。