二本Java小菜鸟4面字节跳动被秒成渣渣,王者笔记!

前言

在高并发下,Java程序的GC问题属于很典型的一类问题,带来的影响往往会被进一步放大。不管是「GC频率过快」还是「GC耗时太长」,由于GC期间都存在Stop The World问题,因此很容易导致服务超时,引发性能问题。

我们团队负责的广告系统承接了比较大的C端流量,平峰期间的请求量基本达到了上千QPS,过去也遇到了很多次GC相关的线上问题。

这篇文章,我再分享一个更棘手的Young GC耗时过长的线上案例,同时会整理下YGC相关的知识点,希望让你有所收获。内容分成以下2个部分:

  • 从一次YGC耗时过长的案例说起
  • YGC的相关知识点总结

一面

  1. 介绍项目
  2. java 线程池的实现原理,threadpoolexecutor关键参数解释
  3. hashmap的原理,容量为什么是2的幂次
  4. 为什么要同时重写hashcode和equals
  5. ConcurrentHashMap如何实现线程安全?
  6. 介绍Java多线程的5大状态,以及状态图流转过程
  7. 介绍下Synchronized、Volatile、CAS、AQS,以及各自的使用场景
  8. B+树和红黑树时间复杂度
  9. 如果频繁老年代回收怎么分析解决
  10. JVM内存模型,新生代和老年的回收机制
  11. mysql limit分页如何保证可靠性

二面

  1. 了解哪些排序算法,讲讲复杂度
  2. 手撕归并排序
  3. Redis有哪些数据结构?底层的编码有哪些?有序链表采用了哪些不同的编码?
  4. redis的hash数据结构最多能存储多少个元素
  5. 自己如何实现RPC?
  6. mysql默认存储引擎?MyISAM、InnoDB、MEMORY的区别
  7. 什么是幻读,如何解决
  8. 事务隔离级别有什么?通过什么来实现的?分别解决了什么问题?
  9. 乐观锁与悲观锁的使用场景

三面:

  1. 自我介绍
  2. 参与的并发项目,从设计到部署,按照流程讲一遍。
  3. 项目相关你用过redis,用在什么场景,怎么使用的?
  4. mysql同步机制原理,有哪几种同步方法
  5. 数据库主从同步如何实现,事务如何实现
  6. 谈谈你对SOA和微服务的理解,以及分布式架构从应用层面涉及到的调整和挑战。
  7. 阿里系中间件metaQ及原理与现有的kafka有什么异同
  8. 在阿里有了解过什么中间件吗?实现原理?与其他开源消息队列有什么特点?
  9. 为什么选择换公司?
  10. 三年到五年的职业规划?

Java高频面试专题合集解析:

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

当然在这还有更多整理总结的Java进阶学习笔记和面试题未展示,在这也是免费分享给那些有需要的朋友,其中囊括了Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构资料和完整的Java架构学习进阶导图!

这些资料都以整理成了PDF文档,如果有需要可以狂戳这里免费下载即可!

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

更多Java架构进阶资料展示

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

wR3R1b8K-1618037205352)]

[外链图片转存中…(img-8jRCsFFR-1618037205354)]

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值