请选择 进入手机版 | 继续访问电脑版
设为首页 收藏本站
开启辅助访问 快捷导航
菜单
从零开始 资讯 查看内容

震动!理科生若何转行成为阿里巴巴Java工程师?

2020-2-20 15:46 发布者: 度素告 评论 0 查看 159
作者:以大橘为重 链接:https://www.nowcoder.com/discuss/156087楼主是19届应届生,去年在牛客学到了很多东西,在实习和秋招也收获了一些offer(Java后端开发工程师)。在20届春招即将开始之际,把整理了很多资料 ...

震动!理科生若何转行成为阿里巴巴Java工程师?_资讯_2020-2-20 15:46发布_从零开始_159

作者:以大橘为重 链接:https://www.nowcoder.com/discuss/156087

楼主是19届应届生,客岁在牛客学到了很多工具,在练习和秋招也收获了一些offer(Java后端开辟工程师)。在20届春招行将起头之际,把整理了很多材料给大师分享一下,顺便打个广告233内推行告。 有点题目党,进修Java能够有两年时候,不外年龄招温习加起来大要就花了三个月(可是感受比之前学的内容加起来都多...)。

复盘

首先要说的我自己必定不是什么大神,也拿不到一堆ssp,只是想分享给大师,一个不是很聪明的人(我高中是理科生,数学什么的很差),若何能尽自己所能找到一份法式员的工作。

进修过程
  • 大一的时辰由于自己进修的专业失业远景一般,而且没有做学术的志向,家境一般很想找份薪资高点的工作,然后知乎一股CS至上的风气让我下了转专业的决心。大一的时辰也并不清楚自己适不合适、能不能做这一行,特别是转专业很轻易,一向以来心里都没什么底。大一的时辰自学了JavaSE,那时看了一吨的各类培训机构的讲授视频,然后读了几本《Java焦点技术》、《Java编程思惟》等语法书,然后自己照着培训结构的视频做了个XX治理系统,然后大一就竣事了。
  • 大二一年过得很艰难,一年要上两年的课(补大一的课),但还是自己抽了一些时候去学JavaEE的技术(也是为了做课程设想),比如Spring、Hibernate、Spring MVC等框架,还有MySQL、Redis等存储技术,然后学了一点前端,委曲能自己写个网站的demo。这时辰对Java的道理以及框架的道理都不懂,只能说会用。而且那时培育了一种毛病的看法,就是框架学的越多,学的框架越牛逼,就似乎自己也牛逼了,大把时候都跑去学各类框架了,写了一堆demo。
  • 大二下不知自己几斤几两地加入了菜鸟的春招,成果一面还不到10min就GG了。缘由大如果一些专业课比如OS、收集等都没学过,记得那时问了一些比如Spring道理、Redis道理等题目,自然是啥都不会,还问了有没有正式的项目履历,写了一堆demo的我自然也是没有...
  • 大二下大要也是一般上课,由于有门课的课程设想跟数据分析有关,又跑去学Python、Numpy、Pandas啥的,中途而废了...
  • 春招失利,但还是想去找个练习。在大二暑假起头前,学长先容有个公司招暑期练习,然后就屁颠屁颠去了。成果那时准大三的我,还有几个准大四的学长,口试似乎就随意问了几个题目,就稀里糊涂GG了...听说最初是要了准大四的学长...
  • 大二暑冒充想到只学框架是不够的,最好是能有项目经历,可是项目经历也是要练习才能拿到的。此处可以祭出这张图。

震动!理科生若何转行成为阿里巴巴Java工程师?_资讯_2020-2-20 15:46发布_从零开始_159



没有正式上线的项目经历,就只能靠根本常识补了。
  • 暑假补了补Java的并发、NIO相关的根本,写了一个聊天室项目(不晓得为啥后来就100+star了...)https://github.com/songxinjianqwe/Chat;然后是读了一些并发的书《Java并发编程实战》。
  • 然后是想起学JavaSE时辰有个教程教若何手写(只用JavaSE API)一个WebServer,然后就模仿着自己写了一个,最初的版本也就1000行,后来春招又完善了一下。
  • 固然又补了一些框架/中心件,比如SpringBoot、Dubbo、RocketMQ的进修,又写了一堆demo。有一个demo(自己)感觉还不错的,就是自己在本机上搞了一堆虚拟机模拟散布式,分库分表,还有用MQ来闭幕布式事务的题目(实在也没啥技术含量,只不外比单机的demo强一点...)
  • 学框架/中心件的教程(一些什么架构师教程233...)中看到了Netty,领会到Netty是一个收集编程框架,做散布式收集通讯的(也就是做中心件的,不是搞利用开辟的),读了《Netty威望指南》,又写了一些demo。
  • 再后来...一言难尽,便宜力不敷去打王者光荣了emmmm。
  • 大三上的话课程也是有点多的,还有课程设想,为了课程设想学了Vue.js和PHP(这部分对找工作来说理论证实是没用的...),然后想要读一读框架源码的,就花了大要一两周读了Spring源码,读了《Spring源码深度剖析》,还写了一些源码剖析文章(固然和网上传播的大同小异https://blog.csdn.net/songxinjianqwe/article/details/78829923),然后又自己模仿着《架构探险-从零起头写JavaWeb框架》,自己又写了一个简化版的Spring IOC+AOP(不外前面口试的时辰讲这个项目讲着讲着就讲到了Spring源码)https://github.com/songxinjianqwe/Mini-Rest。
  • 大三上快竣事的时辰意想到顿时要决议今后的去向了,顿时慌得一批,自己分析了一下去向。成就应当能保研,可是最初是放弃了,给自己找了一些来由:
  • 只能保研本校本专业,不能去更好的黉舍
  • 读研最好是能搞机械进修之类的,做Java开辟搬砖啥的似乎也不用读研
  • 懒吧,感觉要读研就要在两年后再履历一场春招秋招...还不如现在把这个事处理掉,要不又要胆战心惊担忧失业
  • 别的自己感觉前两年也算是为找工作做了一点预备,也不至于说从零起头 决议了以后就起头苍茫,不晓得要学哪些工具,学到什么水平。然后就花了好几天的时候去牛客网上找面经,大要看了有100篇+的面经,把题目分类都记了下来,算是心里有了点底。

整理内容,在公众号背景答复 100篇面经
  • 以后就进入暑假,回家预备温习春招了。

春招

大如果从1月中旬起头温习,然后3月上旬起头投简历,中旬起头口试,一向口试到4月中旬。 - 我自己是理科生,在高中不时辰就有个习惯是记笔记,由于自己忘性很差,看过的书过几天就忘光了,所以自己记了很多笔记,以后在春找口试时代/秋招温习可以只看笔记快速温习。
  • 温习顺序大如果先去温习数据结构和算法,这部分由于自己不太聪明吧,学的很费劲。那时也买了牛客网的直通BAT口试算法精授课。然后刷了《剑指Offer》,原本筹算刷leetcode的,可是这里想讨点巧,自己确切不擅长,假如公司真的要求很高,爽性就放弃好了(对,说的就是你,头条)。
  • 然后是看操纵系统、计较机收集、数据库理论之类的,这部分就看确当前上课时辰整理的笔记
  • 以后是Java、散布式还有框架/中心件的温习。这部分是看了好多书,感受这个暑假看的书比前两年加起来的都要多emmmm。

《Java并发编程实战》 《Java并发编程的艺术》 《深入了解Java虚拟机》 《Java编程思惟》(这本不倡议突击看,最好是平常看) 《散布式Java利用 根本与理论》 《大型网站技术架构 焦点道理与架构分析》 《大型网站系统与Java中心件理论》 《Head First 设想形式》 《Spring 源码深度剖析》 《架构探险 从零起头写JavaWeb框架》 《深入分析Java Web技术内幕》 《Redis实战》 《高性能MySQL》 《从Paxos到Zookeeper 散布式分歧性道理与理论》 《深入分解Tomcat》(这本看的比力大略,看博客也行) 《深入散布式缓存 从道理到理论》 《剑指Offer》(神书!除了头条、腾讯大概外企大概其他国内比力重视算法的公司,这本书充足对付口试了,固然对算法比力感爱好的倡议刷leetcode,更稳一些,笔试也不轻易被刷,别的左程云的《法式员代码口试宝典》也很好,偶然候可以看) 《Netty实战》 此外还要看操纵系统、计较机收集、数据结构和Linux相关的课本。 别的还有一些我还没来得及看,但感受很是好的书: 《Redis设想与实现》 《MySQL技术内幕 InnoDB存储引擎》 《大范围散布式存储系统》 《亿级流量网站架构焦点技术》
  • 由于学了Netty、Dubbo等技术,筹算再深入一点,把Netty用在一个稍微正式一点的项目上,不要只逗留在demo上。所以花了一些时候手写了一个RPC框架,最初版本也就1000+行。https://github.com/songxinjianqwe/toy-rpc
  • 这个时辰感觉写一些网站的(特别是非正式上线的项目,自己写着玩的)之类的写不出什么花来,翻来覆去还是用他人的工具。可是口试,特别是阿里巴巴,对道理要求挺高的,你在项目里用了啥,你最好是能说得出来它是怎样work的。假如自己去造个轮子之类的,你会对某个组件或框架变得很熟悉,比读一遍源码在了解上要深一些(而且没有SSM那末low...)。
  • 然后就起头春招了,总共投了18家公司,最初是收到了5家公司的offer(酷家乐、快手、菜鸟、携程、网易),最初是挑选了菜鸟,主如果由于阿里巴巴对Javaer吸引力确切很大。说到菜鸟还是挺成心机的,一方面是客岁就透过练习,另一方面内推名额不是找人要的,而是一位师兄在Github上爬虫爬到我的,然后就给我发了邮件说你的Github上的项目很让人印象深入balabala,然后发了内推。后来练习入职今后问这位师兄,由于出格猎奇是哪个项目被阿里大佬看上了,成果人家说是全发了...没有挑选(这可太为难了....)
  • 以后5月份中旬就跑去练习了,虽然黉舍规定是7月份期末考完才能进来,可是自己算了一下7月份练习到9月份转正辩论的话练习时候太短了,感受做不了什么工作,所以提早就溜了。固然另一方面是课程也比力少,不外考试很多,要考好几次。练习了大要三个月就买了十几张南京——杭州的高铁票(感受练习完全没赚到钱,全花在路费上了emmmm)
  • 4月中旬到5月中旬也是忽然颓丧的一个月,明显前面还有秋招,但又去打游戏(那时辰frostpunk刚出,玩了好几天),看小说。技术上就只是把WebServer这个项目又完善了一下,把本来的收集实现从BIO改成了BIO/NIO/AIO。

练习

然后就起头了练习,练习的时辰大要做了几件事,比如给师兄研发的中心件开辟一个Web控制台,做一个快递相关的营业系统,还有一个类似于ABTest的系统。
  • 第一件究竟在营业很简单,只是熟悉了团体内部的一些中心件,可是后来感觉这样前面口试的时辰实在没得聊,就把师兄自研的中心件的源码读了一遍,自己总结了一下。
  • 第二件事花的时候最多,可是代码快写完了忽然收到告诉说项目取消,营业没谈成...这件事对我来说冲击挺大的,至此对营业开辟就发生了很多负面情感,这也是我后来离职重新秋招的首要缘由。
  • 第三件事也是挺简单的,根基上没学到什么新工具。
  • 在练习前期感觉自己做的工作技术难度不大,学不到什么新的工具;而且感觉营业开辟欠好,很想去做中心件大概根本设备相关的研发。在一番纠结后(大如果7月下旬)决议重新秋招。可是自己情况很低劣,一方面练习使命还是挺重的,没偶然候学新的技术;另一方面春招温习的内容也忘得七七八八了。
  • 以后筹算先做点新的工具,总不能跟春招一个水平吧。然后就花了两个多周(主如果早晨和周末)把RPC项目重新写了一遍(模仿着Dubbo的分层结构),最初大要有4000行左右。
  • 别的抽时候把Dubbo、RocketMQ等中心件的源码也看了一遍。
  • 以后就决心要离职了,白天也起头温习春招时辰的笔记,温习了大要一周,然后就离职了。

秋招

秋招时辰一门心机惟找偏技术的偏向,先是联系了一些阿里的其他部分,包括团体的中心件、蚂蚁的中心件等,里面的面的比力少,只面了PDD和网易。比力遗憾的是团体的中心件没有面过,还是自己的水平不敷。其他的拿到了offer,最初是挑选了蚂蚁中心件。

倡议
  • Java偏向的话最好是写点有自己思考的项目,不但限于CRUD的那种。比如我简历中写了4个项目,一个是Web项目,其他都是小轮子,大部分口试官明显都对小轮子感爱好,对满是套路的JavaWeb项目感受爱好不大。
  • 简历中项目中的各个实现要只管熟悉,假如做得时候久了,可以斟酌画一个类图大概时序图来加深印象
  • 有实在的、在线上运转的、有一定用户量的项目会加分的
  • 笔试的话一定要给前面的编程题留足时候
  • 不够熟悉的技术爽性不要往简历上写,比如我会写Vue.js,但仅限于利用,而口试官一定是会问根本的,做Java的前端根本不够好的话就不要写熟悉前端了...
  • 多刷刷牛客的面经 ### 面经 这里简单的总结了一下口试进程中经常被问到的,自己忘性不太好,没有在每次口试完以后记一遍问到的题目(明显是懒...
  • Java调集框架源码,几近每个公司间接间接地都问过
  • Java并发相关的常识,源码问的较调集少一些
  • Linux常用号令,罗列一些
  • 关系数据库的事务、索引、锁、范式
  • JVM, 根基都在《深入了解Java虚拟机》上
  • 根本数据结构(链表、二叉树、行列、栈)以及排序查找算法
  • TCP UDP等收集协议,OSI七层,三次握手四次挥手等
  • 设想形式
  • 项目,这部分看小我情况,你在项目上写过什么技术,口试的时辰就更轻易被问到,而且常常会偏重道理

最初内推

我们团队是蚂蚁中心件中做中心件产物化工作的,固然也负责比如监控Metrics等一些中心件,主如果做金融科技产物的对外输出,就是把付出宝堆集的高并发、高牢靠的中心件、PaaS等产物化,以私有云或私有云的方式对外输出。今朝蚂蚁金服的一大计谋就是金融科技,我们可以算得上是内部创业,未来成长远景很是好,也很是缺人。 现在我们团队需要20届的练习生,岗位有Java工程师、Go工程师等,三月份起头把简历录到系统里然后起头口试,现在便可以投起来了。

下面是师兄发的JD,大师可以把简历发到师兄的邮箱 xiangfeng.xzc@antfin.com。
  • 加入我们,你将介入 SOFA 开源的研发,打造金融级散布式架构的系统。
  • • 加入我们,你将接管到每年双十一,双十二带来的高并发的,高性能的极致性能应战。
  • • 加入我们,你将在现实生产情况中利用天下前沿的技术偏向,引领未来。 岗位要求: -• 酷好着计较机以及互联网技术,热衷于处理应战性的题目,追求极致的用户体验;
  • • 痴迷于数据结构和算法,热衷于ACM,经常为看到“accept”而兴奋的手足舞蹈;
  • • 最少熟悉一门计较机说话(C,C++,Java,Python,Golang,Rust),有杰出和快速的进修才能。
  • • 有杰出的进取心和义务感,有杰出的团队合作精神。
  • • 有大赛获奖经历,开源项目经历者优先。 邮箱:xiangfeng.xzc@antfin.com

感觉文章不错的接待关注我的WX公众号:法式员乔戈里

我是百度背景开辟工程师,哈工大计较机本硕,专注分享技术干货/编程资本/求职口试/长大感悟等,关注送3000G编程资本,免费下载CSDN资本。

鲜花

握手

雷人

路过

鸡蛋
收藏 分享 邀请

相关阅读

最新评论

一周热门

头条攻略!

日排行榜

相关分类