5年Java后端程序员,历经38天,6轮面试,成功斩获腾讯offer

个人背景:

投稿程序员:会飞的小羊

工作经验:Java后台研发5年

学历:中南林业科技大学计算机本科

前公司:网易互娱

跳槽目标:腾讯WXG部门(内推,6面拿offer)

5年Java后端程序员,历经38天,6轮面试,成功斩获腾讯offer_第1张图片

腾讯WXG部门6面(4轮技术面+1轮总监面+HR面)

4轮技术面真题

Java基础:

JAVA中的几种基本数据类型是什么,各自占用多少字节。

String类能被继承吗,为什么?

String,Stringbuffer,StringBuilder的区别。

ArrayList和LinkedList有什么区别。

讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,当new的时候,他们的执行顺序。

用过哪些Map类,都有什么区别,HashMap是线程安全的吗,并发下使用的Map是什么,他们内部原理分别是什么,比如存储方式,hashcode,扩容,默认容量等。

JAVA8的ConcurrentHashMap为什么放弃了分段锁,有什么问题吗,如果你来设计,你如何设计。

有没有有顺序的Map实现类,如果有,他们是怎么保证有序的。

数据库:

请简洁描述 MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

在 MySQL 中 ENUM 的用法是什么?

CHAR 和 VARCHAR 的区别

列的字符串类型可以是什么?

MySQL 中使用什么存储引擎?

TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 数据类型上做什么?

主键和候选键有什么区别?

MySQL 数据库服务器性能分析的方法命令有哪些?

MySQL 数据优化。

存储引擎。

Redis 实现原理或机制。

什么是 MongoDB。

Redis、memcache、MongoDB 对比。

5年Java后端程序员,历经38天,6轮面试,成功斩获腾讯offer_第2张图片

多线程,高并发:

stop() 和 suspend() 方法为何不推荐使用?

sleep() 和 wait() 有什么区别?

同步和异步有何异同,在什么情况下分别使用他们?

当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法?

简述 synchronized 和 java.util.concurrent.locks.Lock 的异同?

概括的解释下线程的几种可用状态。

什么是 ThreadLocal?

run() 和 start() 区别。

请说出你所知道的线程同步的方法。

线程调度和线程控制。

什么是线程饿死,什么是活锁?

多线程中的忙循环是什么?

volatile 变量是什么?volatile 变量和 atomic 变量有什么不同?

volatile 类型变量提供什么保证?能使得一个非原子操作变成原子操作吗?

Spring高级:

什么是 Spring 框架?Spring 框架有哪些主要模块?

使用 Spring 框架能带来哪些好处?

什么是控制反转(IOC)?什么是依赖注入?

请解释下 Spring 框架中的 IoC?

BeanFactory 和 ApplicationContext 有什么区别?

Spring 有几种配置方式?

如何用基于 XML 配置的方式配置 Spring?

如何用基于 Java 配置的方式配置 Spring?

怎样用注解的方式配置 Spring?

请解释 Spring Bean 的生命周期?

Spring Bean 的作用域之间有什么区别?

什么是 Spring inner beans?

Spring 框架中的单例 Beans 是线程安全的么?

如何向 Spring Bean 中注入一个 Java.util.Properties

5年Java后端程序员,历经38天,6轮面试,成功斩获腾讯offer_第3张图片

腾讯WXG部门总监面:

看了一下你的简历,本科毕业就直接去网易了,为什么没有选择考研呢?

说一下你未来的职业规划

有没有想过转产品?还是打算一直做技术?

除了Java,还研究过其他技术吗?

看你项目用到Spring boot,那有用过Spring cloud吗

说一下你对微服务的理解,与SOA的区别

腾讯HR面:

自我介绍一下

平常怎么学习的?

有没有什么兴趣爱好

觉得自己前面几轮面试怎么样

跟我说一下你认为最具有挑战性的项目

问我还参加了什么公司的招聘

为什么想要从网易到腾讯来?你认为腾讯能够给你带来什么?

为应对一线大厂面试,我做了哪些准备?

(一)调整自己的心态,正确面对得失

面试中常见的问题,主要是心态,面试调整心态是第一位的,如何调整成最佳心态呢?很多求职者在面试过程中自己思路不清晰,语言不流畅,说话毫无逻辑,会不断否定自己,归根结底都是面试心态问题,所以调整自己的心态,正确面对得失是非常重要的,我的方法是给自己足够的心理暗示。

5年Java后端程序员,历经38天,6轮面试,成功斩获腾讯offer_第4张图片

(二)提升技术,扩宽知识

对于程序员来说,要想成长为一名行业内的大牛大神级别的人物,那么唯一的办法就是通过学习,来不断提升自己的技术,扩宽知识,达到一定的高度和深度。那么如何提升自己的技术,扩宽自己的知识储备呢?

以下是我个人的一些做法,希望可以给各位提供一些帮助:

  • 21天啃完283页的pdf文档

**Java部分:**Java基础,集合,并发,多线程,JVM,设计模式
**数据结构算法:**Java算法,数据结构
**开源框架部分:**Spring,MyBatis,MVC,netty,tomcat
**分布式部分:**架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等
**微服务部分:**SpringBoot,SpringCloud,Dubbo,Docker

5年Java后端程序员,历经38天,6轮面试,成功斩获腾讯offer_第5张图片

  • 实战系列:Spring全家桶+Redis等

5年Java后端程序员,历经38天,6轮面试,成功斩获腾讯offer_第6张图片

  • 其他相关的电子书:源码+调优

5年Java后端程序员,历经38天,6轮面试,成功斩获腾讯offer_第7张图片

(三)刷题

如何刷题?这是很多现在面试者心中的困惑,我们都知道,面试前刷题是很有必要的,毕竟很多题目都有一定的共性,刷足够题目就能够做到举一反三,甚至在面试时,被问到原题,能够侃侃而谈,那么刷题如何进行呢?建议:最好找一些历年的面试原题,分专题来对自己进行训练。

以下是我私藏的面试题库:

5年Java后端程序员,历经38天,6轮面试,成功斩获腾讯offer_第8张图片

结束语

对于大厂面试,我最后想要强调的一点就是心态真的很重要,是决定你在面试过程中发挥的关键,若不能正常发挥,很可能就因为一个小失误与offer失之交臂,所以一定要重视起来。另外提醒一点,充分复习,是消除你紧张的心理状态的关键,但你复习充分了,自然面试过程中就要有底气得多。

以上内容中所有的学习资料、面试资料,均可以免费提供,希望大家金三银四面试顺利,拿下自己心仪的offer!

需要的朋友:直接点击文档窗口(https://jq.qq.com/?_wv=1027&k=gLUIIwrn)免费领取~
欢迎关注专栏:Java架构进阶团。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。

你可能感兴趣的:(腾讯,数据库,编程语言,java,spring)