没背景没学历看清现实后,历经 300 天终于上岸阿里 Java 开发岗,梦想还是要有的这不就实现了嘛
作者:互联网
前言
想写这篇文章很久了,也有粉丝留言、私信问我打卡系列怎么断更了这么多天(狗头保命),首先给大家解释一下最近为什么 “失踪了” ?
由于近两周要入职,找租房,整理微信公众号,所以没多少时间写头条,今天难得闲下来,做一篇近期总结给大家。
近期总结(2021 年 9 月-11 月):
忙忙碌碌的秋招陆续开始,通过自己的努力成功拿到了阿里、哔哩哔哩等 6 家互联网公司 offer,也希望能结识更多同届优秀的大佬们,互相学习,互相分享经验、心得,共同进步~
关于我
熟悉我的小伙伴应该知道,我是普通本科出身,并没有学校光环加持,想通过自己的努力进入互联网大公司本身就是一件不简单的事情,为了弥补差距,自己要付出比别人更多的努力,才能收获一份好的结果。
越努力的人越幸运:
停更的这段时间,是我面试高峰期,期间自己一直在刷算法题,研究面试题,看源码知识,我自己并不知道自己能去什么样的公司,只是觉得按部就班的冲一把,无论结果高低,自己总会有一个归宿的。
幸运的是,通过自己的努力,也算是终获自己非常满意的几家 offer。所以,我不赞成学历平平就一定不能进大公司的说法,学历确实可以在大公司面试中成为加分项,但是只要努力了,即使没有加分的学历,但是在专业知识上的额外付出也能弥补学历的劣势。
因此,与其自说自己是败在了学历上而无法进入大公司,不如说自己是败在了没有足够努力上!我认识一些优秀的同届大佬,他们也是本科进入了阿里、字节这种公司,他们身上的共同点就是愿意比别人多付出更多努力!
我们大学四年里,同一个专业、同一个班级、乃至寝室,如果每天多去几趟图书馆、自习室,少玩几把 LOL、绝地求生,那么毕业后结果可能就不一样了吧!
我想每一个人应该都不希望在大学毕业后,看着室友拿着高自己几倍的薪资还笑着说自己不羡慕吧?
成长经历
我觉得大学四年,就是在单位时间内,尽可能多吸收知识,提高专业技能过程。可能有人会反驳,大学四年时光短暂又宝贵,为什么非得把一门心思放在学习上?好好享受大学生活不好吗?
当然,我不反对这样的观点,享受大学生活是每个人都拥有的权力。但是我要澄清一点,如果你和我一样,学历平平,家庭条件平平,又渴望通过学习改变生活现状的话,那么现在不努力,你只会距离你想要的生活越来越遥远。
不要因为害怕苦难,而无下限的降低自己的要求,不试试看怎么知道结果呢?
大一刚入学的时候,自己第一次接触计算机编程,那时候对未来的职业规划是非常积极乐观的,幻想有一天自己能在心仪的互联网公司做自己专业对口的工作。
到了大二渐渐看清现实,发现想去心仪的公司,目前学历和技术差距是非常大的,于是自觉降低要求,希望能保底有一份月薪 10K 以上的工作,自认为自己肯定不会成为能进大厂的佼佼者,反而期望越大失望越大。
。。。。。。
不试试看怎么知道呢?无非就是多付出点努力,哪怕达不到预期收获,好歹也不会太差,不是吗?
我自己基本上是从大二寒假开始自学之路的,起初也不知道该学什么,于是就在寒假期间先把下学期课程内容 Java 跟着课本,提前学了一遍,因为赶上疫情,寒假结束后学校没有安排开学,于是就在 B 站寻找一些网课去继续往后学习,也是那段时间,自己头一次认识到哔哩哔哩大学的重要性!
疫情在家 8 个月,先后在 B 站学了 Java 相关课程,后端框架,微服务相关课程,跟着网课做了一些项目,在 Gitee/GitHub 参考一些开源项目自己去阅读源码。也是这段时间,自己接触到了一些非常不错的 Up 主,推荐马小婧,很多学习视频值得看看~
过度依赖视频教学模式是否有害?
当然是有的!前期在接触 Java 后端技术体系的时候,看视频确实可以帮助快速入门,上手撸代码,学习效率也很高,但是这势必会养成一个坏习惯,遇到陌生的技术栈/知识点,首先想的是找视频而不是自己琢磨,编程相关技术体系那么庞大,不是所有课程都能被收录到 B 站,以视频形式分享出来。
举个简单例子,看 JDK 源码,这时候就不要再一味的依赖网课去学习了,自己动手搭建源码阅读环境,搜一些博客资料,跟着一步一步 debug,这样学习效率会大于看源码教学课程(因人而异,只是我自己的观点)。
如果博客、学习视频都没有的情况下怎么办?
以 Java 方向为例,如果在继续深入学习的过程中,发下当下网课、博客文章已经找不到自己要学的内容了,或者视频和博客都只是片段知识,而不是一套完整体系时,回归书本的必要性就来了。
比如,自己可以试着去读一读 《深入理解 JVM 虚拟机》、《并发编程之美》、《Spring 源码深度解析》、《Java 编程思想》等 Java 领域的神书。点赞+关注我支持一手, 可免费领取相关资料~
总结:
学习步骤:
-
结合课本和老师授课入门
-
看网课自学
-
阅读博客学习
回归书籍,进一步提升自己~
从事计算机/互联网行业,在校期间具体应该学哪些?
1 计算机基础知识
- 这里所说的计算机基础知识包括(但不局限)以下几门课程:
- 计算机网络
- 操作系统
- 计算机组成原理
- 数据结构
- …
不要觉得计算机基础学科在工作中用到的不多,就不作为重点,在面试环节这些都有可能被问到,尤其是大公司!
2 某一个方向深入学习
- 举 Java 后端方向为例:
- Java 基础知识
- Java 并发编程
- MySQL 关系型数据库、Redis 非关系型数据库
- Java 后端框架,eg:Spring 家族,Mybatis 等等
- 微服务,Spring Boot 、Spring Cloud、Dubbo 等等
- 消息中间、ES 、Nginx 等等
这些范围的课程在 B 站 和 CSDN 博客社区基本上都可以找到教程和博客学习,但是切记,不要一味的堆积技术栈的使用而快餐式学习。即,一味的学框架,却不重视基础,这样在校招面试环节非常被动,甚至是很大缺陷。
简历上技术栈写的很庞大,但是从基础开始问起,一问三不知,所有都停留在基本使用层面,是非常不可取的。
什么是快餐式堆积学习?
比如学了 RabbitMQ 消息中间件,然后就又去学 RocketMQ ,Kafka 等,只是在堆积技术栈宽度,却没有在某一个 MQ 上下足功夫去研究。
基础和技术栈宽度哪个重要?
大厂更重视基础,小公司更在意技术栈宽度,小孩才做选择,成年人我都要!
所说的重视基础,到底是那部分呢?
举个例子,你熟悉 Java 语言,那么你是否了解过 HashMap 的实现原理呢?(当然,这种被问烂的问题,很多小伙伴会觉得简单的一批)。
或者说,Java 锁大家都用过,那么 Java 锁锁住的是什么呢? JVM 虚拟机是怎样区分不同的持锁对象呢?Java 8 大基本类型的内存占用空间和取值范围了解过吗?(诸如此类,如果不相信面试会问的这么细节,可以去看看牛客网大厂面经,和我的面试题打卡系列文章)。
其实我觉得,基础知识学起来,甚至比技术栈扩展更难!
不要贪多嚼不烂:
我身边有些同学也好,网友也好,经常会出现这样的情况:
Java 就业范围广,我先学 Java。但是 Go 语言是未来,我也要学 Go,前端也很重要,我也要学前端,或者 大数据比 Java 后端名字听起来高大上,我学大数据。
术业有专攻,每个人的精力是有限的,不同语言,不同方向的知识体系是无限的,我们只能把有限的精力,优先投入到当前最应该学习的内容上,而不是所有方向雨露均沾,但是没有一个方向是自己拿得出手的!
3 算法
大厂面试算法一个槛,相信很多小伙伴和我一样,都怕笔试算法题,但是啊,算法这东西,多刷题就行,leetcode 或者 oj,100 道题不够就 200 道题,200 不够就 300,只要花时间肯定能克服!
目前正在收集 B 站上一些免费的项目实战教程,之后会单独总结一篇文章分享出来。同时也会分享几个 Gitee/GitHub 上比较热门的开源项目供大家参考!
最后
如果你时常觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧!
群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的 JAVA 交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
点赞+关注我后,一起交流、学习、成长,私信“学习” , 即可免费获取一线大厂面试题、高并发等主流技术资料。
标签:Java,300,自己,技术,学习,源码,学历 来源: https://blog.csdn.net/weixin_45987961/article/details/122268131