看看这还是不是你以为的八股文
今天给大家分享的是社招中我被问到,或者面试别人的八股文问题。大家可以看看跟校招的问题有什么区别,现在校招越来越卷,没准你在面试的过程中也会被问。大家关于相关的技术问题也可留言讨论。
JVM
你以为的八股文
jvm使用了什么样的回收机制?
常见的垃圾回收算法是什么?
标记整理算法和复制算法有什么区别?
什么回收算法会产生内存碎片?
垃圾回收的时候哪个步奏会产生stw?
响应要求高的系统优先使用什么回收算法?高吞吐量的系统呢?。
实际呢?
分代回收机制和分区回收机制有什么区别?如果响应式高并发的系统从分代回收切换到分区回收算法,会有哪些收益和风险?
Parallel算法和g1算法都是提升了系统的响应的,两者的提高方式有什么不一样的地方?如果单纯的只想要提升系统响应的性能,能不能直接切换到g1?
如果使用g1垃圾回收器,你是如何监控治理内存情况的?如果使用了g1,了解行业的监控产品是如何监控和治理内存吗?如果通过jmx能准确的做到吗?
Jvm的运行时信息是非常丰富的,如果想要搜集这些信息,如何确定哪些信息是价值高的,哪些信息的搜集成本是比较低的?Jvm的运行时信息有什么特点?存储这种信息的方案要怎么做?
Kafka
你以为的八股文
Kafka的顺序是如何保证的?
了解Kafka的延时队列是如何实现的?
了解时间轮吗?如何防止kafka的重复消费和消息丢失的问题?
实际呢?
对于容易出现kafka消息堆积的情况,可以使用什么方法提前识别和预测?
直接设置从最新的偏移量消费的时候,真的能把消息全部丢弃吗?
Kafka延时队列如果存在大量消息堆积的情况,延时的队列是如何处理的?
这样的延时还是准确的吗?使用什么手段识别这种情况?如何识别延迟队列的消息是超时的?
如果使用布隆过滤器防止重复消费,如何防止布隆过滤器提前饱和的情况?对于重复概率非常大的场景,布隆过滤器的参数如何设置?
重复次数非常多的情况下呢?如何在分布式的消费者中共享布隆过滤器?
分布式锁?在一个qps达到十万以上的系统还能用分布式锁吗?
生产环境的kafka重平衡了解吗?
有没有遇到反反复复重平衡的情况?
如果出现反复重平衡会给系统造成什么影响?
有哪些监控指标可以提前预判这种情况?
Redis
你以为的八股文
聊聊redis 的数据结构有哪些?
说说list这种数据结构的实现原理?
聊聊redis的过期机制?
谈谈redis为什么是单线程的?
说说redis有哪几种持久化方法?
谈谈redis集群里面的哨兵有什么作用?
热点key如何防止?缓存击穿如何避免?
实际呢?
Redis 是单线程的,这种单线程会存在什么样的问题?比如遇到大key会有什么影响?
单线程的redis如果这个线程出现阻塞了,会导致什么样的灾难?如何避免这种灾难?
Redis虽然是高速缓存中间件,但是redis也是有性能瓶颈的,了解过这种瓶颈吗?在什么场景下最容易遇到这样的瓶颈?如果把安装redis机器的内存和cpu的核以及主频都加大,能不能把redis并发量的上限提高?
Redis的消息发布订阅了解吗?为什么消息推送过多的场景不推荐使用redis来做发布订阅的中间件?
统计网站的uv的时候,我们都知道可以使用redis的hyperloglog来实现,这个功能的底层数学原理清楚吗?对于这种数据的估算方式,达到多少量级的请求量才能做到4个9的准确率?如果pv比uv高一个数量级,这种方式还是准确的吗?如果pv和uv相差不大呢?这个临界值有办法计算吗?
总结
社招的问题不再是书本上一成不变的知识了,都是考察实际的生产问题你如何灵活运用相关的知识点去解决,另外很多问题不再局限在某个点,而是涉及成套的企业级研发流程系统性方案,很多问题也不再是单纯的技术问题,涉及项目管理、人员沟通协作、产品思维等等,单纯的技术问题在企业里面反倒是最简单的。
各位同学们也不用过于紧张,目前校招问题应该还没达到这个难度,毕竟大家的生产开发经验有限。只是告诉大家需要持续不断的学习,以及多实习多在企业项目开发中多思考,大家的路才会走的越来越顺。
#校招##面试##八股文#