猿辅导实习面经

之前找实习的面经,分享出来积攒人品

1、常用的限流算法有哪些(令牌桶、漏桶、计数器)
2、多线程相关
    2.1 如果我想在11:00同时触发100个请求,进行并发请求,怎么实现
答:使用多线程,for循环模拟请求;使用线程池
    2.2 要是用线程池,比如11点要并发,那10点加进去之后,中间这一个小时是要阻塞的
    这里应该是要引导用countDownLatch
3、怎么理解线程池的核心数量和最大数量
4、如果corePoolSize=4,maxPoolSize=8,什么情况下会从4扩到8
5、怎么从4扩到8
6、如果线程池满了,走拒绝策略,哪种拒绝策略不会使任务丢失
用callerRunsPolicy
7、如果线程池抛了异常,此时主线程还在执行当前的任务,会发生什么?
主线程不受影响,和线程池是相互独立的,线程池抛异常不影响主线程当前的任务。
追问:那线程池会发什么什么?
这块没搞懂面试官的意思,而且线程池本来实践就不多,不懂
8、dubbo、protobuf、gRPC等rpc框架,底层都是二进制传输的。如果我这里有一个java对象,有name和age两个字段,想通过二进制序列化后进行传输,应该怎么设计?
    给每个对象分配唯一的序列号,记录对象的类型、字段等信息。
   数据转换。将对象的字段值按类型转换为字节流。
    元数据存储。存储类的类名、序列化版本号、字段名称和类型等,用于反序列化时重建对象
9、redis大key问题
9.1 怎么解决
答了数据压缩、缓存分片
9.2如果分片了,redis集群模式下还需要多次请求怎么办
数据预取与本地缓存
• 提前加载数据:在应用启动或空闲时段,主动从其他集群节点预取可能会用到的数据,存储在本地缓存中。这样当需要使用这些数据时,可直接从本地缓存获取,减少对其他集群的查询请求。
• 结合本地缓存工具:利用如Ehcache、Caffeine等本地缓存工具,与Redis集群配合。对于访问频繁且不要求强实时性的数据,在从Redis获取后存入本地缓存,后续优先从本地缓存读取。
优化数据分布与查询逻辑
• 合理设计分片键:根据业务数据特点和查询模式,选择合适的分片键。让经常一起查询的数据尽量分布在同一集群节点上,减少跨节点查询。如以用户ID为分片键,将同一用户相关数据存储在同一节点。
• 批量查询:如果有多个查询请求涉及不同集群节点的数据,尽量将这些请求合并为批量查询。利用Redis集群的mget等批量操作命令,一次请求获取多个数据,减少请求次数。
10、redis和localcache的一致性问题,如果redis下线了本地缓存还没更新怎么办
面试官想听的是发布订阅,当redis中变更时,通过puclish命令发布变更消息,本地缓存使用subscribe订阅,收到消息就更新
11、mysql索引优化、慢查询
12、解释索引失效
13、MQ怎么保证消息不丢失?从producer、consumer、broker来分别说
补充:可以有镜像队列把副本分布到多个节点上,一个节点挂了其他节点上的队列副本还可以正常运作,提高可以用性
14、mq的消息幂等
从业务和消息发送的角度分别说了,介绍了项目里用的xxl-job,消费时要用id做幂等
15、手撕LRU
16、手撕力扣707设计链表
17、开放性问题,实习中的亮点难点工作
18、反问
#发面经攒人品#
全部评论

相关推荐

点赞 评论 收藏
分享
1.算法 合并链表还有个也是链表的top100忘记了2.自我介绍3.消息队列为了解决什么问题异步秒杀具体是一个怎么样的实现消费的时候发现没有库存怎么办为什么引入redis能不能在启动的时候把所有的信息都加载到服务内存而不用redis用过rabbitmq延时消费吗4.沾包问题根本原因ip层会沾包吗http会吗5.http常用的头字段6.websocket建立的过程和http的关系7.jwt和session后端服务有多个session怎么处理8.反问其实在正式开始找工作之前,从选择做java后端这个方向开始我就时不时会后悔,虽然当初看着java岗位多进来了,但是实际上看这几年的招聘情况是不甚乐观,也曾经想过要不要转前端或者go,但是因为自己的惰性和沉没成本没能狠下心去转。在这学期国庆终于把最基础的课程项目和简历做完之后就开始投了。说实话和我想象的完全不一样,我想着就是先投小厂实习一段时间再中厂,等暑期实习冲击大厂,可以就业形势远比我想象的要紧张,中小厂完全不回我简历或者是没有除了应届生以外的实习渠道,反而是那几家中大厂至少还能投(虽然大部分也是泡池子),这也就彻底改变了我的规划,决定all in中大厂,正如9本和普通本科的面试/投递率有千差万别,我相信有一段中大厂实习的背书肯定不会发生别人口中那种暑期实习泡池子的情况。在写下这期笔记的时候我也已经有自己的去处了,可能还会更新几个面经,但是说实话大头就要放在实际工作和准备暑期实习上了。腾讯,我们暑期实习见!
查看18道真题和解析
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

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