JavaJVM · Java虚拟机原理 · JVM上语言·框架· 生态系统Java笔试面试

普本开发三年,每天两小时复习JVM底层,五面腾讯最终定级T3

2020-07-14  本文已影响0人  程序花生

前言

我是一名 Java 从业者,虽然近些年来,无论是使用规模、开发者人数,还是技术生态成熟度、相关工具的丰富程度,Java 都当之无愧是后端开发语言中不可撼动的王者,也是开发各类业务系统的首选语言。

但我总有种坐不动的感觉。项目还好说,让我用 Java 写系统代码都没有问题,但是如果有人问我 Java 程序运行起来以后内部发生了什么,可以怎么让它运行得更好的话,我就真的有点答不上来。

如果答不好,真的会影响薪酬的多少。

很多人认为线上出现问题可以排查继续解决问题的人牛逼,其实错了,真正牛逼的人都是在问题产生前就解决了(需要意识里面转变和学习思考提高的地方)。

现在不像以前了,以前会点html都好找工作,现在由于学习软件的人越来越多,而且每年大学生都在毕业(而老一辈的也很少换工作)人只会越来越多,有个笑话,随便在大街上扔硬币砸到的那个可能就是搞软件的,现在人员太多,公司为了区分,会多添加维度,每多一个维度可能就会刷掉一批人,核心供大于求,所以我们也必须朝着这些大的方向努力,使得自己的竞争力比别人强。

转折

前文中也有提到,感觉自己有点做不动了,开始在网上找相关的学习资料。偶然间看到了马士兵大佬讲解的JVM视频,意识到自己对于JVM了解的还是太少,于是在这期间开始每天花费两小时恶补JVM相关知识,四月海投简历时意外投到腾讯,出乎意料的拿得了腾讯面试邀请,本以为自己的技术可能达不到腾讯的要求,没想到因为对于JVM的深入研究以及平常对底层知识的学习,五面成功拿下腾讯offer,定级T3-1

下面分享下腾讯面经,供大家参考,希望能帮助到大家!

腾讯五面面经

一面(电话)

说说对JVM的理解

treemap和hashmap有什么区别?

Java多线程的的5大状态图流转

mysql主键和唯一索引的区别

说说最近的项目

如何实现session共享,用redis如何实现

缓存击穿的概念和解决方案

说说微服务,微服务之间如何管理

二面(现场)

java nio常?用的三个类

java里面的同步锁了解吗?Countdownlauch和Cylicbarrior的区别,分别在什么应用场景下使用

JVM的内存结构?哪些是共享的,哪些是多线程私有的?Java虚拟机栈里面存放的是什么?

如何自己实现一个线程池让别人使用?

哪些情况会触发Java的类加载?

手写代码:快速排序、单例模式,画一个工厂和装饰者模式的UML类图

AOP的实现原理?

如何优化一个慢查询

Java锁有哪几种?可重入锁和不可重入锁的区别?

Lock和synchronized的区别?它们都是可重入锁吗?哪个效率更高?

手写SpringMVC DispatcherServlet的大致实现

三面(现场)

平时的项目并发经验有哪些?

redis数据结构

redis线程模型

redis数据淘汰机制

读过redis源码吗?

mysql实现事务的原理(MVCC)

MQ底层实现原理

数据库事务acid,事务操作,怎么加锁,分布式系统锁

什么情况容易发生雪崩?如何来解决

四面 :技术面

主要是并发想的项目介绍

技术含量较高的项目,从架构设计到部署问了一遍

高并发架构的设计思路

五面 :HR面

主要问手里的offer?

聊人生和未来的规划?

以及相关的薪资?

面试答案

面试过程中问到的问题都已经整理成了文档(附答案),需要的朋友可以转发关注后,私信回复【JVM】或者【学习】来免费获取!

JVM学习图谱

学习就是要有规划的学,这样可以帮你更好的吸收理解知识,这是马士兵大佬当时整理的一份JVM的学习路线,我觉得这么学下来很顺畅,也一起分享给大家!

相关文档、视频资料

最后

如果说你有想要去的大公司,一定要提升好自己,让自己的能力和素质与公司匹配的上,我也一直相信,机会永远是留给有准备的人。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。

下面是额外分享给大家的学习资料,毕竟每个人的需求不一样,有缘点进来那就领取份资料再走吧!

以上视频,pdf均免费放送,转发关注后,私信回复【JVM】或者【学习】即可免费获取!

最后祝愿各位身体健康,顺利拿到心仪的offer!

面试造火箭,工作拧螺丝,希望能帮到你

多多转发让更多人受益!!

上一篇下一篇

猜你喜欢

热点阅读