首页 > 专注银行的校招经历
头像
搬运工hq
编辑于 2022-04-22 18:58
+ 关注

专注银行的校招经历

#我的校招求职故事#
首先感谢官方的邀请,很久没更新牛客了,不过看到之前的帖子900+收藏,心里满满的成就感。
希望这次依旧能够帮到大家~~

一、个人简历(老生常谈了😅

学历:211本+985硕(额……名字也能看出来了哇),通信专业。
实习:目标银行,所以基本都是银行及相关实习经历。
比赛:招商银行Fintech数据赛道(2020年第53名,2021年第15名);无线大数据竞赛(2020第一届冠军,2021第二届第5名);2020中国移动复杂网络建模专题赛分赛道冠军;2021中兴捧月区域优胜奖 etc
技术方向:python数据挖掘、机器学习算法
就业目标:总行、数据中心、软件中心

二、实习经历

1.某股份制省分行信息科技部:

由于实验室管理比较松,实习氛围比较浓,所以在研一暑假期间就去到实习了。
银行省分行有几个特点:
(1)业务为主,科技为辅:科技部是辅助部门(简单来说就是烧钱的😪),最终目的都是要服务业务部门,将贷款、理财这些更好地推出去。简单一个例子,19年都在推ETC,科技部同样要背上指标,所以地位嘛你懂得。
(2)总包中绩效占比较高,收入与分行的经营情况直接挂钩。
(3)科技条线晋升不太乐观,多数同事干几年之后转岗金融业务(所谓金融科技,更多地是科技赋能金融)。
其他的不多说了,针对这一点我的建议是:走科技这条路,尽量去到总行or直属中心,这样能更好地发挥个人优势

2.某新能源公司数据算法岗:

这段实习主要是因为比赛获奖受到公司邀请继续的项目实习,主要目标是通过这段实习丰富自己的简历,提升岗位技能
(受限于保密,这里只提与银行业务相关的技能提升)
(1)金融风控、智慧营销:通过挖掘用户的一些交易特征,属性特征,统计特征等等,使用机器学习算法智能预测出违约/购买的概率。
(2)智能运维、故障告警预测:时序预测分析,KPI异常检测,通过一些次要告警预测未来某一时刻故障的概率,有助于工程师提前运维。
针对这一点,目前有很多数据挖掘类竞赛,很多都与银行业务相关。我的建议是:多参加,以赛代练,以赛促学,提升自身能力

3.中国银行信息科技运营中心(实习留用):

这是在研二暑期的一段实习,目标也很明确:争取留用。
在这里只谈暑期实习的优势:
(1)暑期实习是非常重要的一次机会,如果顺利留用,能让你的秋招快人一步。
(2)实习是一个深度体验一个公司的机会,校招身份只有一次,所以选对公司非常关键。
关于中行嘛,可以看我的其他帖子,这里不过多评论。

三、校招经历

由于在9月就收到了中行的转正offer,心里面比较有底气了,后面很多就走个过场。
谈谈对于银行笔面试的理解吧。

1.笔试

(1)EPI:类似行测,但计算、推理、逻辑题较多
(2)英语:阅读、完型,参照六级难度
(3)计算机知识:面广但不深。数据结构、计算机网络、数据库、JAVA、操作系统等等。
(4)性格测试
锻炼做题速度,平均40-50s一道题。

2.面试

(1)无领导小组讨论:leader timer recorder concluder
(2)半结构:自身简历,对项目/比赛/实习要十分熟悉(大厂加分),注重考查逻辑思维能力、表达能力,基本不刚技术。
农行软开:对于开发知识,JAVA底层知识,TCP/IP这些考察的非常细致,建议单独准备一下,最好按照互联网标准。

3.有总行offer一定要选总行,格局和高度是完全不一样的。(其他差不多的情况下)

四、金融科技就业推荐

对于擅长python数据挖掘的小伙伴,如果想从事上述领域的工作,有以下几个建议:

1.招商银行:总行fintech管培、信息科技部、信用卡中心

不得不说,招行在金融科技领域的投入非常大,每年Fintech竞赛投入100W奖金,足以看出其重视程度。
无论从手机APP用户体验、比赛氛围及面试技术含量来说,招行的水平都是非常高的,未来的发展前景也是比较光明的。

2.农行研发中心

农行前两年举办了雅典娜杯竞赛,也是比较有吸引力的,说明企业同样非常重视这个领域。

五、心心念念的农行研发中心

记得最早了解到农行,是18年研一刚入学,看到了农行的宣讲海报,跟师姐打听了下觉得特别香。因为当时想留在天津,所以目标直奔农行软开了。
后期基本所有的准备(实习、比赛、项目)基本都在往农行的方向靠,了解到农行每年有雅典娜杯,所以主要是研究python数据挖掘+机器学习算法这块。但农行主要招的还是开发人员,当时方向还是有一些偏离……
接着这个机会,也把自己农行的经历好好整理一下~~

1.6月暑期实习

由于当时疫情,所以准备时间不是很充分,直接报名参加了实习笔试。
  • 选择题:计算机408+少量行测(60min,80道)
(1)数据库:大部分是数据库查询语句的题,还有一些数据库范式,定义之类的概念题。
(2)数据结构:树,链表,队列等。代码填空、读代码写结果之类的题。
(3)计算机网络:IPV6,吞吐量,比特率等等,有小部分计算题。
(4)C/JAVA:基本都是读代码写结果and程序填空
(5)思维逻辑
这部分主要是针对计算机408考研课程进行考察,需要扎实的基础知识,建议牛客计算机专项的选择题部分要刷起来
  • 编程题:3道leetcode简单~中等水平(90min)
(1)10个数求平均值,找出前三个距离最短的数,并输出。
(2)一个字符串计算表达式,只包含加减。
(3)三进制运算,求结果,输出字符。
nums=[33,44,61,2,36,42,56,81,11,17]
def f(nums):
    dsum=0
    for i in nums:
        dsum+=i
    avg=dsum/len(nums)
    dis=[]
    for i in nums:
        dis.append(abs(avg-i))
    result=[]
    for k in range(3):
        dmin=max(dis)    #此处注意,不能为dis[0].第一个为最小时会一直输出第一个
        index=0
        for i in range(len(nums)):
            if dis[i]<dmin and nums[i] not in result:
                dmin=dis[i]
                index=i
        result.append(nums[index])
    return result
a='100+200-1+2-3'
def f(expression):
    num=''
    array=[]
    list=[]
    for i in range(len(a)):
        if a[i].isdigit():
            num=num+a[i]
        elif a[i]=='+'&nbs***bsp;a[i]=='-':
            array.append(int(num))
            list.append(a[i])
            num=''
        if i==len(a)-1:
            array.append(int(num))
    dsum=array[0]
    for i in range(len(list)):
        if list[i]=='+':
            dsum+=array[i+1]
        elif list[i]=='-':
            dsum-=array[i+1]
    return dsum
num1='121'
num2='1212'
def plus(num1,num2):
    sum1=0
    sum2=0
    def mi(num):         #3的幂函数
        x=1
        if num==0:
            return 1
        elif num>0:
            for i in range(num):
                x*=3
            return x
    for i in range(len(num1)):
        x=int(num1[-(i+1)])
        sum1+=x*mi(i)
    for i in range(len(num2)):
        x=int(num2[-(i+1)])
        sum2+=x*mi(i)
    sum=sum1+sum2        #转化成十进制相加
    n=0
    index=0
    for i in range(100):#找出需要几位三进制数可以
        n+=mi(i)
        if n>sum:
            break
        index+=1
    temp=''
    for i in range(index):#短除
        x=sum%3
        sum=int(sum/3)
        y=str(x)
        temp=temp+y
    result=temp[::-1]
    return result
  • 总结:
回过头来看,这些编程题其实都不难,但在当时LeetCode刷的比较少,一些常规操作都不太熟悉,所以有些没做出来。
选择题:牛客计算机选择题专项;编程题:leetcode简单中等级别多刷。

实习招人比较少,加上自己的实力不够,所以没能进面试。

2.9月秋招第二批

农行软开的秋招开的非常早,在8月下就开始投递并第一批笔试。由于实习的惨痛经历,所以打算好好准备一下,报名的第二批。
这次笔试准备的比较充分,选择题相比上次明显熟练地多,编程也相对简单。
  • 一次笔试编程
#1.二进制回文数
x=bin(num)
res=x[2:]
if res==res[::-1]:
    return 1
else:
    return 0
#2.巨型天平:给定6人体重,平均分两组,看能否是天平平衡
x=sum(weights)
list1=[[]]
for i in range(len(weights)):
    for j in range(len(list1)):
        sub=list1[j]+[weights[i]]
        if sub not in weights:
            list1.append(sub)
res=0
for k in list1:
    if len(k)==3 and sum(k)==x/2:
        res=1
        break
return res
#3.ABCD四种字符组成的序列,随机选择一个字符,确定其信息量(香农信息熵)
import math
list1=list(content)
a=list.count('A')
b=list.count('B')
c=list.count('C')
d=list.count('D')
a1=a/len(content)
b1=b/len(content)
c1=c/len(content)
d1=d/len(content)
if a1==0:
    a2=0
else:
    a2=a1*math.log(a1,2)
if b1==0:
    b2=0
else:
    b2=b1*math.log(b1,2)
if c1==0:
    c2=0
else:
    c2=c1*math.log(c1,2)
if d1==0:
    d2=0
else:
    d2=d1*math.log(d1,2)
h=-(a2+b2+c2+d2)
return h
  • 二次面试前线上编程测试(难度明显增大1h
#1.括号匹配问题:
def isBracketPair(a):
    bracketAll = {")": "(", "]": "[", "}": "{"}
    b = []
    for i in a:
        if i in bracketAll.values():
            b.append(i)
        elif len(b) > 0 and b[-1] == bracketAll.get(i):
            b.pop()
        else:
            return 0
    if len(b) == 0:
        return 1
    else:
        return 0
#2.柱形图积水问题: def sloution(height):
    p_l=0
    max_l=height[0]
    p_r=len(height)-1
    max_r=height[len(height)-1]
    p_r=len(height)-1
    res0=[]
    res1=[]
    while p_l<p_r:
        if max_l<max_r:
            p_l=p_l+1
            if max_l<=height[p_l]:
                max_l=height[p_l]
                res0.append(0)
            else:
                x=max_l-height[p_l]
                res1.append(x)
        else:
            p_r=p_r-1
            if max_r<=height[p_r]:
                max_r=height[p_r]
                res1.append(0)
            else:
                y=max_r-height[p_r]
                res1.append(y)
    res1=res1[::-1]
    res=res0+res1
    res.append(0)
    return res
#3.leetcode完全平方数问题,没A出来
  • 面试:
1分钟自我介绍,其他都是硬刚技术的问题。
  1. python内存管理机制
  2. python如何提升运算速度
  3. 设计模式有哪些
  4. list中如何去重
  5. python有哪些数据类型
  6. python数据清洗有哪些方法
  7. 结合实习经历的问题。
本来以为能结合自己金融风控项目carry一下,没想到农行面试完全是另一个风格,上来直接硬刚技术,也怪自己当时“轻敌”了。
  • 总结:
(1)笔面试:毫无疑问,农行软开是所有银行里最看重技术的,尤其是开发相关。建议大家早做准备,笔试多刷题(前面提到),面试强推大家看“瑶瑶公主”的帖子,真是后悔没能早知道啊,哎~
(2)待遇:天津22W+补充公积金,香的一批,可以说是待遇天花板。
(3)加班:农行已经逐渐开始加班了,至少我了解到天津有的组已经996,所以这是一个趋势,想躺平的慎重。
(4)户口:农行北京这面都是按成绩排队拿户口,并非全部解决户口,签约的时候也能从违约金上看出来,有户口5w违约金,不保证的是2w。(不得不说,农行的违约金是真高)。
(5)子公司化:这个问题吧,只要是软件中心个人感觉都会有子公司化的趋势,就看行里怎么安排了。
  • 后记:回过头来看这一段,有开心也有遗憾,努力过不后悔就行啦。农行有它吸引人的地方,只能说缘分不够吧~
-----------------9.3更-------------------
农行研发最近的加班热搜风波反响不小,看了帖子也挺惊讶的,毕竟不是农行员工,不过多评论。
但农行确实在笔面试时对于技术考察的细致程度是比较高的,如果目标在此,建议好好准备一下~
仅此……

六、极速攀登的渤海银行

渤海银行这两年发展速度有目共睹,去年上市之后经历一波调薪,在天津与农行可谓是不相上下。
渤海从招聘的宽度上也十分吸引人,涵盖开发/测试、运维、数据等多个领域,对于毕业生需求的宽度和广度很高。

1.笔试(90min,2021届)

(1)选择题:25道计算机基础知识+3道渤海银行常识题涉及到数据库、计算机网络、java、linux指令的一些基本概念,还有一些读程序写结果、函数调用判断的题。
(2)编程:2道算法+4道SQL题(增删改查各一道)
(3)其他(简答、判断,详见另一篇帖子)
渤海的笔试与同行相比,题量小、难度适中、时间充裕。十分友好,笔试体验极佳。

2.面试——大数据岗

由于数据挖掘比赛比较多,当时主要深挖一些数据挖掘、机器学习算法相关知识。针对这个方面也整理一些常见的问题,希望对大家有帮助。
(注:以下结合其他面试总结的问题,并非当时提问的,具体详见帖子“21渤海银行总行信科,大数据岗面经
  • GBDT原理、lightgbm与xgboost的实现方式和区别。
  • bagging和boosting区别。
  • 模型过拟合如何处理:增加数据集、交叉验证、删除冗余特征。
  • K折交叉验证的原理。
  • 树模型中缺失值如何处理(挖坑题):树模型对缺失值不敏感。
  • 特征筛选的方法:皮尔森相关系数,特征重要性feature importance
  • 分类指标有哪些:AUC,F1-score等
  • 数据挖掘项目流程:数据预处理、特征工程、模型优化、模型融合。
渤海大数据岗的面试,对于技术考察比较细致,项目挖的比较深,看得出面试官对于数据挖掘这部分内容比较感兴趣。可以推断出:渤海开展一些数据挖掘、知识图谱等方面的工作。

3.渤海总结

(1)待遇:去年给我开的SP:24-26W(基本+绩效+年终+30%补充公积金),渤海银行将补充公积金这部分也算进总包,如果按传统总包来讲,粗略估算将近20W。1个月6K公积金,在天津依然很香😊
(2)加班:听说不怎么加班,如果加班的话也会算加班费。可以对比下隔壁农行最近的消息,不多说hh。
(3)发展趋势:渤海近几年发展迅猛,信息科技部也在持续扩招,大批校招和社招,对于人才的需求度还是很高的。不过稳定性相比四大行,以及将来是否会走浦发这种子公司模式的情况,还需要继续观察。


(未完待续……)



更多模拟面试

全部评论

(22) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

热门推荐