ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

2020-05-21 16:51:52  阅读:344  来源: 互联网

标签:知识点 面试题 Java 进阶 跳槽 学习 面试 源码 从外


我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

前言

估计有同学会有疑问,为什么要精确到天?是为了显摆吗?

答:仅仅是为了证明咱的严谨(其实就是为了显摆)

肯定有同学心里会吐槽:真的是外包吗?估计又是个标题党,吹牛逼,*&¥%¥

答:真的是外包哈,但是不是阿里的外包。是某传统外包公司,主要做项目外包。还有就是如果从我离职的那天算起,应该是2月3个月24天。2年6个月11天是从我这条咸鱼突然萌生了想翻身的想法那天算起,拒绝做标题党(づ ̄3 ̄)づ

当一条咸鱼多好,怎么突然想不通,想要翻身了?

答:

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

外包也有厉害的,你是不是菜的没那么明显?

答:我当时连成员变量是啥都不知道,要比菜没怕过的。

面经都发了那么久(19年8月),现在才写这篇文章,最近半年也没有技术文章(水文)产出,是不是堕落了,又过上咸鱼的日子了?

答:其实19年就想着要写这篇文章,希望能帮助到那些跟曾经的我一样的同学(咸鱼)们,当时想着是找个有空的周末!有空的周末!有空的周末!写一下,结果到今年5月还没写,刚才业务还打电话找我对需求(周六),已经被榨干。。。

文章介绍的修仙教程适合所有人吗?会不会走火入魔?

答:本教程仅适合单身狗修炼,有家室者请勿偷偷修炼,否则一切后果(轻则吵闹不休、鸡犬不宁,重则妻离子散...),本人概不负责

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

我公交车都快到站了,你还不开始?

答:好嘞,容小弟为大爷您细细道来

正文

修仙第一步:炼体(菜鸟期)

 

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

首先,我到网上搜了一堆 Java 基础面试题,啥也不说,先背了个几天几夜,这个方法看似粗暴,实在暗藏玄机。

当时的我菜的很真实,很多基础概念都不懂,背面试题能让我快速掌握 Java 核心基础知识。

放到现在来看,对于 Java 初学者,我还是建议可以采用此方法,因为面试题基本都是比较重要的内容,也能起到一定的筛选作用,避免初学者漫无目的的学习(瞎搞)。

有些人可能会以背题为耻,垃圾才背题,我才不背,我要裸面,展示自己的实力。

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

结果大概率是二面挂、一面挂、简历筛选挂,然后默默的背题,然后。。。

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

我个人觉得背题其实挺正常的,大部分人的日常工作基本就是CRUD,很多面试的知识点日常基本都用不到。我一个QPS不到10的系统,你问我高并发、熔断、降级、秒杀系统的设计?

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

在阿里,大多数人要出去面试时,我相信即使不是背题,肯定也要温习准备一段时间 。阿里内网还有个老哥写了篇文章“那些年,为了进阿里背过的面试题”,截至目前得到487个点赞,1755个收藏。。

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

背完基础面试题后,估计有些同学已经膨胀了,觉得自己很能打了,就出去面试了,然后出去大概率被面试官一顿疯狂操作,最后收到那句已经听过无数遍的话:今天的面试就到这,如果有结果我们会再通知您。

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

小结:该阶段主要做两件事:1)帮助自己快速掌握 Java 的核心基础概念;2)所有第二阶段要系统学习的东西在这边都要了解个大概,至少要知道核心概念。

一般花1个月左右的时间学习,能学习的时间在公交车上、地铁上、午休、晚上下班后、周末、带薪拉 时,能利用的时间都要利用起来。可能有同学说周末要陪女朋友,女朋友?不存在的。

修仙第二步:练气(学徒期)

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

熟悉了 Java 的核心基础概念后,第二阶段我们要开始系统的学习一些 Java 核心知识点:集合、IO、反射、并发、锁、多线程、数据库原理、JVM基础、常用中间件(Dubbo、Kafka、Redis、Zookeeper)核心原理和框架(Spring、Mybatis、SpringBoot、SpringCloud)核心原理等。

学习方式我建议以看源码和看书为主,看博文和看视频为辅。可能有的同学听说要看源码就懵了。

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

看源码是吃一手饭,其他几种方式是吃别人嚼过的饭,别人的东西我们无法保证其质量,因此还是优先吃一手饭。另外,看源码是对自己学习能力的一种锻炼,刚开始痛苦,但是摸清套路后,其实也没那么难,并且会让自己受用终身。

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

刚开始看源码的话我这边墙裂推荐 ArrayList,ArrayList 比较常用并且很简单,非常适合初学者。

JDK1.8 中 ArrayList 的源码有1400多行(注释估计占了一半),但是我们不需要全部看,我们只需要看其中重要的内容:基础属性、构造方法、get 方法、set 方法、add 方法、remove 方法、扩容方法等。

看完 ArrayList 之后再继续看它的老婆类 LinkedList,面试中这2个类一般会被拿来一起问。看完这两个类的源码后,再结合源码看看面试中会问的题目,这个知识点基本就掌握的差不多了。

看完 ArrayList 后,估计有同学又膨胀了,源码也不过如此,渣渣。

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

这时候建议可以开始看复杂一点的,优先推荐 HashMap,HashMap 是现在面试中被问的最多的基础知识点应该没有之一,HashMap 的源码比 ArrayList 复杂的不是一点半点,再加上 JDK 那写的贼不规范的源码,看着就脑壳疼。

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

当然,一手饭固然香,但是难度会比较大,所以我们也要适当吃一些二手饭(软饭,阿姨,我不想努力了)。

如果要吃二手饭,我们也要有选择,不然你吃到的可能不是饭,而是泔水。在这些中,书一般比较有保障,特别是那些豆瓣评价不错的书都是经过很多人检验的。还有就是一些坚持原创的优质公众号/博客,例如公众号程序员囧辉(老脸一红)。

看书的话,我当时最先看的是那本在大学时候买的,被我垫在枕头下面,陪伴了我无数个夜晚的《Java 编程思想》,但是说句实话,我个人感觉这本书不是很适合初学者读,给我带来的帮助也没那么大,所以如果时间不是很多的话,我这边不推荐先看这本书,但是用来垫枕头还是香的,贼厚。

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

 

我看过的书中,在这个阶段,我个人推荐的是:《Java 并发编程的艺术》、《Java 并发编程实战》、《深入理解 Java 虚拟机》(最近出了第三版)、《Redis设计与实现》。当时的我还是个小菜鸡,但是读这几本书,并不会觉得有读不下去的感觉,因此我觉得适合在这个阶段去读。

小结:本阶段的学习是持续不断的,在这个阶段我们主要把一些重要的知识点进行了系统的学习,夯实自己的基础,提升自己的知识广度。

源码学习集中在 JDK 源码(JDK 1.8),其他的主要是学习其核心原理。如果不知道某个知识点的核心原理,则可以对照着面试题去学,面试题问的一般就是核心的东西。

如果你当前在外包公司或者是一些传统公司,修炼完本阶段之后,可以尝试先跳一波。从外包直接跳阿里也不是没有,但是少。因此,我们要先找一个平台来当作跳板,最好是独角兽,就是喊出来大家至少能知道有这么个公司的。

修仙第三步:筑基(入门期)

 

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

本阶段主要在第二阶段的基础上,进一步提升自己的知识深度和项目实践。说的直白点就是提升自己的亮点,让自己在面试时有显摆的资本。

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

本阶段我们会挑选一到两个常用的中间件或框架,来深入学习其源码,例如:Spring、Mybatis、SpringBoot、SpringCloud、RPC(Dubbo、gRpc、公司自研)、MQ(Kafka、RocketMQ、公司自研)、Redis、Zookeeper、JVM、数据库中间件(TDDL、MyCat)等。

JDK 源码直接肉眼看的话问题不大,但是如果你直接肉眼看中间件和框架源码的话,你会知道什么叫做残忍。比较合理的的学习方法是反复debug源码+做笔记,我一般是把源码下载到本地,然后直接在源码上做笔记。

除了源码,本阶段另一个重要的内容是要提升自己的项目亮点。估计大部分同学在面试时都被问到过这个问题:你在项目中有什么亮点吗?此时自己内心的OS是:我TM一个QPS不到10的项目,有个鸡儿亮点。

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

如果你的项目本身就有高并发、大数据量的情况,那么找亮点应该不难。否则,我们可以从以下几个方向去找:1)比较复杂的场景方案设计;2)系统稳定性保障方面的设计:限流、熔断、降级等(6位数的密码保护2位数的存款);3)线上问题的排查和解决:死锁、宕机、Full GC 频繁等。

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

除了列举的这几个,还有很多其他的,只要我们在碰到项目难题时,能迎男而上,找到自己的项目亮点是顺其自然的事。

小结:本阶段主要是集中于提升自己的知识深度和项目中的亮点。让自己在面试的时候,能有显摆的资本。但是切记,显摆要把握好尺度,切勿过火,毕竟我们是来讨饭恰的,不是来显摆的。

总结

修仙之路很苦,无数个寂寞的夜晚,无数的诱惑(马路对面的洗脚城是我不敢奢求的梦)。如果能坚持下来,我相信大多数人都能轻松的讨一口饭恰,混个人模狗样也是很有可能的。

但是要坚持下来真的不容易,囧辉现在回忆起那无数个寂寞的夜晚,眼角不禁湿润了。这边有本武林秘籍可能对坚持学习有一点帮助:如何养成学习的习惯,希望能助你成功。

分享一波学习资料哦

注意:为了不影响阅读,整理了解析成文档给大家复习参考!有需要这些资料的,关注公众号即可获取文中对应资料哦

Java高级工程师核心面试1000题解析

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

Java高级架构面试知识点问题解析整理

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

Java面试知识点笔记整理

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

最全面试指南合集

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

精品源码实战文档

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

Spring100集视频解析带你深入底层源码

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

23种设计模式视频解析

我成功从外包公司跳槽到阿里,分享我的学习进阶之路

 

 

 

标签:知识点,面试题,Java,进阶,跳槽,学习,面试,源码,从外
来源: https://www.cnblogs.com/aaaabbbb/p/12931766.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有