#

java

#
6323727次浏览 74678人互动
此刻你想和大家分享什么
热门 最新
03-31 16:42
中南大学 Java
钉钉Java暑期一面
人生第一次面试,从中午开始就紧张的不行,吞了两粒普萘洛尔,面试的时候确实一点没紧张了。问了快四十个问题,面经写出来才发现问题这么多,怎么记得看面经都是只有一二十个,是不是大家发的时候都精简了一些导致的?鼠鼠实力还是不够,死锁居然没想起来,aba问题一句话的事,也没看过,场景题也只能凭自己经验瞎编,没提前准备好在面试官人比较好,没答上来也给提示,说没关系。(感觉面试官也有点紧张,让我放松了不少)没有手撕也比较惊讶,不知道是出于何考虑。希望能有二面吧,给我一点正向反馈吧,压力真的是爆了问题:1. 请花大概五到十分钟,介绍一下你的项目经验,以及整体遇到的问题和如何解决的。2. 本地生活服务平台项目,是你一个人完成的还是团队合作完成的?3. 这个项目(本地生活服务平台)中,你觉得遇到了最重要、最难的问题是什么?你是如何解决的?4. 经过你这个缓存设计之后,你的整个系统 QPS 可以到多少?假如说我现在要扛 1 万 QPS 的话,你觉得整个系统还需要做什么升级改造?5. 你怎么样去识别哪些数据是热点数据的?6. 假如说你的系统一直运行得很好,突然某天出现了宕机,你觉得应该怎么去定位?大概的流程知道吗?7. 你觉得秒杀系统这种商品购买和普通的商品购买,它会有什么不同?整个系统需要考虑什么因素?8. 如果系统现在能扛 1000 QPS,瞬间来了 3000-4000 个客户秒杀,可能会发生什么?应该有什么措施去对抗/缓解这种情况?9. 你滑动窗口限流用的是什么组件?大概是怎么实现的?10. 针对第一个 下单资格判断Lua脚本,脚本主要的逻辑是什么?11. 如果配合 Lua 脚本的话,有没有什么注意事项?12. 假如因为不小心写了个 bug,这个 Lua 脚本执行需要 10 秒或者 20 秒,你觉得这个时候系统可能会发生什么情况?13. 假设 Redis 的 Lua 脚本正在执行一个扣减操作还没执行完,这时候其他客户端的请求打过来了,它会阻塞吗?还是不阻塞?14. 你们的项目里面用到 Caffeine,为什么用它?主要用它做什么?架构设计上有什么考虑?15. Caffeine 的淘汰策略你大概知道吗?16. 系统运行中如果出现慢 SQL,一般是什么原因?以及如何定位慢 SQL 问题?17. 假如系统用户量非常庞大(两三千万),要给数据库去加索引的话,这个索引加起来可能耗时两三个小时,在执行索引时需要注意什么?18. 你怎么样去测你的 QPS?你评估出来的 1000 QPS 主要是关注哪些指标?19. 本地生活服务平台是在公司里面的经历,还是你们自己的一个学习项目?20. 对于 Kafka 了解吗?它是怎么样保证消息顺序的?21. 即便做了缓存缓解压力,MySQL 还是可能有瓶颈,你觉得这个时候需要做哪些对 MySQL 的优化?22. 你说数据库做主从分离,读从库时,怎么样去保持主库和备库的数据一致性?23. 你们整个系统有没有用到什么监控?你觉得应该做哪些监控去保证稳定,避免发生用户投诉而你没感知的情况?24. 假如系统突然之间 CPU 报警到 90%,或者内存马上要不足了,你应该怎么样从哪些方面去排查?25. 假如系统做了集群,其中有台机器持续报警,你没时间定位,最快的止血方式是什么?26. 如果 Redis 数据更新了,但 Caffeine 的数据还是旧的(双缓存不一致),什么情况下会出这种 bug?发生了要怎么办?27. 订单系统里的超时关闭(延时任务),你觉得应该怎么实现?28. 怎么防范爬虫?29. 滑动窗口限流和固定窗口限流有什么区别?为什么用滑动窗口?30. 支付回调和关单任务可能同时操作同一个订单,应该怎么样去设计避免冲突?31. 你大概知道什么是 CAS 吗?这里面可能会有什么问题?除了空耗 CPU 之外,还有什么其他问题?了解过 ABA 问题吗?32. 谈到锁的升级,可以大概说一下 Java(Synchronized)锁的升级策略吗?33. 如何避免死锁?如果系统中确实出现了死锁,要怎么样去排查?34. Java 的 equals 和 == 有什么区别?一般重写 equals 的话,为什么还需要重写 hashCode?35. 对 Vibe Coding 了解吗?平时使用什么框架或工具?在使用这些 AI 工具生成代码的过程中,你遇到过什么问题?36. 假如用户提出恶意问题(提示词攻击),比如要求删除知识库文档,你如何避免这种恶意操作?37. 自动问答知识库系统(RAG)中,为什么要用 BM25 和向量混合索引?基于什么考虑?38. 你怎么样评价或者说评估你的 RAG 系统的好坏?应该做哪些测试?提交给决策者做可行性分析可以给出哪些数据?39. 如果用户问了 A 问题,预期 A 答案,但始终得到错误答案,你怎么样去定位排查这个问题反问1. 做的业务主要是什么?技术栈是什么样的?2. 实习生培养机制大概是怎样的?3. 真实的业务开发中,是否有用到 AI 技术?是怎么使用的?
点赞 评论 收藏
分享
04-01 20:15
中南大学 Java
快手Java暑期一面 30分钟最速传说
题目都答出来了,但是表述弯弯绕绕,还得练表达啊。代码题创建线程不会创建,直接露馅。其他似乎应该也答出来了。只有三十分钟,应该是寄了项目相关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 的使用
捡垃圾的咸鱼:代码题目一样啊,是不是一个口头禅是嗯哼的年轻面试官
点赞 评论 收藏
分享
什么逆天公司
找工作勤劳小蜜蜂:哥们建议你去投一下多益网络的岗位,马上就对以上的表格感觉良好,多益变态多了。
点赞 评论 收藏
分享
头像
2024-09-10 11:19
已编辑
山西农业大学 Java
Java已读不回?
如何准备简历?1、简历的基础结构我是谁【基础信息】--我会什么【技术栈】--我做了什么【项目】--个人评价2、基础信息姓名--年龄--学校--java工作年限--手机号--邮箱---希望工作地点--岗位【java开发/java工程师】3、技术栈基础--数据库--Nosql--中间件--框架--运维工具/插件--开发工具/插件4、项目项目背景--项目需求--整体流程--技术栈--主要功能介绍5、个人评价需要体现出有解决问题的思路和能力如何准备Java面试?1、Java面试本身是二人转,简历就是话本,不要让你的面试变成独奏2、八股文是围绕Java核心技能的基础知识,并不是去死记硬背,是因为你会了技术,然后通过八股文进行书面回答3、通过项目引导面试官提问,通过问题的答案体现出自身的沉淀和积累4、面试一定要提前1-2周的时间去准备,不要抱着每次面试都会过的想法5、将每一次面试都当做练手,大胆的去表达和提问6、回答问题一定要有条理性,不要东拉西扯如何准备Java项目?1、技术本身是没有价值的,因为有了业务,技术才有了价值2、项目的功能不可能凭空产生,是因为有背景和需求,才有了功能的设计3、项目中的资源不可能凭空产生,也不可能凭空消失,资源一定是经过完整的业务流程被消耗了,所以项目中的资源需要做到数据闭环4、不要为了加上某些看起来牛逼的技术/方案,就硬塞到项目中,这样看上去项目功能的实现方案只能体现技术的实现过程,而不能体现业务是否需要这个方案,这个方案是否是最优解;而技术的实现方案,只需要找点资料就可以完成5、在面试中,我们需要通过项目让面试官知道我们的积累和沉淀,以及解决问题的思路一个好的Java项目应该是什么样子?有人说应该有很多技术栈也有人说应该有分布式锁,分布式事务,各种中间件穿插还有人在项目中大数据量,分库分表;QPS,TPS整一大堆指标; 然后解决内存溢出问题,各种优化,各种线上问题解决霍,这是做项目,还是写bug呀,一大堆bug发布,然后到线上一个一个改?-------不能说没脑子吧,但确实不多总结:技术本身是没有价值的,是因为有了业务,技术才有了价值; 业务达到的效果并不是体现技术的价值,而是因为业务需要,刚好有技术相对贴合, 根据场景合理使用解决方案  Java专栏介绍-牛客网 https://www.nowcoder.com/issue/tutorial?zhuanlanId=mPZY5M&uuid=bff9a310ece749ea8480f0bf15636882
拼饭:查看图片
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客网在线编程
牛客网题解
牛客企业服务