瑞幸一面 纯八股

自我介绍 问会什么语言(java python)开始java基础:arraylist和linkedlist区别(秒了hashmap和concurrentHashmap区别(秒concurrentHashmap为什么线程安全(秒java多线程:多线程如何协同操作(秒饿汉模式懒汉模式区别(秒jvm:线上飙升cpu怎么排查(秒常见参数配置(秒设计模式:知道哪些设计模式(答了七个)抽象工厂和工厂方法区别(秒session token cookie区别(秒服务断开了session失效吗讲一下csrf攻击(秒tcp为什么三次握手不能两次四次(秒redis:redis缓存穿透(null值 布隆过滤器)布隆过滤器返回true or false更可信(false 一定不存在)场景题 一亿条数据 五万个前缀一样 怎么取 (keys info:* 或scan)mysql:介绍索引(秒内连接左连接区别(秒场景题 查询学生成绩大于90的 (用group by和having)负载均衡算法(两大种)负载均衡有哪几层(四层七层)nginx在哪一层(不会讲一下cap理论(三个特性)cap理论为什么不能三者共存(√)接口幂等性实现方案(数据库 jvm 分布式锁)dubbo:dubbo怎么感知服务下线(服务监控 心跳检测)dubbo用了什么通讯协议(不会瞎答)dubbo重试机制分布式 ID 介绍(秒雪花算法重复id问题分布式锁常见实现方案(秒算法java爬楼梯(秒)排序算法如何实现和时间复杂度了解什么消息队列kafka:kafka消息如何保证顺序(秒kafka消息回退处理(秒问简历实习(写的太多了不懂原理介绍实习 系统架构dubbo接口管理平台,公司elk有没有二次开发(没接触查询超时接口 链路分析traceIdselect for update实现,还有什么方式能确保加锁elasticSearch深分页(没答好websocket 基于什么协议 tcp 在nginx怎么配置(忘了charles抓包dubbo显示什么 k8s configmap作用(不会感觉面试官很强,也有引导,前面基础答得ok,后面实习的dubbo知识被拷打
全部评论

相关推荐

04-09 13:59
吉林大学 Java
问题 1 请先做个简单的自我介绍,并详细说说你在项目中是如何利用Redis和消息队列处理高并发抢券/秒杀场景的?问题 2你在项目中使用的分布式锁经历了怎样的演进过程?请结合JMeter的压测数据,谈谈最初的Redisson方案是如何实现一人一单的,以及它是怎么处理超卖回滚的?问题 3请详细解释一下Redisson分布式锁中的“看门狗(Watchdog)”机制是如何工作的?它的触发条件和底层续期逻辑是什么?问题 4如果不直接使用Redisson,让你自己手动编码实现一个类似“看门狗”的自动续期机制,你会怎么设计这套逻辑?问题 5既然Redis本身支持设置Key的过期时间,那我们为什么不能直接依赖这个自动过期时间来释放分布式锁?完全依赖超时自动释放会有什么隐患?问题 6在预扣减Redis库存成功后,如果由于网络故障或RabbitMQ宕机导致消息发送失败,数据库没有成功落库,这种情况下的数据不一致问题你是如何保证兜底解决的?问题 7你提到方案经过了优化,请问从纯分布式锁优化为Lua脚本方案后,系统的QPS具体提升了多少?性能翻倍的根本原因是什么?问题 8使用Lua脚本嵌入Redis执行确实能大幅提升并发性能,但在工程实践中,编写和维护Lua脚本存在哪些弊端或需要注意的风险?问题 9你提到项目中大量使用了MyBatis Plus,那么请问MyBatis底层是如何防止SQL注入的?它的核心原理机制是什么?问题 10在使用MyBatis Plus进行数据分页查询时,它的物理分页底层是如何实现的?拦截器(Interceptor)在这里起到了什么核心作用?问题 11框架在进行物理分页时,具体的分页参数(如当前页码、每页大小)在应用层和底层之间是如何封装和传递的?问题 12除了MyBatis Plus,你平时还会去主动研究哪些主流框架的底层源码?能分享一下你最熟悉的框架源码机制吗?问题 13当你在项目中需要引入一个新的中间件或技术栈时,你的学习和落地路径是怎样的?你会如何平衡AI辅助工具和官方文档的使用?问题 14在日常开发排错和遇到复杂的系统性能瓶颈时,你通常会如何利用AI工具?有什么核心决策是你绝对不会完全交由AI去决定的?问题 15你在设计分布式锁的Key时,曾和AI的建议产生过分歧。请结合具体的业务安全场景(如防黑产刷单),谈谈你是如何权衡纯粹的“技术并发度”与真实的“业务安全性”的?问题 16结合你的项目开发经验,谈谈你为什么深度依赖Spring Boot框架?它的核心设计优势(例如自动装配)在底层是如何实现的?问题 17请深入讲解一下Spring的IOC容器是如何管理Bean的生命周期的?特别是遇到带有AOP增强的循环依赖时,三级缓存是如何精妙运作来解决这个死循环问题的?问题 18在处理系统中大量重复的公共字段(如创建时间、更新人)时,你是如何利用自定义注解结合Spring AOP和反射机制,实现无侵入式自动填充的?算法题用java实现lru
查看20道真题和解析
点赞 评论 收藏
分享
04-10 17:12
已编辑
重庆大学 Java
1.自我介绍2.如何学习java,是通过学校课程学习还是自学的?3.用户登录校验是如何做的?4.你说用redis对活跃的token实现刷新过期时间,这个功能你是如何实现的?5.频繁的时间戳更新会不会导致redis大量的内存被占用,想别的方案来解决6.redis对key值的过期策略是怎样的?8.介绍你的缓存更新策略吧(我提到redis中的cache Aside策略,补充了消息广播实现本地缓存数据一致性,利用kafka中不同消费组订阅同一topic实现消息广播,某一节点删除缓存时,其他节点都删除本地缓存,从而实现分布式系统本地缓存的一致性)7.JVM中垃圾回收(GC)的策略是怎样的?9.你使用了Redisson实现分布式锁,请解释一下Redisson分布式锁中的看门狗机制10.解释一下Mybatis如何防止sql注入,MybatisPlus中是如何将方法映射为sql的11.你使用了Shardingsphere进行分库分表,那Shardingsphere的底层是怎样的呢11.再介绍一下你项目中的亮点吧(定时对账:在kafka宕机时进行埋点,记录日志。恢复后回滚到之前的库存状态;延迟队列:使用Redisson的延迟队列,为业务设定一个延迟的时间执行)12.你另外一个项目中的Agent是如何设计的13.详细讲讲离线上传中长文本如何分块,固定分块有什么劣势,你如何设计分块方案(面试官补充了语义网络的概念)算法LRU职业规划方向反问面试官人很好,比较看重你实际项目开发中对使用过的技术栈的底层原理的理解以及业务的设计
查看16道真题和解析
点赞 评论 收藏
分享
04-11 14:30
已编辑
西安电子科技大学
3.30 一面(50min)结合着项目去问的八股:1.数据一致性怎么保证的?假设是多机房多集群部署,不同机房之间有各自的redis,如何实现整体的限流?2.超时关单如何实现?为什么要用乐观锁?乐观锁和悲观锁的区别?3.aop底层原理?4.如何解决redis大key和热key的问题?5.spring框架中bean如何初始化的?6.spring怎么解决bean循环依赖的问题?7.http请求从浏览器开始到后端服务器的过程?8.http和https的区别?说一下https加密过程。9.什么是公钥什么是私钥?手撕:LCR 194 公共祖先(题本身简单 难在要自己构建测试用例的树)反问环节面完第二天中午约二面,这里因为主包是第一次面试,一面的时候很紧张,说话都哆嗦,本以为已经凉了,没想到竟然过了,不过为了再准备准备还是跟hr约了一个靠后的时间。-----------------------------------------------------------------------------------------------------------------------------4.2 二面(1h)项目:1.详细说一下秒杀业务如何实现?防超卖业务如何实现?redis防止超卖用到了数据库吗?如何进行最终的兜底策略?2.定时任务(SpringTask)实例宕机了,任务是否丢失?有别的方案吗?3.项目中缓存击穿的业务场景?缓存穿透是如何解决的?为什么要用缓存空值?为什么不用布隆过滤器?(布隆过滤器这个点,主包的同门在一面红围巾的时候被连环拷打,布隆过滤器原理?存在的问题?如何解决?事后这个知识点被主包偷师了,也是光速吟唱)4.一个关于项目中支付订单这一业务的连环问:订单表怎么设计的?索引结构怎么设计的?现在需要查订单,根据时间排序,如何设计索引?订单的数据如果非常大,到了几千万,会有什么问题?有什么解决办法?订单场景如何分库分表?分库分表是什么(问这个问题是因为上一个问题没答好,脱口而出只把数据量大的表拆分成小表)?慢查询如何解决?explain关注哪些内容?面试官在聊天框写了一个塞扣语句,让我找有哪些问题。(主包看了半天只找出了一个select * 的问题)八股:1.redis有哪些常用数据结构?zset一般使用场景?zset底层数据结构?(这里主包听错了,以为问的是set的底层数据结构)2.讲讲redis主从复制?3.怎么去保证rabbitmq消费不丢失?生产端如何保证?消费端怎么保证?如何保证消费有序?4.hashmap底层实现原理?发生哈希冲突时,底层如何处理?5.线程池了解吗?线程池好处是什么?手撕:LCR 023 相交链表(最简单的一集)反问环节主包个人感觉二面是整个流程下来最有压力的一面,项目拷打很深,感觉面试官就是想看看你是不是真的做过简历上的项目,所以经常在一些细枝末节的地方层层深挖。回答问题时感觉面试官更想听到的是主包针对某个业务分析业务的核心诉求是什么,然后才是解释为什么要使用这种技术方案?例如未支付超时自动关单和成功支付的并发安全问题,这本来就是一件发生概率很低的事,如果为了保证强一致性而去加锁,反而会牺牲并发量。感觉面试官更想听到的是你对这一业务的思考。-----------------------------------------------------------------------------------------------------------------------------4.3三面 负责人面(40min)面试官上来一看主包的简历,没有实习经历,项目也比较简单,那就换个拷打的方向,今天拷打算法,直接开始手撕,题目本身不难,难在撕出来后面试官又加要求。LCR 095 最长公共子序列(面试时让输出序列,不是长度) 难在撕出来后面试官加要求问主包如果用字符序列CharSequence去做不用String可不可以,后面又加了一个要求具体是啥主包也忘了。然后又问了几个常规问题:1.ConcurrentHashmap底层原理?2.项目中的缓存有设置过期时间吗,你是依据什么设置的?3.为什么要用本地缓存?4.synchronized锁升级过程,详细说一下如何实现可重入?5.reentrantlock底层原理?6.JWT如何实现无状态鉴权的?如何进行加密的?7.为什么会想到要限流,是基于什么样的一个场景?如何压测的?qps是多少?用多少并发量去压测?限流前后缓存命中率有什么变化?(这个问题主包在面红围巾的时候已经被问过一遍了,直接吟唱)8.如果单机redis迁移到集群架构,会出现什么问题,这个时候如何保证一致性?反问环节4.8hr面(20min)都是一些很常规的问题,最后反问了一下具体业务,转正情况就结束了,然后hr拜托主包介绍介绍身边的人来投这个部门(中国交易与广告),主要是缺前端和客户端,这两岗位hc充足,主包所在的小团队后端已经没什么hc了,但是大部门肯定还是机会多多的。-----------------------------------------------------------------------------------------------------------------------------4.8晚发offer整体面下来除了二面压力很大,剩下的几面基本都很轻松愉悦,这里真的要给字节的效率点赞了,除了一面是因为主包自己觉得凉了,就没问hr结果,后面的几面都是前脚面完,两分钟不到就出结果;而且每轮面试前5分钟hr都会发短信祝面试顺利,情绪价值也给主包拉满了。主包之前没有实习经历,结果一上来面的第一家公司就给off了,感觉有点魔幻。
牛客喵🐱:暑期实习/春招进度都在专题汇总页里,还有同阶段同学一起交流 👉https://www.nowcoder.com/link/chunzhaoji2610
查看26道真题和解析
点赞 评论 收藏
分享
评论
4
10
分享

创作者周榜

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