腾讯面经

TEG一面2.26
1. JVM内存结构及其作用
2.OOM在哪出现,怎么解决
3.怎么判断要不要GC,哪些对象要被GC
4.哪些对象可以作为GCroots
5.redis性能为什么这么高
6. redis持久化
7.持久化怎么保证数据不丢失
8.redis集群
9.SpringBoot的结构
10.项目
11.延迟队列怎么实现,自己写一个怎么实现
12.手撕:最长递增子序列

TEG二面3.4
1. 介绍项目
2. 你对微服务架构的理解是什么
3. 既然微服务是对一个单体项目的拆分,那直接把每一个接口拆成一个服务是不是更好
4. 说到远程调用比本地代码调用更消耗性能,那么把一组微服务部署在一起通过本地的远程调用,不涉及到不同实例上远程调用的网络开销,这样能不能解决这个问题
5. 一台服务器上不同的两个进程之间的网络调用,按照网络的七层结构来说,这个请求会不会走到网卡,然后通过收发包回到那个进程
6. 一个进程给另一个进程发请求,但是其实并不知道另一个进程是部署在本地还是在远端。那操作系统怎么知道这个请求什么时候走网卡发送,什么时候不走网卡
7. 如果redis性能不是问题,抗几十万几百万的并发都行,那么redis还有没有什么其他问题(提示热key问题)
8. redis里存什么,数据库里存什么。如果redis里和数据库中存的是一样的,那么是不是就不需要数据库都行
9. 如果全部在redis中进行操作,那么数据不一致的时候redis挂了,那么不就出问题了吗 
10. 进程、线程、协程
11. 进程的内存结构大概什么样的、低地址高地址是怎么分布的。
12. 进程通信的方式
13. 各种方式能适用于哪种场景
14. 假如说开了一块共享内存大概是3个g,有两个进程都把它挂上去了这个共享内存占不占用本机进程的内存空间(就是说假如本身有4g,那么挂上这块共享内存之后是不是本身进程就相当于到了7g,提示共享内存底层的实现机制)
15. 如果不使用框架,自己来实现一个服务器来接受请求,要做哪些事才行(想问sokect编程里的服务器端要能收客户端的请求要做哪些事)

TEG三面3.5
1. 高并发场景中用到了事务吗
2. 常见的事务有不同的模式组合,用于异构的分布式系统的数据一致性问题,有哪几种常见的模型(分布式事务的两阶段和三阶段)
3. rabbitmq中怎么处理消息堆积问题
4. redis中的热key和大key问题
5. 如果将热key拆分到不同redis实例中,那不同实例之间的数据同步怎么解决(怎么保证数据在多个实例中的一致性)
6. 如果只有1%的key是热key,其他的不是热key。热key的请求量是非热key的几十倍。那么用主从的方式怎么去平衡成本
7. mysql是通过什么方式去解决主从同步的
8. binlog日志像事务类的操作有回滚之类的各种情况,那么怎么解决同步的从节点也能够在一段时间内保持最终的一致性(事务的主从同步是怎么做的)
9. 假设数据库的主节点出了问题,那么怎么把流量迁移到从节点
回答选举新的主节点,但是面试官说在做数据同步的时候,主节点挂了会导致数据丢失问题
10. 自己设计一个哈希表的类要怎么构建
11. 假设内存大小固定为1M,那么要怎么做。怎么在内存有限的情况下保证扩展性和安全性
12. 构造一个递归的使用场景,递归怎么转换为迭代
13. 将一个Java的源代码,编译成一个可执行的文件,整个编译过程是怎么做的
14. 接口和类的分别在哪些场景下使用
15. 用类的方式去实现一个单例,要怎么做
16. 观察者模式的应用场景

TEG一面3.14
1. 介绍项目
2. Redisson分布式锁是怎么实现的,Rdisson具体的加锁过程有了解过吗
3.在Redisson可重入的场景下,当前线程没有去解锁。然后这个线程复用了,那么会不会重复的获取到这个锁,或者说意外释放
4. redis是单线程还是多线程
5. 说下Java集合的继承结构
6. 常用的集合有哪些,分别适用那种场景
7. hashmap是线程安全的吗
8. 多线程环境下hashmap除了put时候的数据覆盖问题还有什么问题
9. Java中停止一个线程的话一般怎么停止(怎么让一个线程挂掉或者说阻塞起来)
10. 如果一个线程一直在跑,想让它停止掉怎么处理(完全停止)
11. 锁升级的过程
12. 为什么这么设计
13. MySQL中设计索引的话要考虑哪些问题、
14. 介绍一下布隆过滤器,以及其原理
15. 布隆过滤器有没有什么局限的地方
16. Springboot的自动装配
17. Spring中两个比较大的特性是什么
18. AOP是怎么做到的
19. IoC控制反转,反转的是什么东西
20. Bean的生命周期
21. JVM中的OOM大多可能发生在区域
22. 怎么避免出现OOM
23. 对象在堆区的晋升机制
24.一般在做开发的时候对一些异常是怎么处理的
25. 什么情况下Bean对象会注入失败

TEG二面
忘了
全部评论
mark一下
点赞 回复 分享
发布于 08-06 22:42 安徽
mark
点赞 回复 分享
发布于 05-17 00:49 广东
mark一下
点赞 回复 分享
发布于 05-11 17:42 湖北
mark一下
点赞 回复 分享
发布于 05-08 21:08 湖南
TEG三面3.5 第8个问题是故意设置的坑,因为回滚本身不产生任何binlog事件,从库自然也不用对该事务做任何变更。因为只有在事务真正Commit提交时,才把整个事务写入binlog;而事务回滚rollback时,innodb不会把任何内容写入binlog,只会修改undolog中的日志。
点赞 回复 分享
发布于 04-30 20:01 湖北
mark
点赞 回复 分享
发布于 04-27 15:59 上海
mark一下
点赞 回复 分享
发布于 04-25 10:08 福建
mark一下
点赞 回复 分享
发布于 04-24 12:28 广东
大佬,请问这个是应届春招面还是实习面?谢谢~
点赞 回复 分享
发布于 04-23 01:44 山东
这么多 tql
点赞 回复 分享
发布于 04-20 16:00 安徽
mark一下
点赞 回复 分享
发布于 04-20 13:47 广西
好难 os好多,完全不会
点赞 回复 分享
发布于 04-20 09:07 北京
mark
点赞 回复 分享
发布于 04-20 08:55 北京

相关推荐

11-25 12:25
门头沟学院 Java
1、项目介绍2、new一个hashmap和new一个hashmap(16)在底层执行时,空间分配上有什么不同吗3、hashmap是线程安全的吗,多线程时,举例说明在什么条件下会出现死循环4、多线程在扩容时,会发生线程之间相互覆盖的现象吗5、现在让你选择一个性能比较好的线程安全的hashmap,你会选择哪个6、你刚刚提到说读不加锁,那如何保证不脏读呢,如何保证可见性呢7、加了可见性的话,对性能有影响吗8、concurrenthashmap如何保证扩容时的线程安全9、现在让你设计一个线程安全的list,用来存储配置数据,读多写少,你会选择什么样的list(用已有的,或者改造一个list)10、如果读写比一样呢,读多写也多的情况11、你提到用CAS,CAS一定好过锁吗12、你说加细粒度的锁,能细到什么程度,如果我要给链表尾插入数据如何加锁,在链表头插入数据如果加锁13、b+树做索引的优势14、怎么判断是不是用的我们设计的索引15、索引失效16、你说到数据量比较少的情况下会全表扫描,那数据库如何判断数据的多少从而决定索引方式呢17、你用的引擎是行存还是列存,他们分别的优劣势18、讲实习,你的压缩线程如果挂了怎么办,有没有做一些线程的状态的监控19、手撕:快排20、复杂度是多少21、最坏复杂度在什么场景下出现,我们可以如何优化这种场景22、有了解过jdk本身的sort排序吗23、快排和其他排序比起来有什么优势吗,是稳定排序吗24、闲聊、反问
查看23道真题和解析
点赞 评论 收藏
分享
评论
15
103
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务