写点什么

5 年 Java 经验字节社招:半月 3 次面试,Java 资料

发布于: 2021 年 09 月 02 日

当时我工作近 5 年,明显感觉到了瓶颈期。具体来说,感觉自己用过很多框架、做过一些技术设计、也有过一些产出,但是从技术深度上感觉不足,到后期时做事也没有明显挑战,完全适应了公司节奏,说句不好听的成了老油条,可以每天舒服的混日子(这也有好处,有时间准备面试)。这对于个人成长不利,长此以往可能面临大龄失业。所以我觉得需要痛下决心改变一下现状。我定的目标就是进大厂,因为我觉得小厂做到我目前的程度已经很难有很多的提升了。



下了决心之后,下一步是写简历。


这一步其实非常关键。先说结论,我的简历前前后后改了好几个月,在投简历的时候,大部分大厂都会给我面试机会,并且对我的经历非常感兴趣。具体如何做呢?


核心思想,想进大厂的简历,要突出自己的特色,写得要生动,能从简历看出你实力不俗。如果简历不过关,很大几率根本没有面试机会。具体实践上,参照 STAR 法则。


  • Situation 情景,工作背景是什么?

  • Task 任务,我负责做什么?

  • Action 行动,我做了什么?

  • Result 结果,工作取得了什么成果?


网上关于 STAR 法则有一堆介绍,不多赘述,这里只举一个例子。


常见的简历会这么写,“负责订单系统开发,实现订单创建、查询、列表等功能,使用技术:Spring、Mybatis……”。如果我是面试官,我的印象是你写过一些 CRUD 项目,这很难通过大厂的简历关。


那该怎么写的呢?


比如:“负责订单系统核心模块开发(Task),主导设计订单系统数据库表结构,设计以会员为维度的分库方案,设计并开发订单列表及明细缓存方案(Action),支撑订单每日 X 万级查询请求(Result)。”对比一下,明显这种写法更能体现出你的价值。


这里不再多讲,网上搜下 STAR 法则,讲得很细致。我的简历只有一页纸,内容不在多,而在精,一两页纸就够。希望大家如果想进大厂,先好好改改简历,顺利通过简历关。



简历写好之后,准备面试了。


如何做?核心思想,充分发挥你的优势,制定适合你自己的准备方案,做 120 分的准备,争取 100 分的结果。这里我只从我自己的经验出发,希望能给大家一些启发。


当时自我剖析,我的优势是什么,不足是什么?我有创业经验,项目经历丰富,做过核心系统(如订单系统),使用过很多流行的框架,做过一些自认为还可以的设计。不足很明显,缺乏深度,浮于表面,做过的项目的一些设计较为幼稚,不能很好地应对更大的业务挑战。


当时花了几个月充分准备,十六个字,增加深度、扩展广度、覆盖死角、挖掘项目。介绍下当时具体的准备。


  • 花了近 2 个月时间,Spring 源码,手画核心流程不少于 3 遍,面试前做到能熟练讲述 Spring 容器启动流程、事务切面流程、MVC 流程。

  • 两周时间,学习 MyBatis 源码,做到 ORM 框架主流程心中有数,这块学得不是特别深。

  • 花了很长的时间深入的学习 JVM 和并发编程,尤其是并发编程这块,从不同角度深入理解并发编程。最终进字节这块起了很大作用。对锁有深入认识,阅读 JVM synchronize 关键字源码不下 10 遍,对其中的大部分细节了然于胸,绘制了流程图,大家可以参考看看。当然,各类其他锁也都有学习源码,能深入比较各类锁的特点。


  • 一周恶补 MySQL,对于索引、锁、SQL 优化重点掌握(深度略有不足,后期面试过程中有一定加强)

  • 面试前,一周时间突击了网络编程,重点在基本知识和 Java 原生网络编程方面,Netty 略微学了一点。


增加深度就是主要从以上 6 个专题的学习体现的。都是 Java 开发必备的基本技能,一定要有深度。


下面讲下扩展广度,各类知识广泛涉猎。


  • 面试前穿插一周时间学习 Redis,redis 我是用过的,但是用得很浅,专题学习下来收获很大,开阔思路。重点在 redis 应用和高可用架构。

  • 同时穿插一周学习分布式事务、分布式锁等等解决方案

  • 两三天时间 Dubbo 基础,放弃源码部分,掌握 RPC 框架核心思想

  • 两三天时间 ZK 基础,放弃源码部分,掌握 ZK 精华,及常问面试题

  • 了解一些 MQ 的相关基础知识,没有过多学习,主要是没时间了


以上几个分布式相关专题略有涉猎,多年分布式的应用经验,需要有一定的知识广度,才能做出较合理的技术设计。


之后就是覆盖死角,主要从核心面试题出发,我当时找到一份《Java 高级进阶快速面试指南》,是一份 Github 总结的比较精炼的题库,查缺补漏,做到各类知识都能有所涉猎,不至于冷门问题一句话也说不上来。如果你也有需要这份资料,一键三连后加末尾联系方式,然后备注【面试】即可 100%获取了!



最后是面试前的应试准备。




这里要从面试官的角度考虑问题,面试通过有两种可能:

最后

以上分享的全部分布式技术专题+面试解析+相关的手写和学习的笔记 pdf,高清完整版戳这里免费领取


还有更多 Java 笔记分享如下:



用户头像

VX公众号:编程进阶路 2020.11.28 加入

还未添加个人简介

评论

发布
暂无评论
5年Java经验字节社招:半月3次面试,Java资料