signed

QiShunwang

“诚信为本、客户至上”

强强联合,一份最适合你的后端面试指南,最终5轮面试拿下阿里Java岗Offer(定薪45K),确定不心动?

2021/6/24 17:57:55   来源:

前言

不论是校招还是社招都避免不了各种面试、笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的,我这个“有章可循”说的意思只是说应对技术面试是可以提前准备。 我其实特别不喜欢那种临近考试就提前背啊记啊各种题的行为,非常反对!我觉得这种方法特别极端,而且在稍有一点经验的面试官面前是根本没有用的。建议大家还是一步一个脚印踏踏实实地走。
运筹帷幄之后,决胜千里之外!不打毫无准备的仗,我觉得大家可以先从下面几个方面来准备面试

  1. 自我介绍。(你可千万这样介绍:“我叫某某,性别,来自哪里,学校是那个,自己爱干什么”,记住:多说点简历上没有的,多说点自己哪里比别人强!)
  2. 自己面试中可能涉及哪些知识点、那些知识点是重点。
  3. 面试中哪些问题会被经常问到、面试中自己改如何回答。(强烈不推荐背题,第一:通过背这种方式你能记住多少?能记住多久?第二:背题的方式的学习很难坚持下去!)
  4. 自己的简历该如何写。

80%的offer掌握在20%的人手中” 这句话也不是不无道理的。决定你面试能否成功的因素中实力固然占有很大一部分比例,但是如果你的心态或者说运气不好的话,依然无法拿到满意的 offer。运气暂且不谈,就拿心态来说,千万不要因为面试失败而气馁或者说怀疑自己的能力,面试失败之后多总结一下失败的原因,后面你就会发现自己会越来越强大。

另外,大家要明确的很重要的几点是:

  1. 写在简历上的东西一定要慎重,这可能是面试官大量提问的地方;
  2. 大部分应届生找工作的硬伤是没有工作经验或实习经历;
  3. 将自己的项目经历完美的展示出来非常重要。

笔主能力有限,如果有不对的地方或者和你想法不同的地方,敬请雅正、不舍赐教。

一 简历该如何写

俗话说的好:“工欲善其事,必先利其器”。准备一份好的简历对于能不能找到一份好工作起到了至关重要的作用。

1.1 为什么说简历很重要?

假如你是网申,你的简历必然会经过HR的筛选,一张简历HR可能也就花费10秒钟看一下,然后HR就会决定你这一关是Fail还是Pass。
假如你是内推,如果你的简历没有什么优势的话,就算是内推你的人再用心,也无能为力。
另外,就算你通过了筛选,后面的面试中,面试官也会根据你的简历来判断你究竟是否值得他花费很多时间去面试。

1.2 这3点你必须知道

大部分应届生找工作的硬伤是没有工作经验或实习经历;
写在简历上的东西一定要慎重,这可能是面试官大量提问的地方;
将自己的项目经历完美的展示出来非常重要。

1.3 两大法则了解一下

目前写简历的方式有两种普遍被认可,一种是 STAR, 一种是 FAB。
STAR法则(Situation Task Action Result):

Situation: 事情是在什么情况下发生;
Task:: 你是如何明确你的任务的;
Action: 针对这样的情况分析,你采用了什么行动方式;
Result: 结果怎样,在这样的情况下你学习到了什么。

FAB 法则(Feature Advantage Benefit):

Feature: 是什么;
Advantage: 比别人好在哪些地方;
Benefit: 如果雇佣你,招聘方会得到什么好处。

1.4 项目经历怎么写?

简历上有一两个项目经历很正常,但是真正能把项目经历很好的展示给面试官的非常少。对于项目经历大家可以考虑从如下几点来写:

对项目整体设计的一个感受
在这个项目中你负责了什么、做了什么、担任了什么角色
从这个项目中你学会了那些东西,使用到了那些技术,学会了那些新技术的使用
另外项目描述中,最好可以体现自己的综合素质,比如你是如何协调项目组成员协同开发的或者在遇到某一个棘手的问题的时候你是如何解决的。

1.5 专业技能该怎么写?

先问一下你自己会什么,然后看看你意向的公司需要什么。一般HR可能并不太懂技术,所以他在筛选简历的时候可能就盯着你专业技能的关键词来看。对于公司有要求而你不会的技能,你可以花几天时间学习一下,然后在简历上可以写上自己了解这个技能。比如你可以这样写:

  • Dubbo:精通
  • Spring:精通
  • Docker:掌握
  • SOA分布式开发 :掌握
  • Spring Cloud:了解

1.6 开源程序员简历模板分享

分享一个Github上开源的程序员简历模板。包括PHP程序员简历模板、iOS程序员简历模板、Android程序员简历模板、Web前端程序员简历模板、Java程序员简历模板、C/C++程序员简历模板、NodeJS程序员简历模板、架构师简历模板以及通用程序员简历模板 。
Github地址:github.com/geekcompany…
如果想学如何用 Markdown 写简历写一份高质量简历,请看这里:github.com/Snailclimb/…

1.7 其他的一些小tips

尽量避免主观表述,少一点语义模糊的形容词,尽量要简洁明了,逻辑结构清晰。
注意排版(不需要花花绿绿的),尽量使用Markdown语法。
如果自己有博客或者个人技术栈点的话,写上去会为你加分很多。
如果自己的Github比较活跃的话,写上去也会为你加分很多。
注意简历真实性,一定不要写自己不会的东西,或者带有欺骗性的内容
项目经历建议以时间倒序排序,另外项目经历不在于多,而在于有亮点。
如果内容过多的话,不需要非把内容压缩到一页,保持排版干净整洁就可以了。
简历最后最好能加上:“感谢您花时间阅读我的简历,期待能有机会和您共事。”这句话,显的你会很有礼貌。

二、如何实现质的飞跃?

1.技术沉淀(学习+积累)

对于技术新人来说,无论是在大厂小厂,还是在外包公司,基本上都是做得简单的CRUD工作。很多人认为,重复简单的工作对自己的技术是没有提升的,但实际上也有人能从中杀出一条血路,所以关键是你自己是否花了心思,付出了努力。

当然,我个人也有自己的一套学习方式和习惯,平时喜欢利用碎片时间来看点什么东西,比如一些技术性的书籍或文档,还有一些视频讲解等,经常会让我有一种恍然大悟的感觉,对我的工作也起到了很大的帮助。

- 阅读书籍文档:

img

- 看视频学习:

- BAT一线大厂面试刷题:

专题面试题

2.确立正确的技术方向

在我看来,有时候选择比能力更重要,俗话说:站在风口上,猪都能起飞。

对于程序员来说,尽早地做好自己的职业规划,确立发展路线,是很有必要的。我认为,同样的实力,善于发现和判断机会的人,永远占据先机。

程序员的发展方向,大致分为三类:

  • 架构师
  • 项目经理
  • 管理者

首先抛开管理者不谈,就前两个方向来说,对你的技术水平和工作能力都有一定的要求,首先我们要清楚,技术是根基,其次才是能力偏差。

比如,架构师需要你具备完善和扎实的技术体系,具有一定的修养,具备较好的系统分析和设计能力,具有丰富的开发项目经验;而项目经理,除了技术要过关以外,还应该了解软件开发的的各个环节、了解开发的各种技术和运用、了解开发队伍人员的水平和特点。

img

image.png

3.学习如何阅读别人的代码(笔记)

不知道为啥,很多开发人员总有一股“迷之自信”,抱着“除了我,其他每个人写的代码都是垃圾”这种想法,用杨笠的观念:为什么你明明很普通,却又那么自信?

实际上,能够在别人的代码之上继续工作是一项有多重好处的伟大技能。因为不论以前的代码是多么混乱或者考虑不周,你都需要去扩展它。

由此,它会对你两方面都带来益处:

  • 能够阅读他人的代码是一个了解什么是糟糕设计的好机会。
  • 能够阅读别人乱七八糟的代码的话,也使得在需要更新的时候变得容易。

我个人会阅读一些大佬的技术笔记,其中就包括了一些开发技巧和源码:

(篇幅有限,只展示部分了,笔记包括Spring全家桶、Redis、MySQL、JVM,java核心知识点整理等各个知识点)

MySQL性能调优与架构设计解析

一.基础篇

1.MySQL基本介绍
2.MySQL架构组成
3.MySQL存储引孥简介
4.MySQL安全管理
5.MySQL备份与恢复

二.性能优化篇

1.影响MySQLServer性能的相关因素
2.MySQL数据库锁定机制
3.MySQL数据库Query的优化
4.MySQL数据库Schema设计的性能优
5.MySQLServer性能优化
6.常用存储引擎优化

三.架构设计篇

1.MySQL可扩展设计的基本原则
2.可扩展性设计之MySQLReplicatior
3.可扩展性设计之数据切分
4.可扩展性设计之Cache与Search的
5.MySQLCluster
6.高可用设计之思路及方案
7.高可用设计之MySQL监控

redis深度笔记:核心原理和应用实践


JAVA核心知识点整理

1.JVM
2.Java集合
3.JAVA多线程并发
4.JAVA基础
5.Spring原理
6.微服务
7.Netty与RPC
8.网络
9.日志
10.Zookeeper
11.Kafka
12.RabbitMQ
13.Hbase
14.MongoDB
15.Cassandra
16.设计模式
17.负载均衡
18.数据库
19.一致性算法
20.JAVA算法
21.数据结构
23.加密算法
24.分布式缓存
25.Hadoop
26.Spark
27.Storm
28.YARN
29.机器学习
30.云计算


最后

题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Java进阶资料包括JVM、性能优化、高并发、K8s、大厂面试题精编汇总、常见源码分析等录播视频免费分享出来。


如果你想在未来能够自我突破,圆梦大厂,那或许以上这份学习资料,你需要阅读阅读,希望能够对你的职业发展有所帮助。

最后,希望未来的我发展顺利,早日拿下p7!同样,也祝愿你实现自己的人生理想,愿我们都越来越好,共勉!

获取方式: 只需你**点赞+关注后,Java进阶交流群:714827309** 哦-!