AIL

V1

2022/01/24阅读:51主题:山吹

1

Java 硬核学习指南 从零基础进阶大厂 by 小龙coding。

原创不易,请勿抄袭,违者必究!

前言

作者介绍

⼤家好,我是小龙,是这本我要进大厂学习指南的作者,电⼦书的内容都是整理于我公众号「小龙coding」⾥的各期专栏文章。

还没关注的朋友,可以微信搜索「小龙coding」,关注我的公众号,后续最新版本的 PDF 会在我的公众号第⼀时间发布,⽽且会有更多其他系列的专栏文章,⽐如你好,面试官、CS指南、大厂面试、校招求职等等。

Java系列校招面试求职,学习导航认准「小龙coding」。

学前须知

1、指南介绍

简单介绍下这份 学习指南 PDF,这本电⼦书共有 15W + 450 张图,⽂字都是⼩龙⼀个字⼀个字敲出来的,图⽚都是⼩⼀个点⼀条线画出来的,⾮常的不容易。专栏书籍等资源全是小龙秋招求职期间学习研读过觉得特别有意义,进而收集的。

此版本为 '我要进大厂V1.0' 后期会根据各方面因素调整,不过总的框架不会变,也就是说你不管根据哪个版本学习都没问题,只是随着版本迭代,后面涉及考虑的地方会更加细致,更加全面。

2、这份指南适合什么群体呢?

这份指南主要是面向Javacoder,当然其他方向也可以参考其中某些模块,比如CS基础等。

指南分不同模块,适合不同人群:

你可以是零基础小白,从上往下学习。

你若是着急找工作,直接看《校招求职》、《面试速成》

3、这份指南要怎么阅读呢?

这份指南分为不同模块,「零基础小白」、「专题学习」、「校招求职」、「面试速成」等模块,你可以把这份指南整体架构想象成一本功法,不同模块根据学习者层次而设定。

「零基础小白」旨在基础招式——会带着你从懵懂无知畅游Java之海而到初有感悟,有对应书籍、视频、专栏学习指引;

「专题学习」旨在内功夯实——会带着你进一步夯实基础,根据大厂面试常考重点难点设置对应专题,大部分对应着大厂面试题;

「面试速成」属于后期功法也可称秘法——当你一步一步从头学到这,完毕必定大成,根基稳固,若你着急找工作也可借此秘法快速达到大厂面试要求,但是可能实力虚浮;

「校招求职」属于功法斗技,建议面试求职前一定认真阅读,对面试求职必定事半功倍。

若你是刚入门或者一问三不知的零基础小白,建议从头阅读,根基打牢;若你有一定基础,对面试认知欠缺,可直接看「面试速成」、「校招求职」模块。

指南不可能面面俱到,某些地方由于篇幅或者其他原因不会详细介绍,不过会指定学习之处。

建议学习指南——我要进大厂配合作者「面试笔记」相看,进阶大厂,拿捏面试~

下⾯这张思维导图是整个电⼦书的⽬录结构:

图1-指南大纲

勘误事宜

小龙不是神,或许有不足也有出错的地方如果你发现有任何错误或者疑惑的地⽅,欢迎你通过下⽅的邮箱反馈给⼩龙,⼩龙会逐个修正,然后发布新版本的。大厂进阶学习指南 PDF,⼀起迭代出更好的大厂进阶指南!

勘误邮箱:xlcoding@163.com

一、零基础小白

本节可以理解成一个学习导航,「零基础小白」旨在基础招式——会带着你从懵懂无知畅游Java之海而到初有感悟,有对应书籍、视频、专栏学习指引。

学习目标——分为前期与后期,前期指学习构建知识体系,后期指进阶为大厂面试准备。

学习建议——结合当下大厂面试套路给予一定看法与建议。

1.1 知识体系

1.1.1 Java基础

学习目标

前期 1、对Java语言形成一个大概理解与认识。 2、熟悉基本语法的使用,如果你有C与C++的基础,上手也会更快。 3、最后能独立的做一个简单的系统。 后期 1、深入剖析源码,比如HashMap、ArrayList等集合,并发包JUC下的相关类等。 2、深入理解JVM 3、理解反射机制等

学习途径

视频:

尚硅谷宋红康Java基础教程:www.bilibili.com/video/BV1Kb411W75N

书籍:

《Java核心技术》

其他辅助网站:

菜鸟教程:https://www.runoob.com/

速学堂学习笔记:https://www.sxt.cn/Java_jQuery_in_action/%20Java_Characteristics_and_advantages.html

廖雪峰Java教程:https://www.liaoxuefeng.com/wiki/1252599548343744/

学习建议

Java基础一定要学习扎实,开始慢而求稳,扎实,后期可适当快。所谓地基不牢,地动山摇。前期没学扎实,后期吃 “回锅饭” 更浪费时间,因为后面都基于前面基础进阶的。

遇到问题实在不能理解,可以记录下来,继续往后看,等后面可能老师还会结合例子讲,或则等你学完以后已经有了一定认识再回来看就更容易理解啦。

建议:你们在学视频或则学校课程开设可能会讲GUI,这玩意后期根本不用的,只是学校考试罢了,所以不必深究浪费时间。

项目:学完Java基础知识,可以做一个控制台打印的XX管理系统之类的,把所学知识串起来,加深映印象。也会给你带来满满成就感,增加学习趣味与动力。

1.1.2 MySQL

学习目标

前期 掌握基本语法,形成大体映像,切记把SQL练熟,各种连接查询。 后期 看书、看专栏,深入了解底层原理,如锁、索引、事务实现原理、引擎、架构、主从等。

学习途径

视频:

尚硅谷MYSQL入门基础教程:www.bilibili.com/video/BV12b411K7Zu

书籍:

基础:《MYSQL必知必会》(专栏)

进阶:《高性能MYSQL》(书籍)

面试补充:极客时间《MYSQL实战45讲》(专栏)

获取方式:百度 / 公众号【小龙coding】后台加群,本指南提及资料我都有,都看过。

学习建议

MYSQL有很多要学习的,基础+高级进阶。高级进阶会有:索引、锁、主从同步、分库分表、集群等知识,本阶段对于新手建议就学习基础即可,等后期高级进阶阶段才学。

相关面试题可以扫下方二维码,关注公众号【小龙coding】,有小龙秋招整理的【面试笔记】

MySQL
MySQL

下面 部分笔记 节选【面试笔记】

面试笔记——《MySQL30问与答》

https://mp.weixin.qq.com/s/GNR5Q7BZS5pdKGj8wuasoQ

1.1.3 JavaWeb

1.1.4 主流框架

1.1.5 中间件

1.1.6 微服务与分布式

1.2 扎实基础

1.3 项目归纳

二、专题学习

2.1 集合篇

2.2 MySQL篇

2.3 并发篇

2.4 JVM篇

2.5 算法进阶

2.6 分布式系列

2.7 补充

三、校招求职

3.1 二本上岸大厂经验分享

3.2 简历制作

简历的重要性

即使你有很牛逼的技术,但是你初筛过不了,连面试机会都没有,你说个der.....。

初筛环节:在招聘高峰期,HR一天就要看好几百份乃至更多简历,每份简历不可能花太多时间,所以你得学会如何在短短几十秒去吸引抓住HR眼球,符合招聘要求并且还觉得你很牛逼。

面试环节:面试中,面试官一般是根据你的简历提问,而你把简历写好,可以很好的引导面试官去提问,趋利避害。比如,你在简历上把你擅长的部分突出出来,“熟悉掌握MYSQL,MYSQL架构、索引原理事务原理与锁机制、日志机制等,有一定SQL优化经验”,那么面试官刚开始拿到简历,可能还没想到问什么,第一眼便会看到你的 “索引、事务、锁” 相关的,然后便很大概率去问你这方面的内容。

简历的内容在精不在多,尽量保持在一页即可,少用口水话,直接抓住核心+亮点+你擅长的。

不用搞花里胡哨,讲太多其实没用。

简历框架

1、简历风格朴素大方即可,不必搞得花里胡哨

推荐 超级简历 制作简历,美观大方。

这里分享些我收集的优质简历模板。

  • 超级简历 :https://www.wondercv.com

  • Markdown+css 自定义简历模板 :https://github.com/CyC2018/Markdown-Resume

  • Markdown 在线版简历排版工具:https://resume.mdnice.com

2、选项包括哪些?

教育背景+实习经历+校园经历+专业技能+项目经历

内容在精不在多,什么个人评价不必了

3、具体内容怎样写?

扬长避短+适当虚假与夸张+针对准备

什么意思呢?

扬长避短:假如你是二本,却有腾讯实习,可以把腾讯实习经历摆在第一项,学历第二项,给HR第一眼映像很好。

适当虚假与夸张:悄悄说,除了学历千万千万不能造假,其他的都可以适当参点水分。

比如:

校园经历,你没有比赛怎么写呢?那你在学校你总参加过一些活动吧,你可以适当包装一下,然后说自己是活动项目负责人,不过千万要清除整个流程(或者百度 (●'◡'●));

项目【备战春招-大厂项目套路解析】末流二本如何包装简历项目?项目亮点怎么写、项目一定分布式吗?如何与面试官聊项目?

专业技能:有两种方法。

  • 第一种:自己根据自己会的技术栈老老实实写,自己不会的千万别写,写了的认真研究可能会问的问题,关注公众号后期会持续更新大厂面试题。

  • 第二种:找适合自己的大佬,参照他的技术栈,适当增删,然后再根据技术栈去针对学,因为这些基本就是大厂要求的技术栈,或者大佬们靠他通过了简历筛选。

下图是小龙校招时使用的简历模板,是使用 超级简历 书写的。

注意:我这里写了 3 个项目是想把各种项目类型尽可能多的给大家做个实例,一般写 1-2 个,简历控制在 一 页~

这份简历模板,pdf+word版都有,可以扫描下方二维码,后台回复「简历」即可获取

MySQL
MySQL

下面详细说下每一部分该怎么写~

具体细节

专业技能

把握好专业技能的描述,专业技能的熟悉一般分为三个层次:

  • 精通:最好不要写精通,会被面试官问到怀疑人生....。
  • 熟悉/熟练/掌握:一般都写熟悉XX的使用,对于经常使用到的技术,主要用的技术栈,一般都这样写。比如使用SSM、MySQL等。
  • 了解:知道这玩意,或则自己只会一点,或则准备不充分,害怕被面试官问穿的。比如 “分布式”。

注意:简历上提到的技术栈,一定要是你能回答上来的,即使你不会,但是问你问题你要能答(八股~),建议写自己会的,然后再背八股比较好(点击—面试笔记

技术点尽量写详细一点,如果要写MySQL相关,不要只写熟悉 MySQL的原理和基本使用。可以换成 “熟悉掌握MYSQL,MYSQL架构、索引原理事务原理与锁机制、日志机制等,有一定SQL优化经验”,然后把你最擅长最牛逼的点用 黑色加粗凸 显出来,不要只写泛泛概念,一定 落实到具体哪个点

为什么这样做?

对面试官来讲,面试官刚拿到你的简历,他可能没有想好具体的问题。

我们把专业技能写的很细,落实到具体某个点,面试官有很大可能去问这些专业技能了,然后这又是你熟悉的领域,如果回答的很漂亮,将是很大的加分项。

并且面试是有时间限制的,这方面聊的多了,那么其他方面就聊的少了,遇到不熟悉的概率就更小了。

比如:

  • 具有扎实Java基础,熟练掌握集合、多线程、反射等基础框架,对集合多线程有深入研究。
  • 熟悉常用的数据结构与算法设计模式
  • 掌握计算机网络,掌握TCP,UDP,HTTP等协议。
  • 掌握进程通信内存管理、虚拟内存等操作系统知识。
  • 熟系掌握MYSQL,MYSQL架构、索引原理、事务原理与锁机制、日志机制等,有一定SQL优化经验熟悉
  • 掌握Redis核心底层数据结构,主从复制,持久化、Redis分布式锁等。
  • 熟悉JVM虚拟机基本原理,包括内存模型垃圾回收机制类加载机制等
  • 掌握SpringMVC、Spring、Mybatis、Springboot、Vue.js等主流框架使用。熟悉前后端分离开发,有 SpringCloud项目经验。
  • 了解Element UI、Vant UI等组件库。

项目模块

因为项目这块特别重要,因此我前面出了专门一篇文章来讲解了,还没看过的回头看看。

文字版本:【备战春招-大厂项目套路解析】末流二本如何包装简历项目?项目亮点怎么写、项目一定分布式吗?如何与面试官聊项目?

视频版本:https://www.bilibili.com/video/BV17a411z7PL?spm_id_from=333.999.0.0

最好,简历控制在一页,用pdf形式导出,命名要么按照投递公司要求命名,要么就 “姓名+电话+学校+应聘岗位+学历(学历高)

照片可贴可不贴,有的同学很纠结这个问题,你是技术岗没必要在意这些,要是觉得颜值过人,贴上去说不定可以开挂,哈哈。

教育信息、校园经历、实习经历这些就是一些基本信息,除了校园经历可以适当包装,其他如实写就是,最主要是专业技能项目模块

切记,学历啥的千万别作假哎,即使学历低也要写上去

3.3 项目包装

从收到粉丝私信来看,很多都是咨询项目的问题:

没有项目怎么办?简历上项目该怎样写?我只做过简单的业务感觉没什么亮点该怎么办,会不会直接被刷下去?不懂项目怎样包装?项目是不是必须要涉及分布式、微服务这些?

当初我开始找工作时也遇到过相同的问题,然后到处网上B站等搜各种视频(关于项目怎样写?),也看过很多贴子。我发现网上都有一个通病,就是感觉说了又感觉没说,你觉得讲得很有道理,但是听完它讲的你依旧不知道项目怎样写。

然后你也没有合适的项目,即使你做过几个项目,但是都是一些及其简单的项目,没什么亮点,不懂怎样就你自己的项目怎样去包装,网上的视频,帖子就扯一些泛泛的说法,然后全是一些什么负载均衡,分布式、微服务相关的点,我不可能为了亮点而去强行添加这些看起来很牛逼的技术啊;

而且个人觉得大部分校招生刚毕业怎么可能很好理解这些技术(ZK、SpringlCoud、JVM调优、数据库调优)去解决具体的业务问题,即使真的会一点,都是绝少部分同学,假如我作为面试官感觉校招生扯这些一听就是背八股,你背得好,然我找不出问题还行,可以让你过,背得不好我只会觉得你没有独立思考能力,然后实际code能力也不行。

其实当时我想找的是那些怎样抽丝剥茧的结合具体场景去教你包装项目,然后你可能模仿它的方法去包装自己的项目,而不是你只是告诉我简历上项目部分要start法则,要突出亮点,要怎么怎么写,我肯定知道要突出亮点,问题是我压根不知道亮点是啥啊,呜呜~

我想通过本篇文章全方面的分析项目究竟怎样准备,你看了绝对可以自己打造一个满意的项目出来。

3.3.1 项目来源与分类

简历上的项目无非要么是实习的项目,要么是自己真实做过的其他项目(比赛,跟着网上做、实验室等),要么是压根就不存在这样一个项目的项目

怎样去获得项目(宏观)?

实习项目

可以将实习的项目写在简历上。

怎样去写?

相信绝大部分同学去实习也只是打打杂,即使上手写代码更多的可能也就是简单的调调接口,写写CRUD,不可能涉及到复杂的核心业务,系统优化,调优这些。

这时,你得打开你的格局,虽然你没做过这个功能点,没有进行优化升级,但是不代表和你一起做这个项目的同事,老员工,leader也没有做啊,你可以去请教你的同事看看他们做的好的功能点,业务点,觉得不错的亮点拿过来写进你的简历。

切记,一定要自己弄清楚

当初我实习时,主管分配给我的任务也很简单,简单的我都不好意思写进简历,但是我的同事他们(正式员工)做的很多难点,亮点,其中什么分布式锁去解决某个问题,定时任务去解决某个问题等等,我向他们取经学习然后写进自己的简历,这就是亮点啊;

而且是公司实际用来去解决了某个具体业务问题,你可以就这个业务场景先说出现了什么问题,然后你用了什么去解决了这个问题,相比之下这个更能让面试官觉得不错。

自己做的一些项目

你可能在比赛时做过某个项目,跟着网上视频做过某个项目等。

如果是比赛,实验室里面的一些有着相关背景的项目,建议可以从项目背景、项目成果、相关技术栈、有没有真正落地实现,用户量多少这些方面下手。

比如:我参加的XX比赛,获得XX奖,这个获奖比例权重是XX,然后我做的这个项目具体是去解决XX背景下的XX问题,用了XX技术栈,最后上线,目前用户量是XX。

如果是跟着网上视频做的项目,避免分布式微服务,秒杀,商城,实现避免不了,把场景变换一下,技术栈根据求职要求适当调整。

然后这只是一个宏观概念,具体你得落实到和职位相关的一些技术点,具体细节包装后文统一介绍

虚拟的项目

这个适合急于找工作,但是一个项目也没做过的同学。

可以根据当下面试热门技术点,自己构建一个场景,再把热门技术点融入进去,取个合适的名字,项目背景技术栈搞定。

然后百度或请教别人如何用对应技术实现相应功能,项目可编,但一定面试要自己能说清楚。提前想好可能问的问题。

然后还可以去github找一个合适的开源项目,自己再包装一下。具体细节包装后文统一介绍

3.3.2 关于项目怎样包装

通过上文,你大概学会了怎样去获取一个适合你的项目。

当时上面述说也有点宏观,关于项目的包装,简历上的具体亮点怎样写你可能还是迷茫,接着往下看~

关键词:分布式、微服务、用户量、QPS、TPS、技术栈、业务复杂程度

并不是要求这几个方面大家都满足,无需焦虑,你要相信绝大多数程序员都没有这种项目经验的,那么这种情况怎样去突出你的项目亮点呢?

结合业务,突出业务难点,不要凭空捏造许多需求

第一个点(分布式微服务)

这个是现在大型项目必备的嘛,不一定,只是说现在主流的互联网架构模式是这样的,一般的大型项目这样设计,但是你的项目可能由于某些原因,成本、历史什么的,或则完全没有必要,没关系,大胆承认就是,不过你没有用分布式,并不代表你不了解分布式。

突出项目为啥用单体架构,不用分布式,后面项目达到什么程度需要做重构,可以讲讲你的提前设计的方案,思想,并不一定你一定做过分布式项目,我觉得这就是一个亮点,比你直接去讲你做分布式项目感觉更亲切,更让人接受,更亮点。

一方面:这体现了你的思考过程,思维、见解。

二方面:这也代表你对分布式有一定了解,并且融入了自己的思考,有一定的自我理解。

三方面:弥补了你单体架构项目的缺陷,也不用为你项目是分布式项目而担心被问穿,反而拔高了你自己的思考的高度

第二点(项目指标)

用户量、峰值、QPS、TPS。对于这几个点估计大多数校招生是没有这个意识的,一般是社招面试面试官会问你公司项目,你得把公司项目的这几个指标介绍清楚,怎样去优化,不过这是社招的事了,校招生可以了解一下,提前准备好一套说辞,一般不会问,问了你也得能灵活应对。

第三点(技术栈)

大家要走出这样一个误区,技术栈不是堆得越多越好,若是你讲不清你为啥用这个技术,可能就变成了一个扣分项了,比如:你用redis,那你说说为啥你要用redis,在你项目中咋体现的,不用可不可以?(所以你得提前想好一套说辞)

第三点(业务需求)

可能有的朋友就会问,我没有做过啥复杂的项目,没有复杂的需求,怎样去写这个简历?

这里举个案例帮助大家去找理解:

假设现在我需要做这样一个功能 ”在不同业务事件触发情况下,需要去通知用户邮件、短信、站内信等“,不同业务场景下,需要用不同组合方式去通知用户,你的项目可能就是这样写的,可能就是不同的业务场景,if else 判断一下,然后去调哪几个;

此时如果你懂的适当优化,包装亮点,你可以用观察者模式,让事件的发生与通知去处理,在代码上便进行了解耦,关于每一个业务场景他有哪几种通知,又可以抽取一个策略模式的接口,动态的去组合每一种业务;

而且如果后期需要增删其他的,用策略模式可以灵活的变更,而不是改大量的 if else 代码,如果之后更灵活了,还可以把这个映射关系放到配置中心去,于是后期每来一个新业务,只需要改一下配置中心的配置,便可以组合不同的通知的模式。

通过上述例子,你可以发现,一个简单的不起眼的业务需求,后者明显更具有扩展性,更解耦,它包好了你对业务的理解,对设计模式的理解,代码编写能力等多个方面,这不就是项目亮点吗,而且我觉得对于一个校招生实习生,这比起烂大街的秒杀,分布式来得不知高级多少倍。

所以大家不要一味追求高并发,各种调优,避免网上千篇一律的八股,简单而真实,平淡中彰显美,我们这就叫”朴素美“。

各种技术只是工具,我们之所以用各种技术是为了去解决问题,当有问题时能更好更合理的选择某种技术去应对,而不是单纯为了使用某种技术去使用。

3.3.3 简历上怎样写

简历上项目都可以分为技术栈项目介绍项目职责进行描述

image-20211228134833920
image-20211228134833920

技术栈:主要的核心技术即可

项目介绍:大致介绍+主要亮点用到的什么技术解决了什么问题突出即可,也不用面面俱到,精简切记

项目职责:主要写项目亮点和你负责的那块。

  1. 参与了XX开发,熟悉XX开发流程(宏观项目开发)
  2. 负责XX功能点(自己负责那块)
  3. 使用XX技术解决了XX问题,使得系统或则其他方面得到多大改进(亮点突出)
  4. 优化了XX,使得系统XX模块提高了n倍速度。
  5. 实际操作-找出你项目中希望被面试官问到的点,或者你认为属于项目亮点的部分,突出你对项目的优化部分(黑体加粗)

举例

  • 使用nginx实现了负载均衡,提高了访问速度
  • 利用Redis实现分布式锁解决了某个问题
  • 定义热点数据并缓存在Redis,降低了数据库访问压力
  • 利用zookeeper实现HA,解决单点故障
  • 利用某个设计模式对代码重构,避免了XX,增强代码可读性,扩展性等
  • 对项目架构进行了重构,将单体架构构建成分布式微服务的,XXXXX

最后,简历项目建议写2个即可。

好的,关于项目这块我想的经验和想说的大致都说清楚啦,希望对你有帮助。

如果实在还是不懂,可以后台联系我将我的项目案例给你做过参考。需要简历模板的也可以后台联系我。

3.4 六大策略(求职必看)

前面和大家分享了大厂面试硬核实力需要学习注意的地方,但是你单单技术能力强可能运气不好还是会错过很多机会

根据我和身边上岸大厂的朋友的一致经验来看。对于找工作,过硬的专业技能我认为其实只占 20%

因为,如果你连面试的机会都没有又何谈向面试官充分展现自己的才华;假如你有面试机会,专业技能又十分强,但是你不会沟通表达,面对面试官不能很好的表达自己的想法。

那么即使你本身很优秀,那也没办法,面试官并不知道,短短几十分钟get到的东西很少,若你不能耍点小心机,可能就被能力还不如你的人刷下去,就是那么现实。

我将整个找工作过程的技巧分为如下一套组合:

六大策略思想:【小龙出版-(●'◡'●)】

抱团取暖策略+简历制作策略+选投策略+面前复习策略+面中应对策略+面后复盘策略

3.4.1 抱团取暖

打开大门,了解更多消息

由于学历差(专科、专升本、二本等),我们会处于一个消息闭锁的状态,就是笔者个人感觉学的东西和985 211名校同学其实差不了多少,大多同学都靠自学甚至可能比985 211部分同学学的还好一点。

但是名校的各种途径的消息却是十分及时与开放的,因为各个老师教授可能都是业界的大佬,十分了解行情;也会有很多大公司去他们学校开讲座办宣讲会,它会及时分享一些当下信息给你

简单一点说,也许你在读我这篇文章时还不知道秋招与春招,不知道学历差需要提前实习去弥补缺陷,可以利用牛客与力扣这些求职平台获取更多最新消息。

你可能还在处于一个“乡下”状态,而985 211同学可能大一大二就开始出去大厂实习,那真正秋招时,你拿什么和别人比呢?你可能在学基础,别人开始学框架;你还在学框架,别人算法已经练的 "飞起来" ,而你还不知道大厂必考算法。

互相鼓励,互相陪伴

这又怎么说呢?就拿我们学校来说,大三秋招找工作时,身边的同学几乎都没有意识,整个专业找工作的不超过5个,当然,别人可能在考研什么的。

但这不是重点,重点是你没有并肩作战的伙伴,即使有几个,而你们都是一个学校的,可能得到的消息与大致眼界基本在一个维度。

这时,假如能结识和你学历在一个等次或者差一点的不同学校的大佬,你不仅有并肩作伴的伙伴,而且大家互相分享消息,学习讨论进步,分享秋招进度,分享遇到的挫折,这会让你心里有个底,也会有个精神支撑。

因为对于学历差的同学想进大厂,最大的困难不是面试难度高,而是连面试机会都没有就直接简历挂。自己能力不足面试挂了,我可以努力,就怕我即使再怎么努力,却连面试机会也没有。

试想你投了很多简历都没消息,你一个人作战可能你就彷徨了,怀疑了,想放弃了。而此时,你得知有一个和你学历一样甚至比你差的朋友已经拿到阿里offer,此时,你是不是会有一种打鸡血的感觉。知道即使学历差,通过自己努力也可以成功,而不是即使自己再怎么努力也没用。

而且你可以去请教在这条路取得成功的同学,看它的方法,然后知道自己哪里不足再去改,因为你们在一个维度(同学历)而不是自己瞎琢磨,然后自暴自弃,最后不了了之。因为你身边的同学都叫你放弃,去干其他的。

回过来说说我的经历:

上述全是我的亲身感受,实习投了无数简历,没消息,当时差点自闭了。后来群里认识了一个朋友"招手",他是三本学历,也在和我一样努力的找工作,于是我们惺惺相惜互加了好友。

然后感谢这位兄弟把我拉进了一个群,这个群里基本都是二本,专升本的大佬们,大家一起抱团取暖。

当我进群以后,有些群友约了阿里二面,有些拿了一些公司的offer,有些面了字节,当我了解这些以后,我就到处去请教经验,顿时迷茫的我点燃了希望的火苗,瞬间充满动力,知道,学历差,努力也会有结果。就这样开启了我的春招与秋招之路,之后发生的就是我 我的秋招 | 大厂上岸经验一(末流二本)所讲的啦。

最后,秋招正式批开始,我们群几乎人手大厂,人均3个offer,BAT TMD 占满,甚至还有wxg sp、阿里 sp等。

如果大家没合适的抱团群,也可以加入我的技术交流群,关注公众号加群即可。后期会带领大家一起冲刺大厂。给大家提供一个抱团平台。

3.4.2 简历制作策略

前文专门讲过,这里不再赘述

3.4.3 选投策略

关于投递策略也很讲究的。投早感觉自己没准备好,投晚了没hc了。

我的建议是,边投边复习,以面代练习。不过之前投的尽量投中小厂,开始第一家可以找一些小公司练练手,找找感觉,后面你面多了,你会发现,面试都背成固定模板了,越来越得心应手。

此时,你可以投想去的中大厂了,关于大厂,建议在第二批面试/笔试开始前几天投,因为投递早了,面试官可能持保留意见,想等等看,投晚了,基本hc无了,难度增加不说,可能还连面试机会都无。

3.4.4 面前复习策略

临近面试几天不必学习太多新知识了,把自己之前做的笔记拿出来背熟悉,一定得保证你的专长领域发挥好,就比如高中考试一般,薄弱学科尽量答好,强势学科争取高分。

若是中大厂,基本都会考算法,建议多抽时间出来背背该公司常考的算法,或者去牛客看看高频题。

推荐网站:https://codetop.cc/home

https://www.nowcoder.com/activity/oj

3.4.5 面中应对策略

面试时的状态与技巧十分看重,也许你是个特牛逼的人面出来效果还不如能力差一点的人。

需要注意这些方面:

1、精神面貌:面试切记萎靡不振的样子,想睡觉就去洗个冷水脸,面试都是视频面对面与面试官交流,要就要好的第一映像。

开局的自我介绍极为重要,不是说你介绍得多棒,是要在短短1-2分钟内,给面试管感觉你这小伙子挺机灵,挺朝气的,还不错的感觉。

抬头挺胸,在自我介绍时可以适当伴随演讲手势,说话抑扬顿挫,信心满满,精神满满。

2、引导与装逼:正式进入问答时,你回答问题要尽量往你擅长的方向带,回答他这个问题时故意暴露一些关键信息,比如叫你介绍ACID、事务,你别只介绍ACID概念,你可以说完概念假装暴露他们的实现原理日志,MVCC、锁相关的内容,因为这方面是你的拿手好戏。

誒,等你说完,面试官果然问具体实现,然后你又可以装一波逼了,时间也拖过去了,又在你拿手领域回答得很出彩。不过具体怎样把握与引导得看你的面试经验了,所以说要多面。

问你一些解决方案时,不要装逼,直接把最优方案说出来,你得先说劣质方案,然后你可以说这个方案存在哪些问题,或者等他问你怎样优化,然后再顺理成章引出最优方案。

介绍项目时,对于项目的难点,最好准备两套方案,等他问”你觉得还可以怎样优化时?“,你又可以装逼了!即便这两套方案并没实际优化多少,但是不同实现他就觉得可以了,因为短短几分钟他也不清楚你项目具体咋实现的,除非牛逼得不得了的面试官。

总结,提前为可能问的问题做好准备,学会引导,学会方案备选,学会带面试官装逼((●'◡'●))。

3.4.6 面后复盘策略

面试就像考试一样,要学会错题整理。面完之后,要学会及时复盘,把面试过程中不会的,不熟悉忘了的,记录下来,过后查阅资料解决。

之后面试前拿出来复习,由此形成良好循环,你会发现面试基本就那几个问题,都背烂了,教科书式回答。

今天就差不多到这里啦,我的秋招经验心得基本形成文字分享给大家啦,希望大家看了有一定的收获,结合自己的学习方式形成自己的一套,祝大家早日斩获心仪offer!

3.5 投递途径

3.6 经典面经

3.7 补充

四、面试速成

4.1 算法与数据结构

专业的事交给专业的人做,虽然我算法也还行,但是怎样去总结出一套优秀的模板,专题去帮助别人更好理解算法却是不在行。

因此我此模块我没有把自己的算法笔记写出来,不过,这里会记录我的刷题经验与心得,并且指出一条好的学习路线。

1.学习方式

先理论概念,学完直接刷题,不必看视频系统学,看书也浪费时间,直接看专栏学习。

2.相关资料

极客时间:《数据结构与算法之美》

3.刷题指南

刷题网站(top200+剑指offer)

力扣:https://leetcode-cn.com/problem-list/2cktkvj

牛客:https://www.nowcoder.com/exam/oj?tab=%E7%AE%97%E6%B3%95%E7%AF%87&topicId=117&page=1

刷题顺序:https://github.com/greyireland/algorithm-pattern

大厂题库:https://codetop.cc/#/home

此外,我还整理了几份优质【刷题笔记】,秋招时便是时常查阅学习其算法思想。

4.1.1 刷题笔记101—谷歌

这是一位在谷歌无人车部门(Waymo)的工程师,从事计算机视觉和机器学习方向。

他在美国卡内基梅隆大学攻读硕士学位时,为了准备实习秋招,他从夏天开始整理某 code 上的题目,几个月的时间,刷了几百道题目。

话不多说,可以简单看看该笔记的目录,精简核心。题不多不杂,几乎每种类型的题目都有涉及。

个人感觉,这是一份非常哇塞的笔记,真的非常非常nice,就像高考时的总复习资料一样,有每一个知识的例题讲解,每个例题开始会给你归纳涉及的知识点,然后给你例题,解析,教你分析。

最重要的是它不是仅仅的出一些例题,而是算法的常用技巧,如:双指针、动态规划、回溯等等每个方法还没有专题,再出例题讲解,很哇塞。image-20220124105904891

image-20220124105636166
image-20220124105636166

下载方式:微信搜索公众号「小龙coding,也可以直接截图扫描下方二维码,在后台回复「刷题笔记」即可获取此处提到的刷题笔记

MySQL
MySQL

如果是学习算法、数据结构、或者是刷题找工作的小伙伴,一定不要错过啦!

4.1.2 BAT刷题笔记—halfrost

这本书包含了 LeetCode Online Judge 所有题目的答案,所有的代码实现是非常优雅且执行效率极高的。

不管你是 Python、C++、Go、Java 都可以学习算法思想,编码规范良好,适合刷题的同学反复学习,揣摩其中的框架思维。

这是一本非常用心的刷题类书籍,全书总共 1200 页,分编程技巧、线性表、字符串、栈队列、树、排序、查找、BFS、DFS、贪心、动态规划等。

最主要的是该笔记里面的题目的代码全是 beats 100%%,暴力大部分人都能做到,但是如何做到最优,却是极其困难。

而面试中,面试官对于暴力解法也不会满意,经常会来一句:“还有没有更优解?”

再来个更优雅的解法,面试绝对能加分。

看完这本笔记,在 Leetcode 上遇到中等难度的题基本不会卡顿了。

话不多说,简单看一看该笔记的风格与内容目录:

BAT算法-01
BAT算法-01

如果是刷题笔记101是总复习资料,教会你每种算法技巧思维,那么这本笔记可以说是总复习刷题指南,每一个章节都先讲解框架思维,然后挑选非常典型的十几道 LeetCode 题进行实战讲解:

BAT算法-02
BAT算法-02
BAT算法-03
BAT算法-03
BAT算法-04
BAT算法-04

下载方式:微信搜索公众号「小龙coding,也可以直接截图扫描下方二维码,在后台回复「刷题笔记」即可获取此处提到的刷题笔记

MySQL
MySQL

4.2 项目

4.3 计算机基础

4.4 Java系列

4.5 设计模式

4.6 面试模拟

五、面试笔记

前文

之前总有很多小伙伴通过各种途径私聊加我!咨询关于我【面试笔记】的事!

开始把笔记放在公众号本打算试试的心态,随缘!看到的朋友有需要再联系!然后发现越来越多的朋友私聊我想要购买笔记!无奈的是每次有朋友咨询我,都需要重复讲一遍相同的内容,让他试读一下,然后觉得可以再选择购买!

因为我是想真正把自己亲身经历总结的东西分享给大家,要是对你没有帮助,我也不会卖给你!那么多粉丝,假如人人咨询都来回答一遍,感觉很麻烦,浪费时间。因此,我决定通过篇末详细介绍一下大家都想购买的【面试笔记】究竟是啥!!

不为人知的秘密

先给大家然后悄悄透露一个秘密,在之前8月末购买【面试笔记】的小伙伴已经给我报喜啦!!

为何值得购买

简单介绍一下。相信大部分粉丝都知道,小龙来自一个二本院校,凭借自己不服输的精神,通过自己的努力,秋招一路过关斩将,斩获多家大厂offer!

而小龙即使学历不足,但最终仍能成功上岸。正是靠实习和秋招提前批不断面试总结、看书、研究面经、和面试官请教、查资料查漏补缺,不断熟悉面试的基本套路问题模式把每次的点点滴滴都总结记载了下来,每次面前复习预热

比如项目实习: 我提前便研究好了可能问的问题,对可能问的问题准备了几套回答,首先说基本回答,等面试官问优化思路再把准备的第二套方案拿出来,这样,一切在自己掌控之中!

又比如: MySQL知识,你可能问某个问题,我便把相关原理和场景都给你准备好啦,就等着面试官提MySQL这个词,然后一套装逼就来啦!!

然后遇到面试问到的什么基础,场景项目实习优化啥的,都会总结记录,然后针对该问题查询专栏书籍等进行总结,下次面试就是一套装逼过去!就这样,大家口中的【面试笔记】就诞生啦!!

可能网络上的什么八股文资料很多,无可厚非,你能把那些资料都理解,随便进大厂大概率没问题。但是个人觉得,那些资料每个知识都是一大偏文章,然后回答方式还特官方(我当时开始也背过网上的资料,但是随便一个问题都官方的一大片,不适合我这种懒记性差,面试还紧张的一个字都挤不出来的人)

然后一个知识一个pdf,我遭不住,这咋记得住。而且没针对没对策,没重点,不知道从何背起,也不知道面试是否真的要考,我当时就是这个心态。收集了一大堆八股资料然后就没然后啦!!

而且对于一个问题,网上的帖子资料众说纷纭,你一个问题查大半天的资料甚至都还不知道哪个是对的哪个是错的(别问我为啥知道,我都经历过)

而【面试笔记】上的总结归纳,我每次面试除了灵活一点的场景设计题和一些略偏的问题,基本每次面试我都按照我总结的回答的(回答是每次面试和无数次查询实践得出的结论,我觉得都是对的也很深入,逼格足够高啦,反正我每次面试就这样回答的)

然后也每次回答的起飞,除开算法和难一点的场景分析,我基本没有不会的(不是说简单的回答基本,而是BAT面试官喜欢的原理实质!)

比如:你问我事务是啥?我给你扯到ACID实现原理!牵扯到的离级别实现原理、顺带说一下幻读(自己亲自实验的过程)、再谈谈日志,扯到日志原理,不就又到了binlog,然后我再给你扯扯两阶段提交,主从原理之类的,这样时间也凑够了,逼格也高。【手动狗头】

大概就是这样,【面试笔记】涵盖的内容:

BAT面试笔记》:Java基础、并发编程、JVM、MYSQL、Redis、设计模式、数据结构、计算机网络、操作系统、SSM、SpringBoot、分布式基础、Linux、项目分析、场景模拟、自我介绍等。

内容说多不多,说少不少,基本涵盖了BAT和其他中大厂面试各方面爱问常问的问题,回答也都是用人能明白的话(讨厌官方懂不起记不到)总结提炼易记的形式呈现。

然后话说的前面,小龙也不是神,不是什么大佬。只不过将自己实习秋招的总结与点点滴滴分享出来,肯定有不足或者没考虑到的!然后我个人觉得【面试笔记】已经够用啦用来应对校招的各种面试,但是随着我知识的积累与工作所学,我也会把点点滴滴写进去记录下来,逐步形成完善的【斩offer神器

面试笔记--试读开始

实习项目问题总结

场景题归纳

并发总结

MySQL深入底层原理总结

Redis深入底层原理总结

Java基础原理总结

计算机网络高频疑难点分析

分布式基础知识

操作系统必知必会

JVM吐血整理

框架常考

其他杂文

-----------------试读结束-----------------

觉得对自己有帮助的小伙伴才购买,不必为了支持小龙就购买。因为很多粉丝为了支持小龙本来学的C++也来购买,哈哈。小龙收到大家的心意就足够啦,但要真正对大家有帮助才购买。

购买须知:

1、【面试笔记】是小龙实习秋招过程自己总结记录的,可能多多少少有些小问题,希望理解(我面试都是按上面总结回答,问题不大)。

2、后续会根据大厂面试趋向小龙new所学所思继续完善笔记。

3、原定价128,为回馈粉丝,感谢大家一路陪伴,粉丝前100人购买,特价48.9元一份,后者68.9一人。【发文前已售43份】

4、后期随着知识沉淀积累与购买人数的增加会适当提高价格,不过已购买的朋友可以不用再补钱。

5、最后【面试笔记】是语雀链接形式,付款后申请进入成为仓库一员。

6、快加入【小龙的秘密】仓库吧!别等大家都获得了offer,你还在犹豫!!

7、购买笔记,请加小龙 QQ:2636702424 | WX:byte910,备注"面试笔记"!

福利:

再送大家一份福利,我的秋招部分项目和一些收集的资料【助力礼包】,其他项目与项目针对问题回答尽在【面试笔记

分类:

后端

标签:

后端

作者介绍

AIL
V1