完美世界一面20210818
双非本科艰难求职。这次问的很基础,回答率100%,可以作为入门面经参考。
- 自我介绍
- synchronized介绍一下。我最喜欢的问题,这种就是我不断输出的。联系aqs,对比synchronized,开始讲底层。
- 线程池的核心线程数怎么设置。io密集型和cpu密集型两种,具体情况具体区分。
- mvcc知道吗
- springboot怎么解决循环依赖
- 缓存穿透怎么办,布隆过滤器可以删除吗?
- 反问:做什么业务,csgo/dota2的电竞社区
回顾几个点
- synchronized这里一般我是先从锁升级讲起,里面带着说一下cas和markword。然后主动对比reentrantlock,讲述aqs的实现,什么是aqs。然后是对比synchronized的wait/notify和aqs的condition,说一下各自的区别,编码时注意的点(比如reentrantlock必须再finally里面释放锁),具体底层的实现。而且深入到操作系统级别,谈一谈操作系统如何实现阻塞,挂起线程的。
- 布隆过滤器是不能删除元素的,这也是布隆过滤器的缺点。大家可以了解一下布谷鸟过滤器,应该能给面试官眼前一亮的感觉。
全部评论
(2) 回帖