工作中不涉及高并发、多线程是面试失败的理由吗
收藏

点击上方蓝色字体,选择“置顶公众号”

优质文章,第一时间送达

最近很多读者给我留言问,工作中不涉及高并发、多线程,但是面试中却需要这两个技能怎么办?我结合自己的经验简单说一下我是怎么处理这个地方的。

了解市场和面试

基本上所有的大厂小厂面试都会有高并发、多线程的要求,他真的那么重要么?

其实答案并不是的,国内的大厂的流动人数远远小于需求人数,也就是说大厂每天都需要新鲜的血液进入,那么这些血液不一定就来自于有着高并发、多线程经验的人,看重的是你在自己所处环境是否做到极致。正如我们的面试要求最后一条:

如果以上均不符合,也没关系,只要你确认自己是个技术人才,对技术有足够的热情,也欢迎投递简历

所以阻碍你面试成功的,不是你不能接触到的技术,而是你当前接触的技术的深度

技术深度?

再说简单一点,你是不是在用 Spring ?那么你有看过他的源码么?它最经典的两条主线 Bean 的加载机制和请求过程都了然于胸吗?如果不是找到自己的问题了吗?

很多朋友经常问,总是听别说说设计模式怎么牛,可是从来没有用过,那么 spring 中用到的设计模式你研究了吗?

好的,那么我们回到正题,如果正好赶上面试官问你说一下你对 Spring 的理解。如果你看过 Spring 的源码并深入了解过就可以说:Spring 最经典的莫过于他的三个组件,Core、Context 和 Beans,Bean 比作一场演出中的演员的话,那 Context 就是这场演出的舞台背景,而 Core 应该就是演出的道具了,所以我们从 Context 说一下 Spring 的启动做了什么事情,AbstractApplicationContext.refresh 就是最初的入口也是组装 Bean 的地方,它从最经典的模板模式开始……

那么你猜面试结果会怎么样?好,又有人说自己不用 Spring,那么我们就说你有没有仔细看过 volatile 关键字?如果赶上面试官问你说一下你对 volatile 的理解你会怎么回答?这种开放问题没有正确答案,但是我期望听到你的思路是这样的:从指令重排开始,引出内存屏障,解释 volatile 和内存的交互图,他和 CAS 的区别和联系,他在 AQS 和 单例中的应用。好了如果你是这么回答的,你猜面试结果会怎么样?

怎么补充

似乎大道理大家都懂,就是不知道怎么补充,好好好,回到一句老话。书中自有颜如玉,最简单的办法看书就好了啊。上面我说的两个问题,两本书就可以轻松搞定,并且深入理解。《Spring 技术内幕》、《Java 并发编程的艺术》。知识的积累没有捷径,如果想应付自如,只有自己多看书积累了

对了,还有读者给我留言,推荐一些经典的书,好的,预支好书清单?请看下回讲解。

如果你也有开放性的问题,欢迎在订阅号下方留言,我会找时间专门写文章回答你。

没看过瘾???

1. 阿里社招面试指南

2. 阿里应届生面试指南

3. 探寻线程池是如何工作的

4. 到底线程池应该设置多少合适?

5. 跳槽的必备条件是有一份好的简历

6. 不是所有的 Github 都适合写在简历上

7. 所没有项目经验找工作处处碰壁怎么办

8. 每一个开发人员都应该懂得的 UML 规范

9. 工作环境没机会接触高并发、分布式怎么办?

10. 这算是有史以来讲数据库连接池数最清楚的文章了

11. 你以为认为 count(1) 比 count(*) 效率高么?

12. 用了这么多年 Spring Boot 你知道他爹有多大背景吗?