点击上方 "大数据肌肉猿"关注, 星标一起成长
点击下方链接,进入高质量学习交流群
分享下学习群一位同学的求职经历,他目前是北京一本院校通信专业的大四学生,大二时候认识的我,当时比较迷茫,也没有编程基础,于是帮他规划了大数据方向的学习。
年初通过了阿里面试,开始在阿里实习,然后暑期参加了字节提前批,拿到了字节提前批offer。后来也去字节实习,目前也已经成功转正,分享下求职和实习的一些经验和感悟,希望对大家有帮助。
背景介绍
首先的话,介绍一下自己的情况吧。双非大四通信学生,比较迷茫,大二的时候,机缘巧合下在朋友圈看到了峰哥的文章,加了峰哥并让他指导规划学习。
学习过程
从大二下开始跟着峰哥安排的计划学习,先学的Java基础,然后就是Hadoop Hive Spark这几个框架,中间穿插着八股文面经还有计算机基础的学习。
说实话,当时对于我一个没有编程基础的人来说很懵,所以经常去问峰哥一些有的没的问题,但峰哥也都很耐心地解答,就这样在学习的过程中慢慢建立起对整个计算机方向和编程方面的认知。
简历投递
大概今年初,在牛客网看到一个阿里的大数据实习招聘,内心蠢蠢欲动。其实我简历在过年前学完数仓和实时项目就写好了,峰哥也指点了下,让我可以先投起来积累下经验,但是很怂,不敢投。
后面也是抓紧时间看面经,又学习了JVM, Java的多线程与并发,计算机网络知识啥的,还有就是leetcode刷题。
面试过程
人生第一次面试就这么来了,准备面试这几天,基本没睡好,每天晚上一闭眼,脑袋里就有一个面试官问我问题:“你给我说下这个吧,你了解这个吗,再说下这个吧,各种”,所以,面试还是得早做准备,这样不会赶时间。
面试的节奏很快,一个下午两轮技术面,一轮HR面。一面主要问Java相关的,JVM多线程这些。二面主要是聊项目,还有项目涉及到的大数据框架原理。具体的面试题当时由于节奏太快和太紧张也没做记录,只记得峰哥给的面经上都有,刚好都复习到了。
阿里实习经历与感悟
我是在阿里的某电商团队进行实习,刚开始入职的时候的一两周就是初步熟悉一下阿里内部项目使用的各种大数据框架中间件和系统,熟悉了之后,逐步上手项目。
在阿里完整的项目流程体系下,经过prd评审、开发、code review、测试、修改、预发、上线,一步步严谨的过程,来保证项目的各个模块功能的正常运转。
其实在阿里实习期间最大的收获并不是在技术的某个方面的提升,而是在思想上逐渐完成从校园向职场人的改变。如果在初入职场就能做好思想的准备,有明确的职业规划,那么未来的工作中一定能更好更快的成长。
技术:
技术是程序员的立身之本,其实这些大家都是比较了解的,但是技术不是程序员的全部,技术绝对是为业务服务的,没有了业务场景,那么技术其实也就没有了意义,过去我太多于盲目地迷恋于技术,总是通过技术的角度来看待问题。
其实除了少部分的技术岗位之外,我们更多地是要去思考问题背后的业务问题与产品经理去讨论技术背后的问题,应该去考虑,这个业务场景可以用到哪些技术,哪些技术的优缺点分别是什么,综合权衡考虑,而不是只是为了用技术而用。
业务:
上面说过了程序员的技术是服务于业务的,所以我们在工作中,应该多花时间在业务的思考上,不断思考业务价值,而不是一昧地接需求,做需求;在产品的设计上,程序员也应该有自己的思考,对没有业务价值或者业务价值低的东西应该与需求方进行沟通与协商,这样才能使得业务整体更快更好地发展。
协作:
团队协作是在阿里这样的大公司中不可或缺的一部分。我在这次实习过程中,在一个涉及离线计算的需求中,因为我对该领域并不是特别熟悉,于是就在钉钉上问了同事,被同事糊弄几句就过去了,我也就不敢继续追问,就硬着头皮去做,最后导致成本超出预算的情况。
第二天相关人员向我问责,迫于压力,我也顾不上脸皮,直接上到同事的工位旁厚着脸皮去问,最后也是解决了问题,最后才了解到,同事其实根本就不知道我之前描述的问题是什么。所以说好的协作是事半功倍的,学会从以往的学生思维转变成职场人思维,多主动出击,而不是被动地等待别人来帮你解决问题。
在阿里实习的这段期间,我也一直在准备着面试的内容,无论是八股文和算法都保持着进度学习,中间也有面了一些公司积累了面试经验,所以后面的面试也没那么紧张。
7月初字节开始提前批了,那时还在阿里实习,我抱着积累经验的心态投了一下,没想到通过了三面,直接拿到提前批offer。
一面:
还行。自我介绍,看我还是小菜鸟吧,问的都是java基础,峰哥的面经上都有,算法,股票问题(1 + 2),然后当面约了二面。
二面:
一面后5分钟后吧,就开始了,这个就比较硬核了,基本照着我简历上写的东西问了个遍,java基础,计算机网络,多线程与并发,锁,数据库,jvm,hadoop,zookeeper,redis,spark,hive,mq等框架。
之间穿插着项目(项目细节一定要了解),然后给我说,知识还是要扎根下去,要知道底层实现,这是加分的(难顶),然后算法 面试官当场写的,leetcode的改进版,写完给我约三面(内心苦笑,这就是字节吗,),幸好三面的面试官有事才换到第二天。
三面:
一看就是大佬,上来就让我说自己最拿手的知识,然后项目,然后算法 字典序的第k小(leetcode困难),然后就是hr。
基本就这些。感觉字节还是重视基础和算法,所以学习的时候还得学深入。项目的话可以通过多面试一些公司,总结一些细节问题。算法的话尽量多刷吧,我就刷了几个月150道题左右,面试的时候不要怕,说出自己思路,想法,面试官会和你一起做的。
字节实习经历与感悟
我之前有一次阿里的实习经验,现在在字节实习,感受最不同的点就是:字节的工作比阿里的饱和。
这主要表现在两点:
工作方面:阿里一般都是有人focus某个项目或者领域的,而字节是不会让你只focus一个项目的,往往就是哪里人不够就被安排到哪里;
阿里对实习生的要求比较低,导师一般不会安排太紧的事情给你,而字节对实习生的安排跟正式员工区别不大,大概两三周后,手上的事情就直逼正式员工了。
工作之余的方面:在阿里,大家都会在傍晚时间,到外面园区散散步,我也能够到健身房跑跑步,篮球场打打球,运动一下;
在字节就没有这种情况,食堂7点才开饭,白天已经被各种会议占满了,晚上吃完饭后,就是写代码的时间了,基本也没时间去运动了,不过想在公司运动也不是不行,在早上10点半之前,公司基本是没有人的,可以早点起床去运动,或者趁着中午休息的时间去。
还有最近因为疫情,居家办公,想起之前在阿里也有一两天的居家办公,对比了一下,字节比阿里强不少,因为字节的一个团队往往都是分布在不同的城市,经常需要线上会议,已经积累了一定的线上办公经验,一些文档的落盘整理也做得比阿里好些。
总结一下,两个公司的不同,简单来说,字节较有年轻的气息,工作节奏和不设限的工作理念,能让人更快地全方面地成长;而在阿里,可以感受到国内比较普遍的工作作息,关于成长则更多需要自驱。
最近在b站看到了个视频,大概是一个30+的职场人在分享自己的人生经验:
1. 改变自己的默认设置
2. 总结模仿别人的做法
3. 做个有底线的人,保护自己的利益
其中让我感受最深的,是前两点:
记得我大二的时候,给自己定下一个目标,进大厂。其实作为一个双非学校的本科生来说,这有点不现实。
于是,我就给自己定一些规则,我大一的时候,每天都要花两三个小时时间在打游戏上,我要把它换成每天坚持锻炼身体+每天刷一题leetcode,玩游戏会使人丧失斗志,而健身不会。
我当时让我家里给我买一台苹果电脑,卖掉了我原来的游戏本,目的就是让我学习编程的过程中更有“感觉”,也抑制了我打游戏的冲动,就像你打球的时候,穿上了顶级的运动装备,你甚至都觉得你就是职业运动员。
其实这一系列的操作下来就是改变了自己的默认操作,我每天默认都应该做什么,如果默认是去学习丰富自己的话,把空闲的时间利用起来,哪投入的时间就会积少成多。时间就像种子,想要在哪里开花结果就撒在哪里。
后续我就想,我一个双非的普通学生,如何跟那些名校生抢岗位呢?其实不过就是把自己变得不那么普通。我就上百度、上知乎搜索、提问。后来在朋友圈看到了一个标签与我的目标相洽的峰哥:“二本进大厂”,“机械转型大数据”。
所以后来我向峰哥请教了相关的的学习方法与成长路线,同时也进了一些技术社群,找到一些同样优秀的在校生或者大厂在职人员,向他们请教学习路线方法,模仿并总结整理成自己的方法论,从而达到我所想要达到的目的。
希望我在未来能尽快找到自己的方向,继续恪守好这几点,不断地总结迭代,向上生长。
--end--
扫描下方二维码
添加好友,备注【交流】
可围观朋友圈,也可私信交流