【秋招复盘】文科学渣2年逆袭成为java工程师拿下蚂蚁金服offer,附上我的逆袭复盘经验!

235 篇文章 3 订阅
181 篇文章 0 订阅

前言

楼主是19届应届生,在网上学到了很多东西,在实习和秋招也收获了一些offer(Java后端开发工程师)。在21届春招即将开始之际,把整理了很多资料给大家分享一下,
有点标题党,学习Java可能有两年时间,不过春秋招复习加起来大概就花了三个月(但是感觉比之前学的内容加起来都多…)。

复盘

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

另外我这里为大家准备了一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套大厂面试题(不断更新中),有需要的朋友点击这里备注csdn,自行下载即可!希望大家都能找到心仪的工作!

学习历程

  • 大一的时候因为自己学习的专业就业前景一般,并且没有做学术的志向,家境一般很想找份薪资高点的工作,然后知乎一股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的并发、NIO相关的基础,写了一个聊天室项目(不知道为啥后来就100+star了…);然后是读了一些并发的书《Java并发编程实战》。
  • 然后是想起学JavaSE时候有个教程教如何手写(只用JavaSE API)一个WebServer,然后就模仿着自己写了一个,最初的版本也就1000行,后来春招又完善了一下。
  • 当然又补了一些框架/中间件,比如SpringBoot、Dubbo、RocketMQ的学习,又写了一堆demo。有一个demo(自己)觉得还不错的,就是自己在本机上搞了一堆虚拟机模拟分布式,分库分表,还有用MQ来解分布式事务的问题(其实也没啥技术含量,只不过比单机的demo强一点…)
  • 学框架/中间件的教程(一些什么架构师教程233…)中看到了Netty,了解到Netty是一个网络编程框架,做分布式网络通信的(也就是做中间件的,不是搞应用开发的),读了《Netty权威指南》,又写了一些demo。
  • 再后来…一言难尽,自制力不足去打王者荣耀了emmmm。
  • 大三上的话课程也是有点多的,还有课程设计,为了课程设计学了Vue.js和PHP(这部分对找工作来说实践证明是没用的…),然后想要读一读框架源码的,就花了大概一两周读了Spring源码,读了《Spring源码深度解析》,还写了一些源码解析文章(当然和网上流传的大同小异),然后又自己模仿着《架构探险-从零开始写JavaWeb框架》,自己又写了一个简化版的Spring IOC+AOP(不过后面面试的时候讲这个项目讲着讲着就讲到了Spring源码)。
  • 大三上快结束的时候意识到马上要决定以后的去向了,顿时慌得一批,自己分析了一下去向。成绩应该能保研,但是最后是放弃了,给自己找了一些理由:
  • 只能保研本校本专业,不能去更好的学校
  • 读研最好是能搞机器学习之类的,做Java开发搬砖啥的好像也不用读研
  • 懒吧,觉得要读研就要在两年后再经历一场春招秋招…还不如现在把这个事解决掉,要不又要提心吊胆担心失业
    另外自己觉得前两年也算是为找工作做了一点准备,也不至于说从零开始
  • 决定了之后就开始迷茫,不知道要学哪些东西,学到什么程度。然后就花了好几天的时间去牛客网上找面经,大概看了有100篇+的面经,把问题分类都记了下来,算是心里有了点底。

秋招

  • 因为学了Netty、Dubbo等技术,打算再深入一点,把Netty用在一个稍微正式一点的项目上,不要只停留在demo上。所以花了一些时间手写了一个RPC框架,最初版本也就1000+行。
  • 这个时候觉得写一些网站的(尤其是非正式上线的项目,自己写着玩的)之类的写不出什么花来,翻来覆去还是用别人的东西。但是面试,尤其是阿里巴巴,对原理要求挺高的,你在项目里用了啥,你最好是能说得出来它是怎么work的。如果自己去造个轮子之类的,你会对某个组件或框架变得很熟悉,比读一遍源码在理解上要深一些(而且没有SSM那么low…)。
  • 然后就开始春招了,总共投了18家公司,最后是收到了5家公司的offer(酷家乐、快手、菜鸟、携程、网易),最后是选择了菜鸟,主要是因为阿里巴巴对Javaer吸引力确实很大。说到菜鸟还是挺有意思的,一方面是去年就透过实习,另一方面内推名额不是找人要的,而是一位师兄在Github上爬虫爬到我的,然后就给我发了邮件说你的Github上的项目很让人印象深刻balabala,然后发了内推。后来实习入职以后问这位师兄,因为特别好奇是哪个项目被阿里大佬看上了,结果人家说是全发了…没有筛选(这可太尴尬了…)
  • 之后5月份中旬就跑去实习了,虽然学校规定是7月份期末考完才能出去,但是自己算了一下7月份实习到9月份转正答辩的话实习时间太短了,感觉做不了什么事情,所以提前就溜了。当然另一方面是课程也比较少,不过考试很多,要考好几次。实习了大概三个月就买了十几张南京——杭州的高铁票(感觉实习完全没赚到钱,全花在路费上了emmmm)
  • 4月中旬到5月中旬也是忽然颓废的一个月,明明后面还有秋招,但又去打游戏(那时候frostpunk刚出,玩了好几天),看小说。技术上就只是把WebServer这个项目又完善了一下,把原来的网络实现从BIO改成了BIO/NIO/AIO。

建议

  • Java方向的话最好是写点有自己思考的项目,不仅限于CRUD的那种。比如我简历中写了4个项目,一个是Web项目,其他都是小轮子,大部分面试官明显都对小轮子感兴趣,对全是套路的JavaWeb项目感觉兴趣不大。
  • 简历中项目中的各个实现要尽量熟悉,如果做得时间久了,可以考虑画一个类图或者时序图来加深印象
  • 有真实的、在线上运行的、有一定用户量的项目会加分的
  • 笔试的话一定要给后面的编程题留足时间
  • 不够熟悉的技术干脆不要往简历上写,比如我会写Vue.js,但仅限于使用,而面试官一定是会问基础的,做Java的前端基础不够好的话就不要写熟悉前端了…
  • 多刷刷网上的面经

面经

  • 这里简单的总结了一下面试过程中经常被问到的,自己记性不太好,没有在每次面试完之后记一遍问到的问题(明明是懒…

  • Java集合框架源码,几乎每个公司直接间接地都问过

  • Java并发相关的知识,源码问的较集合少一些

  • Linux常用命令,列举一些

  • 关系数据库的事务、索引、锁、范式

  • JVM, 基本都在《深入理解Java虚拟机》上

  • 基础数据结构(链表、二叉树、队列、栈)以及排序查找算法

  • TCP UDP等网络协议,OSI七层,三次握手四次挥手等

  • 设计模式

  • 项目,这部分看个人情况,你在项目上写过什么技术,面试的时候就更容易被问到,而且往往会侧重原理

总结

最后为大家准备了Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。有需要的朋友点击这里备注csdn,自行下载即可!,人与人存在很大的不同,我们都拥有各自的目标,在一线城市漂泊的我偶尔也会羡慕在老家踏踏实实开开心心养老的人,但是我深刻知道自己想要的是一年比一年有进步。

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值