人物画像
果哥:一线公司小码农,一直走在求职的路上。
果妹:一线公司美女面试官,一直和小码农们苦苦纠缠。
故事开始
果妹今天有时间没,上次问题还没请教完?
点击看看上次说了啥?
为啥每次我都是挂在了一面?
恩,那你继续说说面试你都问了啥问题吧。
恩,介绍自己以后面试官就开始问?HashMap 源码,然后他是不是线程安全的,然后问我是否了解 ConcurrentHashMap 它的实现原理。我简单说了一下里面的 Segment ,然后就问我 Lock 的一切概念,然后 volatile 啥的,AQS 什么原理,分库分表怎么实现,什么是雪崩,怎么处理雪崩,CMS 是什么?类的加载机制,后面就完全不知道在问啥……而且这些我也没有怎么准备~
额,那我知道了,就是很多问题你都不知道他在考什么,也不知道他的面试重点呗?
恩,差不多是这个意思,所以你有没有一个准备提纲或者面试思路啥的?
恩,那你看这样行吗?我先给你梳理一个 粗略的大纲 你可以自己复习。后面针对 每一个知识点 我都给你讲讲。主要的方向有这么几个:
1、基础,主要就是 Java 基础,Java 基础很多,但是重点主要是 并发包 、 JVM 和 集合类 这三个地方。
· 并发包我找到了一个大图,配置大图看源码并配合下面
的书复习,基本并发问题都会搞定。
· JVM 主要是 垃圾回收机制 ,内存模型,调优工具的使用,类加载机制等, 推荐一本书,虽然这本书版本有一些过时,但是不影响学习。
最后一个就是集合类了,这个没啥简单方法,直接看源码就好了, 最经典的 TreeSet,LinkedHashSet,PriorityQueue,TreeMap, LinkedList,ArrayList,HashMap等实现原理和使用场景。
2、框架,说来说去框架就 SSM 了,所以主要看一下 Spring 和 MyBatis 的源码就可以了,不仅仅要理解基本的概念,同时需要理解原理,比如 Spring 的启动加载顺序,请求的处理原理,AOP 的原理,还有一个重要的一点就是对于设计模式的理解,把自己学的设计模式都在框架中找到他的实现方式,深入思考它的作用,对面试帮助很大。比如 Spring 中都使用了什么设计模式,为什么这么用?
3、数据库,数据库包括最常用的三大类,Redis、MySQL、Elasticsearch,分别做缓存,存储和搜索,从他们的底层数据结构出发,了解他们的实现原理和基本的分布式方式就可以了,所以推荐你几本书看下。
你会发现我推荐的大部分都是原理性的东西,对的。平时我们已经有了足够的技术积累,缺乏的就是理论的支撑,所以面试之前这些书籍还是很有必要读一读的。
4、分布式,分布式是一个太大的话题了。它包括消息中间件,RPC 框架,限流,缓存,降级,幂等,CAP 等等知识,这个如果你没有这方面的经验通过看书也是很难补上来的。所以这个地方还是推荐你尝试在自己当前的环境中落地这些技术,然后寻找最佳答案。不过针对这个地方我后面也会专门的给你做一个 系列的讲解 吧。如果还是没有机会,好好准备上面3点就可以了,就想我昨天和你说的,面试官会挖掘你的亮点而不是短板。 为啥每次我都是挂在了一面?
哇,我全部记下来了,早和你聊聊我机会准备的更充分一些哦。不过感觉你说的这些怎么也得准备2-3 个月吧。
是的呢,所以你决定要跳槽的时候,还是要用 2-3 个月时间沉淀一下,现在不是10 月了吗,哈哈努力吧少年,现在努力刚刚可以赶上明年的金三银四哦。
点个赞呗