MetaApp一面

1. 针对你第一段或以Java语言为主的实习经历,介绍一下项目中的亮点或者难点。

2. 你在消息推送改造中使用Redis ZSet加上线程池实现了定时推送,详细说说这个方案的设计思路。

3. 在分布式系统中,多个实例同时扫描Redis ZSet时,要怎么保证任务不会重复执行?

4. 从Redis中取到的任务执行超时(比如超过一秒),你们有什么措施防止任务堆积?

5. 你们的Redis ZSet中是否有过期任务的概念?过期时间设置为多久?如果任务过期了,会怎么做清理?

6. 系统中如果因为系统异常或业务异常,出现轮询Redis ZSet读不到数据(本身有数据却读不到)的情况,有没有做兜底处理?

7. 你在项目中用Redis做服务端缓存,同时将数据缓存在用户本地,怎么保证Redis缓存和数据库(DB)的数据一致性?

8. 你在项目中实现的自定义动态定时任务线程池,详细介绍一下具体的实现方式。

9. 你自定义线程池时,核心参数是怎么选择和设置的?

10. 你有没有为自定义线程池设计过自定义的拒绝策略?

11. 你在项目中使用CompletableFuture做任务编排时,是怎么控制任务的超时时间的?

12. 你在消息推送场景中使用MySQL实现多级队列,具体是怎么解决低优先级任务饿死问题的?

13. 针对C端用户创建订单的场景,怎么保证请求的幂等性,避免用户连续点击导致重复创建订单的问题?

14. 设计一个库存中心系统,数据库和Redis都会记录库存流水和总数,上游业务方发起库存扣减请求时,缓存和数据库的扣减顺序该怎么设计,数据以哪个为准?

15. 你的项目和实习经历中,使用过哪些监控、告警相关的框架或者实现机制?

全部评论
太可惜了呀,是我就去了
点赞 回复 分享
发布于 02-26 15:59 江西
过了吗bro
点赞 回复 分享
发布于 02-09 12:13 河南

相关推荐

04-19 16:47
四川大学 Java
·凉经 总时长45min,手撕300.最长递增子序列1.你项目出于什么背景做的?是有关于你之前的实习经历吗?2.介绍一下你刚说的三大功能3.你是如何使用RAG的?4.这里使用RAG和你直接把文档丢给大模型然后搜索,这俩方法有什么区别?5.你提到的安全问题,那么使用RAG给大模型也会存在安全泄露问题,这个如何解决?6.大模型的滑动窗口和其他存储上下文的方法你知道哪些?7.GPT现在支持多长的上下文?(......)8.有些时候我们会处理几万甚至几十万的数据,这样的情况下,现在大模型是如何处理这样超长长度的上下文的?9.你在最近有没有遇到一些在技术上或者项目上比较困难的情况?如何解决的?10.错误码403是什么?404、401呢?5xx的是什么?11.除了java其他语言了解过多少呢?你用python写过代码吗?12.对比一下java和python语言的区别?答:1.首先明确了语言是工具,架构才是核心2.java更适合做web场景下的开发:讲了面向对象、一个是解释型语言一个是编译+解释(JVM内存管理、JTI和多线程那里)3.python适合爬虫大模型推理等场景4.python运行时报错,java编译器可以检查出大部分错误.......13.你刚刚说的内存管理和垃圾回收,python不能做吗?14.JVM内存模型分哪些区域?15.native 方法比如C++的代码是如何运行在JVM中的?(不会)16.内存溢出和内存泄漏?以及常见场景17.讲一下如何解决java多线程的并发安全问题?18.如果加锁会影响性能,这样怎么办?如何解决性能问题?公平换非公平?锁粒度?乐观CAS?读写分离? 这里我说了好几种优化的情况,不太明白面试官想问什么===========================================================手撕《300.最长递增子序列》没用动态规划,用别的方法做的...10分钟做出来了面试官看起来对手撕的方法不满意,反问,结束。第二天感谢信。
查看18道真题和解析
点赞 评论 收藏
分享
评论
3
9
分享

创作者周榜

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