2022年⼤数据开发实习⾯经总结,已拿顺丰、哔哩哔哩offer
本⼈是⼀个双⾮硕⼠在读地研⼆狗,⾮科班出⾝,最近也是参加了⼤数据开发地⾯试,已拿到了哔哩哔哩和顺丰的⼤数据开发岗实习offer,现在把⾃⼰的⾯试经历分拨记录下来,记录了⾯试各个公司的问题和⼼经,给正在⾯试的你做⼀些适当的参考
如果这篇⽂章对你有所帮助,可以点⼀下关注作者⽀持⼀下,对于这段时间的⾯试,作者也是参考和总结了⼀些⾯试中常常问到的问题,可以关注作者私信“⼤数据⾯试”,我看到后会⼀⼀为⼤家发送资料的
内容⽬录
在参加的⼏次⾯试中,我也是都写了⼀些⾯经发布了出来,感兴趣的可以查看⼀下:
⾸先介绍⼀下⾃⼰什么时候接触的开发和⼤数据:
对于开发⽽⾔,本科时候学过⼀些c语⾔和java,在这就是⼀些前端语⾔,仅仅是学过,都不敢说是掌握。
在硕⼠的时候,进⼊实验室,编码氛围较浓,但是那个时候还是⽤python,做⼀些爬⾍,写⼀些简单的东西。也是在研⼀上学期,把java 从头到尾⼜学了⼀遍,除此之外把mysql也学完了,就这样跟着B站视频的教程,啃完之后因为项⽬中没有⽴即使⽤到也是放置了很久的时间,然后学了java web。
在20年冬天实验室项⽬开始,写过⼀段时间前端,那个时候写js,⽤的还算凑活,最后随着项⽬推展去弄了数据库,在这期间js⼜放下了,现在前端也不会写了,去了数据库那后,⾃学了redis、mongodb,还写过python处理数据,同组的⼩伙伴在使⽤hadoop,那个时候我还没有真正接触⼤数据处理,知道项⽬推移,由于⼀些指挥,redis和mongodb被项⽬弃⽤,我直接⾯向⽩学式编程,然后⼜被安排到去写了shell,⼜⾃学了shell编程,学完之后到项⽬接触也没写过⼀个shell脚本,就这样被调来调去,因为也不需要写shell了,我就⼲起了后勤,这⼀段时间安排我在实验室搭建了git服务器,
托管实验室的代码,⼜⾃学了git和git服务的搭建,搭建出来后⼀个代码也没被上传过,这个指挥我也是对他⽆语。于是我就⾃⼰给⾃⼰安排⽅向学习了后端,⾃学进⾏的也很顺利,因为之前沉淀的不错,就上⼿的也⽐较快,先从spring,再到spring boot,准备学习spring cloud的时候,这时候指挥⼜开始了,因为在⼤数据那边的⼩伙伴⼀直遇到困难解决不了,于是⼜把我掉到了⼤数据那去解决问题,就这样我算是正式接触了⼤数据,那个时候是2021年7⽉分,就这样造化弄⼈的我接触了⼤数据。
调到⼤数据后,我就⾃学起了⼤数据,从hadoop开始,hdfs和mr都是⽐较简单的,不知道是我接受的快,还是之前沉淀了较多的知识,学习起来还算是⽐较轻松,然后就是hive、flume、kafka,这些知识像是过马路似的过了⼀遍,因为我知道不⽤的话很快就忘,主要混个眼熟,就这样我把这些基本框架都过了⼀遍,然后就是重量级的spark,学习spark必备的就是scala,所以我⼜去学了scala,因为有java 和python的语⾔基础,所以scala学习起来是很轻松的,极简的语⾔风格也是很容易掌握。在学spark的时候,当时基础知识和底层源码可能学的并不怎么样,但是因为有hadoop中mr的基础,mr我学的是相当好了,因为在项⽬中⽤mr⽐较多,所以也是很熟练,导致学习spark的时候,在逻辑思维上并没有造成多少难度。学了spark之后学习了flink,对于flink的实时计算框架,其实是⽐较难得,但是对于我们项⽬简单使⽤来说,快速掌握对我来说还是⽐较容易,⽽且我选择的是java版本的flink,所以上⼿速度也有所提⾼。
就这样⼜学了⼀些零七零⼋的⼤数据知识,⽐如调度框架azkaban,还有什么sqoop、kylin、superset这些,然后就应⽤在项⽬中,也是在知识交叉的过程中反复横跳,过程很痛苦,但是结果还算可以,底层理论掌握的可能不太好,但是使⽤起来算是没有问题。⽽且这些理论知识在我之后的学习掌握之后,对于代码层⾯和操作起来更是得⼼应⼿起来,怪不得公司招聘很注重这些理论基础。这就是我得⼤数据学习之路和⼤数据的千丝万缕,⼤概的学习时间是21年的7⽉到11⽉五个⽉的时间,在此之间因为项⽬的需要,也是⾃学了数据库索引和数据库迁移这些知识,这样⼀来就把数据库基本使⽤的框架补充全了。
准备⾯试
本⼈今年⼗⼀⽉份开始因为受疫情影响,学校管制,不让我们去实验室,所以只能⾃⼰在寝室附近就近教室⾃习,或者在寝室⾃习,在或者在寝室玩游戏摸鱼,我在学校被剥削了⼀年半之后,想要尽早出去实习的⼼思愈加强烈,所以也是借助这个时机,让⾃⼰有⼼思把时间花在了⾯试上。
在这期间复习了⼤数据相关的知识,⽐如hadoop、kafka、flume、hive、spark、flink、sqoop这些,这些技术其实对于⼀个在校⽣的我来说,掌握的并不是很牢固,因为项⽬中和平时⾃⼰的思考中⽤过,对于底层原理和理论知识掌握的并不是很牢固,所以也是借助这段时间把这些基础知识过了⼀遍。然后在⽹上⼀些招聘软件上投了⼀些简历,因为是海投,还是在⼗⼀⽉末和⼗⼆⽉初,所以⼤多
是⽯沉⼤海,有⼀些⼩公司打电话联系了⼀下,但是⼤多听到了我是研⼆,离毕业还有⼀年多,也都黄了歇菜了。
就这样简历投了有⼀个多⽉,学校也管制了我们⼀个多⽉,这⼀个多⽉的简历结果收获可以说是0,也可以说是50%,为什么是50%呢,因为我投了顺丰的校招实习简历,但是⼀直了⽆⾳讯,知道1⽉22号顺丰的校招实习⾯试才开始正式启动,所以也是多亏了当时的投递。
接着往下说,在学校管制结束之后,让我们正常的能回实验室了,然后就是我们实验室的项⽬交付,忙活了⼀年项⽬终于可以交付了,回到实验室,⼜忙活了半个⽉,终于把项⽬顺利交付,交付完也是了却了我得⼀桩⼼事,就这样简历结果和⾯试通知也都遥遥⽆期,没有⼀个传来⾯试通知的,在这期间只有⽹易⼀家说要⾯试,给我说了⾯试然后放了我得鸽⼦,作为⼀个⼤⼚,这⼀点实属有些草率。
项⽬交付之后,再过半个⽉也就到了放假的时候,因为疫情原因,学校放假都很早,我也是在项⽬交付之后,在实验室内搭建了⼀个集,我意识到可能操作能⼒有所下降,所以也是考虑搭建个集⽤来练⼿,同时⾃⼰在实际层⾯复习⼀下这些⼤数据的项⽬。除此之外就是对我们研狗很重要的论⽂了,就在放假前⼣,给⽼师发了半年的⼩论⽂终于被⽼师想起来了,然后我聊了聊论⽂要我改论⽂,这个时候也是对我的实习之路增添了许多障碍,就要⼀遍想着论⽂⼀遍想着实习。
放假之后也是去了上海,本想着去⼤都市迷失⼀下,顺便实习,没想到刚去没⼏天,家⾥疫情管
控,让赶紧回了家,也是在家中,不知道是赶到了公司开始储备了,还是⾯试得机会多了,投的简历也不再是⽯沉⼤海,也是有好多联系的然后约了⾯试得了,这⼀点还是让⼈很欣慰的。
关于⾯试:
关于⾯试的技巧很重要,就算你掌握再多的技能,但是没有⾜够的表达出来,或者没有很好的抓住⾯试官的兴趣,那么还是很难展现⾃⼰的实⼒的,因为你猜不透⾯试官会问你什么。我也是吃了很多这个亏。⼤多数⼈都是先⾯⼏家⼩公司试试⽔掌握以下经验,熟悉熟悉套路,可是我像个憨包,上来第⼀家就⾯试了字节,那个时候不知道怎么⾯试,也不知道⾯试什么流程,更不知道怎么在⾯试中组织⾃⼰的知识,所以也是吃了很⼤的苦,再者字节⾯试的难度确实也⼤,知识⾯要⼴,⽽且⾯试的问题也很灵活,再⾯完字节也是对⾃⼰造成了⼀定的打击,但是也正是⾯完字节知道了⾃⼰的不⾜,关于操作系统和计算机⽹络,这两门知识虽然在⼯作中少涉及到,⽽且是理论层⾯知识,但是对于进⼊⼤⼚来说,这⼜是⼀道坎,所以也是买了两本书掌握⼀下,不要求掌握的特别全⾯,但是应付⾯试的能⼒应该是要有的。
mysql下载哪个版本好2022然后第⼆次⾯试的⼩公司也是惨遭失败,虽然是⼩公司,但是他们⾯试的问题也是有很⼤帮助的,⼩公司虽然对基础的操作系统和算法要求不⾼,但是关于⼤数据相关的内容还是很有参考价值的,这些都会我们作为⾃我反思和弥补不⾜的借鉴。
关于技能:
其次就是⾃⼰的基础知识,代码层⾯的实现可以看作是基本技能,当我们频繁使⽤某⼀⽅向的知识的时候,我们熟能⽣巧的就能掌握代码的编写,⽐如项⽬中我经常编写mr程序,从开始⽆从下⼿,到最后在txt中都能顺利编写下来,这都是⼀个孰能⽣巧的过程,所以我们对于底层知识的掌握就更加重要,因为⾯试过程中⾯试官也是很注重⼀个在校⽣的基础知识,所以在⾯试前可以上⽹上查⼀下经常涉及的⾯试题,了解⾃⼰邻域经常问到的问题,有时候你可能已经对⾃⼰的领域有了⼀定的了解,但是所使⽤的术语和表述还不够严谨,就需要参考别⼈的改善⾃⼰的
还有⾃⼰要善于思考,可能对于领域知识我们不能全都了解到或者接触到,但是我们可以在学习了解的时候类⽐⼀下真实的开发环境,如果这个知识应⽤到你的项⽬中,你要怎么根据⾃⼰的项⽬设计出来,⽐如数仓的建模,我们项⽬和企业级的项⽬并不⼀样,但是我会多考虑⼀些,如果这个维度建模的模型⽤到我们的数据库中,哪些表应该被设计成什么样,为什么不能⽤雪花模型,为什么更适合⽤星座模型,数据治理应该选择哪种⽅案,总之多思考,即便没有在项⽬中使⽤到,也会留下深刻的印象
关于⾃我认识:
我⾯试的时候也是看过⽹上许多⾯经,看到过这样⼀句话,⾯试淘汰不代表你能⼒不⾏,你觉得表现
得不好,但是你和⾯试官有眼缘,你答对70%都可以,甚⾄50%都有可能要你,如果眼缘没到,答对90%可能也不⾏,所以⼀次⾯试失败并不能代表什么,你需要在每⼀次⾯试中总结经验,看⾃⼰还有那些地⽅可以改善和提⾼,不管是否通过,都要养成这种好习惯。就像我在字节⾯试虽然被⾯得⾯⽆全⾮,但是也是学到了很多,知道了对于⾃⼰的项⽬,该如何给别⼈介绍,如何弥补⾃⼰的不⾜,⼜该如何想⽅设法提⾼⾃⼰的能⼒。
关于坚持,在⾯试的过程中⼀定要有信⼼,贵在坚持,或者跪着坚持,在我屡遭受挫之后,想着停留⼀段时间不⾯试了,⼩公司就⼩公司吧,⼤公司进不去,当时我也产⽣了这种想法,但是有些不⽢⼼,⼜投了哔哩哔哩,最后顺丰校招实习⾯试的通知也出来了,⾯试了这两家公司,就这样机缘巧合地,拿到了这两家公司地offer,本来想着放弃了去⼀家⼩公司算了,最后幸运⼥神光顾拿了两家offer,所以在⾯试这条路上,⼀定要坚持下去,要不服输,不认命,同时要不断地完善⾃⼰的技能,做到有机会来的时候要把握住。
如何⾃学:
⾸先要确定⼀个⽅向,不能朝三暮四,⽐如今天看java⽕,你去学了java开发,明天看python⽕,⼜去学了python,然后看了⼈⼯智能,⼜去学⼈⼯智能,要知道样样通,样样松,虽然现在讲究通才,但是我们也要学会有⼀技之长,在确定好了前进⽅向之后,就要确保⽮志不移地前进。
现在⽹络上的信息五花⼋门,各路⼤⽜数不胜数,我们要利⽤好各路信息,计划好学习路线,做好规划,学习是件很⿎噪地事,可以适当的设置⼀些适合⾃⼰的学习⽅法,⽐如激励策略这些。
除此之外,算法也是⼀个很重要的⽅⾯,对于⼤⼚⾯试,算法是必须要过的⼀关,那么就需要⾃⼰⾟苦⼀点多刷刷算法题,多练多总
结,leetcode算法题,⼀百道不⾏就⼆百道,然后《剑指offer》刷⼀遍,做到能领悟能写出,应对⾯试就差不多了。
总之,如果以前你学了很多乱七⼋糟现在也没有⽤得上的知识,也不⽤抱怨,没有⽩学的知识,⽐如之前我学了redis和mongodb这些,虽然⼀次没有⽤上过,但是我相信如果以后要⽤到的时候再去从头学,那么接受的能⼒相⽐较第⼀次接触来说要快很多,所以准了⽅向之后,你只管设定好计划,⼀步步按照计划⾛就⾏,不要受到其他不良因素的影响。
写在最后:
对于实习来说,公司对实习⽣的要求并不是那么苛刻,所以我们在保证有些许能⼒的情况下,可以胆⼦⼤⼀些,往⼤⼚投递⼀下,在⼀场场⾯试中注意总结,每场⾯试都是⼀次学习的机会,碰到疑问和技术难题在⽹上帖⼦,解决办法,平时多去试错,不要害怕bug,⽐如我这⼀年来,如果说代码层⾯有提升的话,那应该多半是从bug中得到的,所以要学会从bug中保持⼼态,解决bug。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论