腾讯Java面试题

一面

1 介绍做过的项目,通过这个项目学到了什么,对项目做了怎样的改造和贡献,项目难点在哪,复杂度在哪,怎样保证稳定性?

2 redis 的分布式原理,数据一致性怎样保证,数据持久化,怎样选择持久化的策略,分布式缓存,击穿怎样处理?

redis 的分布式原理

数据一致性怎样保证

数据持久化

怎样选择持久化的策略

击穿怎样处理

3 在类创建对象和在方法里创建对象的区别,弱引用和强引用

4 ConcurrentHashMap 1.7 和 1.8 的区别,ConcurrentHashMap 的 size 方法

并发容器碎碎念_闲狗的博客-CSDN博客

5 mysql 怎样设置乐观锁和悲观锁

6 jvm 参数的配置,设置 GC 回收器

7 线程池的链表队列可以设置大小吗

8 mysql 事务隔离级别

脏读:数据在修改

幻读:数据在增加

9 Spring 动态代理,JDK 动态代理和 CGlib 动态代理的区别。代理类没有实现接口,但是 spring 设置了采用 JDK 动态代理,会有什么样的影响。

jdk 内部通过反射去实力话对象, CGlib呢?给 CGlib 传一个接口呢?回答的时候要答出增强的作用。

10 Spring AOP 的例子

11 CAS 的实现方式

12 锁升级-偏向锁-轻量级锁-重量级锁

13 synchronized 和 lock 的区别,分别在什么场景下使用

14 支付回调失败怎样处理

15 canal 和 dubbo 各自的使用场景

16 分布式锁

17 限流怎样实现

18 会压测接口吗,每个接口的最大 QPS

面试官的建议:

1 要把项目完整描述清楚

2 基础不够扎实,不够深入

3 准备充分再去面试会更好

4 没有亮点

5 要做好业务也要学习基础知识,关注细节

6 不会就答不会,不用去猜

腾讯二面

1 Mybatis 执行 sql 的整个流程,加入缓存后的执行流程

2 dubbo 服务的异步调用怎样实现的,NIO

3 volatile 的底层原理

image
image.gif

编辑

4 redis 哈希的底层实现,一开始就是数组和链表的结构吗

5 在页面下载导出 500 万的数据,你会怎样设计

6 假设索引的某个叶子节点存放了 100 条 记录(id,name,age)怎样快速找出 id 为 60 的记录

7 kafka消费慢,后面来了一批需要紧急处理的数据,这时候你会怎样做

8 ConcurrentHashMap 怎样扩容的,看过源码吗

9 CMS 和 G1 的区别

面试官的建议:

(1)1-3 年,打好基础,jvm,jdk源码,cpu,计算机网络,socket通信,操作系统,追求点而不是面

(2)3-5 定方向,框架和业务都要定好方向,做电商,还是做金融,还是做社交

(3)5-8 定向,深耕

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容