前言
985学渣渣一枚,毕业一年,四处飘荡了几个月,最终决心从事后端开发工作。上周腾讯那边打电话过来叫我准备面试(提前批),有点香喷喷的呀。不过可能还是疫情原因吧,一面选择的是电话面,上来就开干,连续50问,人都傻了...不过幸好,我有复习宝典,一一攻克!
腾讯一面连环50问
1、个人履历简述
2、项目简述
3、SpringAOP实现
4、AOP用的哪种?
5、JDK动态代理以及CGLib动态代理性能比较
6、Java的线程池用过吗,具体参数讲一下
7、线程池的Execute和Submit区别
8、继续问,还有别的区别吗?
9、线程池如何保证当前线程获取池内的worker的时候不产生争用
10、volatile的特性
11、内存屏障分几种?
12、除了在volatile当中使用了内存屏障,JAVA还有哪里使用了内存屏障
13、你之前讲到了CountDownLatch,你知道它的内部实现吗
14、简单讲一下AQS
15、加锁之后AQS是如何响应中断的?
16、OK问点别的,AQS存在什么实现呢?
17、讲讲实现
18、听说过ReadWriteLock吗,你之前提到AQS当中只有一个State那你如何用一个State去支撑读写两种状态
19、Int几个字节
20、你们用过缓存吗
21、你说说下分布式锁怎么做的?
22、除了redis还有什么可以做分布式锁?
23、如果让你用Mysql做分布式锁你怎么做
24、zookeeper了解吗
25、那我们继续聊聊Redis吧,Redis有什么数据结构?
26、Zset怎么实现的?
27、什么是跳表?
28、如果我要找一个score为A的节点应该如何去找?
29、zrange是如何实现的?
30、Redis持久化
31、AOF重写的时候会不会block主线程?
32、在载入的时候是怎么做的
33、Redis有哪些多机部署方案?
34、在主备环境下,如果一个备库中途断链了,重新上线的时候怎么执行同步?
35、如果备库的offset过于落后已经不在buffer当中了呢?
36、cluster如何做的故障转移?
37、Mysql了解吗,里面有哪些锁?
38、行锁怎么实现的?
39、讲一下事务隔离级别吧
40、你们用的是哪个隔离级别
41、在默认隔离级别下会产生幻读问题吗?
42、描述一下幻读
43、MVCC机制了解吗?
44、讲一下原理
45、慢sql怎么处理?
46、你关注explain的那些col?
47、https了解吗?
48、线上机器cpu100%你怎么处理?
49、你们线上JVM一般调整什么参数?
50、反问
问题就是上面这些,关于每个问题的详细回答和解释有整理成如下的文件
腾讯一面50问(回答)
**还有更多大厂的面试面经(附答案),需要的朋友可以分享给大家,只需添加小助理vx:mxzFAFAFA即可!!**
大厂面经
再看我的java复习宝典
可能有很多小伙伴说:面试造火箭,工作拧螺丝,这次的腾讯一面问题虽然多但是涉入的不是很深(那毕竟我是个渣渣吧)。虽然有很多是比较基础概念的东西,但是呢,涉及很广呀。所以,不得不面试造火箭呢!我自己有整理一套我的java复习宝典,从知识脑图出发,一步一步深入,面试+学习+复习,不漏掉任何一个细节。
> **关于这整套的“java复习宝典”,如果看完之后你也感兴趣,可以直接来找小编领取!添加小助理vx:mxzFAFAFA即可!!
先来看面试题(从基础-中级-高级),再来看具体知识点的知识脑图与笔记
- 比如基础部分:
- 面向对象和面向过程的区别?
- Java 语言有哪些特点?
- 关于 JVM JDK 和 JRE 最详细通俗的解答
- Oracle JDK 和 OpenJDK 的对比
- Java 和 C++的区别?
- 什么是 Java 程序的主类?应用程序和小程序的主类有何不同?
- Java 应用程序与小程序之间有哪些差别?
- 字符型常量和字符串常量的区别
- 构造器 Constructor 是否可被 override?
- 重载和重写的区别?
- Java 面向对象编程三大特性: 封装 继承 多态
- String StringBuffer 和 StringBuilder 的区别是什么?String 为什么是不可变的?
- 自动装箱与拆箱
- 在一个静态方法内调用一个非静态成员为什么是非法的?
- 在 Java 中定义一个不做事且没有参数的构造方法的作用?
- import java 和 javax 有什么区别?
- 接口和抽象类的区别是什么?
- 成员变量与局部变量的区别有哪些?
- 创建一个对象用什么运算符?对象实体与对象引用有何不同?
- 什么是方法的返回值?返回值在类的方法里的作用是什么?
- 一个类的构造方法的作用是什么 若一个类没有声明构造方法,该程序能正确执行吗 ?为什么?
- 构造方法有哪些特性?
- 静态方法和实例方法有何不同?
- 对象的相等与指向他们的引用相等,两者有什么不同?
- 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?
- == 与 equals(重要)
- hashCode 与 equals(重要)
- 为什么 Java 中只有值传递?
- 简述线程,程序、进程的基本概念。以及他们之间关系是什么
- 线程有哪些基本状态?
- 关于 final 关键字的一些总结
- Java 中的异常处理
- Java 序列化中如果有些字段不想进行序列化 怎么办?
- 获取用键盘输入常用的的两种方法?
基础部分
- 中级部分:
- HashMap底层实现原理,红黑树,B+树,B树的结构原理,volatile关键字,CAS(比较与交换)实现原理
- Spring的AOP和IOC是什么?使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别
- Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点
- SpringCould组件有哪些,他们的作用是什么?(说七八个)微服务的CAP是什么?BASE是什么?
- 设计模式(说五六个)
- Redis支持的数据类型以及使用场景,持久化,哨兵机制,缓存击穿,缓存穿透
- 线程是什么,有几种实现方式,它们之间的区别是什么,线程池实现原理,JUC并发包,ThreadLocal与Lock和Synchronize区别?
- 分布式事务(不同系统之间如何保证数据的一致性(A系统写入数据,B系统因为某些原因没有写入成功,造成数据不一致))
- 安全性问题(数据篡改(拿到别人的URL,篡改数据(金额)发送给系统))
- 索引使用的限制条件,sql优化有哪些,数据同步问题(缓存,数据库数据同步)
- 初始化Bean对象有几个步骤,它的生命周期
- JVM内存模型,算法,垃圾回收器,调优,类加载机制(双亲委派),创建一个对象,这个对象在内存中是怎么分配的?
- 如何设计一个秒杀系统?(高并发高可用分布式集群)
- 悲观锁,乐观锁,读写锁,行锁,表锁,自旋锁,死锁,分布式锁,线程同步锁,公平锁,非公平锁分别是什么?
- 堆溢出,栈溢出的出现场景以及解决方案
- 说出几种MQ之间的区别,以及为什么使用这种MQ,消息重复发送(幂等性),消息发送失败,消息掉包,长时间收不到消息,发送的消息太大造成接收不成功
- 单点登录实现原理
- 假如有上亿条数据,你如何快速找到其中一条你想要的数据(几种简单的算法)
- Dubbo的运行原理,支持什么协议,与SpringCould相比它为什么效率要高一些,Zookeeper底层原理
- 假如你带一个团队,让你设计一个系统,你需要考虑哪些?
中级部分
- 高级部分(消息队列+Redis缓存+分库分表+读写分离+分布式系统+高可用+微服务架构)
高级部分
再看:并发编程+性能调优+Spring全家桶+缓存数据库+分布式&微服务等知识点脑图与笔记
第一个是并发编程
- 知识汇总(思维脑图)
并发编程-知识汇总(思维脑图)
- 并发编程的手写笔记:并发编程+并发编程原理+并发编程应用+并发编程_模式
(1)并发编程
并发编程
(2)并发编程_原理
并发编程_原理
(3)并发编程_应用
并发编程_应用
(4)并发编程_模式
并发编程_模式
第二个是性能调优
性能调优
Java性能调优实战:Java编程性能调优+多线程性能调优+JVM性能监测及调优+设计模式调优+数据库性能调优+实战演练)
Java性能调优实战
第三个是Spring全家桶(关注这一部分,我将Spring、MVC、Cloud、Boot归整在一块了)
Spring全家桶
- Spring:思维脑图+笔记
Spring:思维脑图+笔记
- SpringCloud:思维脑图+笔记+面试
SpringCloud:思维脑图+笔记
SpringBoot:思维脑图+笔记
SpringBoot:思维脑图+笔记
- SpringMVC
SpringMVC
第四个是缓存架构
缓存架构
缓存数据库:MySQL+Redis+MongDB
第五个是分布式&微服务
分布式&微服务
ZK+kafka+Netty+Dubbo+SpringBoot+SpringCloud+MQ+Docker
总结
虽然这次去腾讯,也是抱着试水的心态的,一连50问我也的确有点懵逼的,不过很庆幸之前朋友有赠我这份JAVA面试复习宝典:基础-中级-高级的面试+并发编程+性能调优+Spring全家桶+缓存数据库+分布式&微服务等等全都有,一个不落(上面全都有一一解说),也比较顺利的在等待二面。
如果你也跟我一样正在面试获取正准备春招,正在搜集复习面试的笔记资料等等,小编这边可以免费分享给你哦,就能省去查找的麻烦啦,添加小助理vx:mxzFAFAFA即可!!!****我们一起加油,学习,复习,拿Offer!**