做中间件的部门吗
点赞 评论

相关推荐

昨天 16:11
武汉大学 Java
一面 1h,3.231.介绍短链接项目,存储方案,短链接生成方案、有没有其他生成方案,短链接长度,最多可以有多少短链接2.短链接跳转原理,多级缓存,为什么使用分布式锁,布隆过滤器及其原理,3.服务目前性能,301/302,除了redis还有什么方式提高短链接处理的并发能力4.如何处理短链接过期,短链接更新时间后的数据处理,布隆过滤器怎么处理过期5.除了redis+lua还有哪些方式实现秒杀,如何应对大流量,如何设计秒杀开始和过期开关6.为什么选择redis作为库存工具,和其他的做库存的不同,如何防范恶意ip刷单7.mysql中索引的数据结构,B+树的优势,acid及其实现,4种隔离机制及其实现原理,慢sql优化8.redis为什么这么快,zset底层,redis持久化,缓存数据库一致性(如果数据库延迟导致缓存读取从库过期数据处理)9.acm手撕三数之和二面:50min 3.251.第一个项目的链接系统,这个是做了多长时间,是怎么样的一个项目,有多大的量并发?2.没有上线,那你做的这些技术是基于什么去判断去加这些东西呢?怎么测试的?3.你的redis是部署在哪里的?这个本地缓存为什么能提高性能?4.你不都是都在一台机器上,涉及到网络的问题吗?比如说用redis和用redis加这个caffeine,有这个区别在哪里?5.那你进行压测的时候,你是怎么做这个叫叫消融实验,叫怎么测的?6.布隆过滤器在这里面起到什么作用?它的基本原理是什么?7.你这个双重判定所的目的是啥?不够大的情况下呢8.讲解cache aside,为什么不先更新缓存,数据库成功了,但是删缓存失败了怎么办?9.为什么监控短链接需要rocketmq?10.秒杀项目从哪找来的项目,是从零写的还是怎么着?11.为什么要用滑动窗口限流?你举说的清晰一点的。再举个例子。12.那thread local在这里做的是啥?那这个thread local需要清理吗?怎么清理的?那这个线程本身是复用的吗?13.协程和线程的区别?协程是怎么实现。14.项目是什么时候做的?在这个过程中是怎么学习的?我想了解一下,你比如说你是怎么有没有接触AI工具去学习,然后这里面的代码是借助AI工具来搞的,还是自己没有借助AI工具自己来搞的?15.那这里边自己写了多少代码?我比较好奇的是你这些首先那个项目的起点,你为什么要找到这个项目之后你想做哪些事情?还是这些策略明显是为了应对一些高并发做的,对吧?然后你是怎么假想出来的?还是说你比如说问问AI说我想优化这个系统,应该往哪些方向优化,怎么样?16.你这两个系统各有多少张数据表?这个系统里校园生活网里边有有多少个DB mysql的表,你是怎么怎么设计这个数据表?这些表是你在做这个项目之前自己设计的,还是这项目本身就有?他在本地跑起来了吗?这个系统。17.这个AI应用这块是自己学习过的东西吗?是怎么了解的?自己动手了吗?18.那你为什么要搞后端这块的东西,是感兴趣吗?还是怎么样?专业是网络空间安全是吧?19.学过其他语言?有哪些课程?20.mmap()和malloc(),那他们只是用于分配内存吗?21.那你平时除了你自己学的这两个小项目以外,你平时还自己折腾过什么其他东西吗?22.这两个项目加起来自己写了多大代码量?23.硬币朝上赢,先手扔获胜概率?p=1/2+(1-p)/224.你对语言有什么要求吗?或者有什么热衷的?25.你觉得你自己的优势是在哪块儿?26.假设你的第一个项目,如果你的某个短链突然间变成了热点多量,然后QPS加上暴涨了50倍,暂时是你这么一个系统,你会怎么处理?27.所以你最感兴趣的是后端是吧?28.lc34 在排序数组中查找元素的第一个和最后一个位置29.你平时用什么AI的代码工具?自己的感受?
点赞 评论 收藏
分享
题目都答出来了,但是表述弯弯绕绕,还得练表达啊。代码题创建线程不会创建,直接露馅。其他似乎应该也答出来了。只有三十分钟,应该是寄了项目相关1. 你用 Caffeine + Redis 构建了两级缓存,这两级缓存的数据如何保持一致?2. 你简历上写了"通过乐观锁解决支付回调与关单任务的并发冲突",能介绍一下具体是怎么用乐观锁解决的?假设关单任务已经开始执行,这时候支付成功的回调过来了,是一个怎样的处理过程?3. (追问)如果支付回调过来,但乐观锁没抢到(update 失败),后续流程是什么?(用户已经付了钱,但订单被关闭了,怎么处理?)4. 你的扣减库存是通过 Kafka 异步处理的,那消费 Kafka 消息进行库存扣减时,如何保证幂等性?(即一个订单不会被扣多次)5. 你设计了 AI CodeReview 提示词,提高了代码缺陷识别率和 AI 输出质量,中间做了哪些优化?有没有一个递进改进的过程?6. 在做 RAG 系统时,知识库是以什么方式进行切分(分块)的?代码题1. 锁竞争:给一段代码,多线程并发调用同一个对象的 Method1 和 Method2(两个方法都加了 synchronized,锁对象分别是两个不同变量 A、B,但 A 和 B 指向同一个对象),它们之间的锁是否会产生竞争?2. Spring 事务失效:给一段代码,是通过 Spring 管理的 Bean 实例调用 Method1,Method1 内部用 this 调用 Method2,Method2 上的 @Transactional 注解是否会生效?为什么?3. 线程访问局部变量:要求写代码实现:有一个局部变量 int x = 5,不能移动它的定义位置,要在线程里对它加 5,最终输出 10,如何实现?4. (上一题不会,我说平时了解线程池更多,面试官换了一题八股)线程池参数:线程池的 corePoolSize、maxPoolSize、workQueue 这几个核心参数的关系是什么?假设使用无界队列,有新任务提交进来时,这几个参数的行为是怎样的?5. SQL 索引优化题:有一张员工表,包含若干字段,给出一段查询 SQL(WHERE 条件中有对字段使用函数的情况,还有 ORDER BY),不考虑其他查询条件,想通过建索引来优化,应该在哪些字段上建索引?(应当是考察索引失效)6. (追问)为什么在有函数的字段上建索引会失效?7. 算法题:自定义三叉树节点结构,实现三叉树的广度优先遍历。反问:1. 业务和技术栈2. AI 的使用
发面经攒人品
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务