银行为什么要举办科技竞赛?

大家好,我是鬼仔。过完秋招后面就是春招。二者相比春招规模会小很多,基本是企业的补录阶段。又因为今年求职人数远远大于企业需求人数,所以春招竞争压力会更大。就真心建议大家,能多行业多赛道看,路会好走很多。

今天要和大家聊的是金融科技。关键词:稳定,待遇不低,业务强相关。对于大部分同学而言,比较容易接触的是银行,而且银行业非常重视开发人员的成长,和互联网一样会举办科技竞赛作为筛选人才的主要办法。

一、银行举办科技竞赛的目的

近年来,金融科技竞赛逐渐多了起来,比如招银的fintech训练营、民生信用卡的金融科技竞赛等,奖励更是越来越丰厚,难度也跟着水涨船高。

按照往年朋友对银行的理解:银行并不需要多前沿的技术,只要求系统稳定运行就可以了。搞竞赛,难度还不断UP,有的难度甚至赶超大厂,力求选拔引进技术能力强的人才,有必要么?

too young ,too simple!大数据时代,银行业务也在不断创新。不止求核心业务的稳,还求用户的留存的其他消费场景。这就很需要又有业务想法又技术过硬的综合人才。

这种对人才选拔标准也反映到了银行金融科技竞赛的比赛试题中——与互联网公司举办的数据竞赛相比,金融竞赛有着更为明确的业务场景,同学们不仅要拥有超强的技术能力,更是要通过给出的背景信息来理解业务场景,才能写成更好的代码。

正好民生银行金融科技芯Code++大赛刚刚初赛完,趁热打铁,鬼仔来做下初赛题解,让大家从题目和解题思路中认识到金融科技竞赛的特点。

二、民生银行金融科技芯Code++大赛初赛试题解读

本次开设了三个赛道:编程赛道、数据赛道和安全赛道,这也对应了金融科技赛道的不同岗位。目前初赛已经结束,接下来还有复赛,鬼仔会持续关注~

通过与实验室参赛的师弟交流,鬼仔了解到具体的初赛试题以银行真实业务为背景设计题目,同时考虑了专业性和趣味性,来一起看看银行的技术人都在干些啥。

1、编程赛道

编程赛道分为了前端和后端方向,前端方向是3道编程题和1道前端页面编写题;后端方向则是4道编程题,难度约为牛客题库中等偏上级别。

前端页面编写题主要考察了同学们对Html、CSS、JavaScript等知识点的掌握程度,具体题目鬼仔就不在这里展开了,下面主要想跟大家聊聊编程题的解题思路和考察点。记得有一道标题为“伦敦银行”的编程题,题目以伦敦银行间同业拆借利率LIBOR为背景,描述了年化利率、每日隔夜利率值等金融概念的定义,最后要求计算出一段时间的平均年化利率。解题方法不算太难(模拟的思路),但是需要同学们清晰理解这些金融概念,才能正确写出答案。

还有一道是动态规划的题目:整数拆分,也比较有趣。给定一个正整数,将其拆分为若干个数之和,但要求和式满足以下两个性质: 1. 和式中每一项都是奇数;2. 和式中相邻两项不能相同。例如:5可以写成5=5或者5=1+3+1,但不能写成5=1+4或者5=1+1+3。

动态规划的题目最重要的是找到状态转移方程,根据题意可以给出以下定义:

  • 状态表示:dp_{i,j}表示整数i按照题目要求的拆分方案,且拆分出的最后一个是j
    • 状态初始化:dp_{i,j}=1i是奇数,其它初始化为0。明显一个奇数不拆分也是一个方案。
      • 状态转移:dp_{i,j}=>dp_{i+k,j}k是奇数。在i的一种拆分中,末尾补上一个奇数k,那么整数i+k就有这种拆分方案。因此将dp_{i,j}加到dp_{i+k,j}中。

      最后枚举i,j,k即可,但是题目给定的整数最大值是5000,直接枚举i,j,k的做法会超时,为此,我们还需要进一步优化。其实可以枚举一遍j求出的和,假设为sum,再枚举k,把sum加到dp_{i+k,k}。但这是存在相邻两个数相同的情况,也就是dp_{i,k}也加到了dp_{i+k,k},此时仅需要将dp_{i+k,k}减去dp_{i,k}即可,这样时间复杂度由O(n^3)减少到了O(n^2)

其他题目的题型还涉及到了字符串操作、贪心算法、排序算法和并查集等,可以看出,这次民生银行举办的比赛还是挺有挑战性的,考察的题型很全面,既贴近业务又有趣味性,对参赛同学有一定的区分性。

2、数据赛道

数据赛道应该是为数据算法方向同学准备的,除了考察同学们的编程能力外,还会考察数据处理能力,具体来说是3道编程题加上1道金融业务相关的数据库情景题。

鬼仔主要讲讲最后的数据库题目:分析银行客户收支、信用卡使用情况。题目提供了三个客户信息表,包括:基础信息、账户信息和账单信息,要求同学们用mysql统计出各个年龄段的年收入、支出情况及使用信用卡的比例。

  • 客户基础信息表:user_tb (客户id-user_id,客户年龄-age,工作年限-work_years,年收入-annual_income)

  • 客户账户信息表:account_tb (客户id-user_id,是否使用信用卡-credit_card,信用卡月消费额度- credit_card_limit,是否使用贷款业务-loan,贷款金额-loan_amount)

  • 客户账单信息表:bill_tb (客户id-user_id,储蓄卡支出-savings_pay,信用卡支出-credit_pay) ,支出为2021年整年总计金额

最后要求结果表包括以下字段:年龄段,平均年收入,平均年支出,使用信用卡客户占比。输出有以下几点要求:划分的年龄段有4个:18-30/31-40/41-50/51+;平均年收入按照年收入范围的中间值计算,平均收入及支出四舍五入保留整数;使用信用卡客户占比按照百分数形式输出并四舍五入保留1位小数;最终结果按照年龄段升序排序。

这道题亮点在于完全取自于真实的业务场景,数据决定算法的天花板,数据赛道会更多地考察同学们的数据处理能力,以及sql查询的熟练度。这道题的解法可以分为三个步骤:获取客户信息大宽表、根据年龄段进行分组统计、按要求统计数据

  • 获取客户信息大宽表

结果的输出依赖客户的三个子表信息,所以第一步根据主键user_id将三个表链接起来,得到每个客户的所有信息,同时计算出每个客户的年收入和支出。年支出的计算比较简单,将savings_pay+credit_pay即可,而年收入的计算则稍微复杂,因为annual_income字段类型为字符串,所以需要用到字符串截取函数substr()和字符串查找函数locate(),最后还要进行数值计算,所以还要用到类型转换函数cast()。

  • 根据年龄段进行分组

接下来对各个年龄段进行分类,使用case when或if-else条件表达式对age字段进行分类。

  • 按要求统计分组数据

为了得到各个年龄段的数据,需要对客户信息大宽表进行groupby的聚合操作,并用avg()和round()统计函数进行计算,concat()函数完成“%”符号的拼接,最后再使用order by对年龄段排序即可。

这道题考察了同学们对数据库查询语句的掌握程度,在现实业务场景中,数据永远都是最重要的,无论你的算法或者模型多厉害,如果源数据没处理好,那么一切都是纸上谈兵。所以,sql处理能力是数据工程师最重要的基本功。同一条查询目的,可以用多条不同形式的sql语句完成,但是效率也各不相同,同学们不仅要熟悉sql语法,也要了解背后的运行机理,才能写出漂亮简洁的sql查询语句。

三、基于真实业务场景设置的试题

通过上述的题解,可以看到比赛题目都是基于银行金融科技领域真实的业务场景设置的。这也是和互联网科技竞赛最大的不同,在金融科技的竞赛中,参与的同学不仅能磨练专业技能,更能提前接触并学习到一线的金融业务知识,真切地体验到银行金融科技相关的业务场景。

相信这个点对很多同学来说,是很有吸引力的。平常在牛客刷再多的题,只要不去实习,就无法了解到我们刷的题到底如何运用到实际业务场景。也许还有一些职场萌新,虽然技术过硬,但是在实际开发时却处处碰壁,因为将“题目”放到业务场景中,加入“业务”和“人”这两个变量,就进展不下去了。

不过本次竞赛也不需要你在敲代码前熟读金融原理,只需要你在做题是沉浸式阅读业务背景,就能还原一个较为真实的业务解决场景。不仅能学习到金融业务知识,还给了大家一个了解业务场景的机会。

四、不妨试试银行金融科技赛道

如果你想尝试进入银行这个赛道,不妨试试金融科技这个领域。目前很多银行都纷纷开始采用技术竞赛的人才选拔模式代替一些传统的招聘模式,也不难看出这背后对于技术人才选拔的侧重点正在逐步清晰。

通过了解民生银行这次主办的金融科技芯大赛,鬼仔顺便也在竞赛页面看了看民生银行的“民芯金融科技人才计划”。不得不说,银行业的金融科技赛道也是一个非常好的职业选择。相比末位淘汰、裁员不断的互联网,银行里的金融科技类岗位让人更有安全感和归属感,是可以让同学们沉下心深耕这块领域的。不得不承认,一直待在学校里,我们的视野反而会越来越狭窄,不妨走出去看看,多了解下其他赛道,尽可能地开拓自己的视野,再来作出自己的职业选择,而不是人云亦云,看到大家都一股脑往互联网卷,自己也跟着卷,最后反而一场空。

#金融科技岗##民生银行##关于秋招我想说##站在风口投简历#
全部评论
在学校的时候,确实应该多了解一些不同行业,毕业找工作的时候才不至于那么被动
6 回复 分享
发布于 2022-12-13 20:33 广东
对我肥肠有帮助!收藏了~
1 回复 分享
发布于 2022-12-13 16:13 广东
哈哈哈支持一下,想了解金融科技岗,还可以关注我、看我帖子
1 回复 分享
发布于 2022-12-14 12:57 上海
谢谢谢谢佬!
点赞 回复 分享
发布于 2022-12-13 15:59 浙江
狠狠马住!
点赞 回复 分享
发布于 2022-12-13 16:08 上海
点赞 回复 分享
发布于 2022-12-13 16:15 广东
精品好帖
点赞 回复 分享
发布于 2022-12-13 16:18 浙江
有用的知识增加了
点赞 回复 分享
发布于 2022-12-13 16:25 北京
没用的知识点增加了,请问啥时候发我offer哈
点赞 回复 分享
发布于 2022-12-14 13:48 北京
除了文中提到的这两个活动,还有其他值得推荐的活动嘛?
点赞 回复 分享
发布于 2022-12-14 14:32 黑龙江
哇!!!
点赞 回复 分享
发布于 2022-12-14 14:48 北京
期待后续复赛分享哇
点赞 回复 分享
发布于 2022-12-15 17:44 北京
m
点赞 回复 分享
发布于 2022-12-16 16:22 湖北
看金融科技赛道看看我!社招校招实习生都在招!!
点赞 回复 分享
发布于 2022-12-16 17:37 上海
银行现在都这么卷吗
点赞 回复 分享
发布于 2022-12-16 21:00 上海
m
点赞 回复 分享
发布于 2022-12-19 10:29 广东
进入又是个柜仔。
点赞 回复 分享
发布于 2022-12-19 14:00 广东
想知道面试问啥呀
点赞 回复 分享
发布于 2023-01-06 11:47 山东
大佬有群吗?可以拉一下我嘛
点赞 回复 分享
发布于 2023-01-09 14:35 北京
有人面试后收到通知吗
点赞 回复 分享
发布于 2023-01-16 22:33 山东

相关推荐

感性的干饭人在线蹲牛友:🐮 应该是在嘉定这边叭,禾赛大楼挺好看的
点赞 评论 收藏
分享
评论
52
111
分享
牛客网
牛客企业服务