专注银行的校招经历
#我的校招求职故事#
首先感谢官方的邀请,很久没更新牛客了,不过看到之前的帖子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简单中等级别多刷。
实习招人比较少,加上自己的实力不够,所以没能进面试。
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分钟自我介绍,其他都是硬刚技术的问题。
- python内存管理机制
- python如何提升运算速度
- 设计模式有哪些
- list中如何去重
- python有哪些数据类型
- python数据清洗有哪些方法
- 结合实习经历的问题。
本来以为能结合自己金融风控项目carry一下,没想到农行面试完全是另一个风格,上来直接硬刚技术,也怪自己当时“轻敌”了。
- 总结:
(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)发展趋势:渤海近几年发展迅猛,信息科技部也在持续扩招,大批校招和社招,对于人才的需求度还是很高的。不过稳定性相比四大行,以及将来是否会走浦发这种子公司模式的情况,还需要继续观察。