钉钉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 技术?是怎么使用的?
#发面经攒人品#  #java#
全部评论
佬投的是啥岗位啊
点赞 回复 分享
发布于 04-07 15:43 辽宁
请问会问笔试内容吗
点赞 回复 分享
发布于 04-06 19:06 陕西
约二面了吗,我也马上面钉钉
点赞 回复 分享
发布于 04-04 14:51 辽宁
感谢佬分享,祝二面
点赞 回复 分享
发布于 04-03 12:18 陕西
回答了多少
点赞 回复 分享
发布于 04-03 11:35 山东
死锁怎么答的
点赞 回复 分享
发布于 04-03 11:19 北京
佬大概面了多久啊,问了这么多问题
点赞 回复 分享
发布于 04-02 14:30 河北
问这么多,祝楼主顺利通过
点赞 回复 分享
发布于 04-02 11:39 四川
最后通过了吗
点赞 回复 分享
发布于 04-01 23:18 北京
厉害,感觉我面的话会被压力爆
点赞 回复 分享
发布于 04-01 09:58 江苏
面经太全了
点赞 回复 分享
发布于 03-31 21:22 湖南
佬请问本地生活服务平台这个项目是点评吗
点赞 回复 分享
发布于 03-31 20:40 辽宁

相关推荐

04-10 13:13
门头沟学院 Java
1.自我介绍2.深度参与项目,产出3.OCR为撒做文件识别;部署的哪个4.传统的读取pdf docx api sdk有用过吗5.文本内容为啥还要用ocr6.pdf 图片内容;图片,图表的理解,怎么做;饼状图,折线图怎么提取语义信息7.ocr背后的原理,给一个饼图,然后怎么输出内容8.是否真的了解怎么识别 占比 类比这样的语义识别9.有看过ocr调用,语义保留这样的指标的评估10.怎么做评估;完全识别的指标又是怎么评估;九十分一百分怎么打分完全识别11.图表识别怎么评估打分,怎么评判,有哪些依据12.为啥选768维度13.讲下embedding模型,怎么做embedding14.embedding模型底层;什么是token;为撒100wtoken最大token数15.大语言模型参数了解吗;在显存消耗的哪个层面消耗的16transfomer词表是怎么构建的吗17.ES怎么构建的;这里面的关键词怎么构建的;BM25基于什么原理18.一部分milvus语义召回,一部分ES关键词召回;怎么返回用户的19.精排维度是多少,原理是什么20.rerank精排基于什么;为撒精排效果更好21.你觉得这些策略涉及有哪些问题;讲了四个问题权重;向量维度;双向量检索的策略;切分策略(切分维度)22.针对上述的你提的问题,说出自己解法23.最核心的一个指标的什么;最核心的指标;归纳出最核心的一个综合指标24.function calling mcp skill,解释概念;用到什么场景;分别解决了什么问题答得不好25.prompt engining ,context  engining,hareness enginering 解释什么问题答得不好26.抽象类和接口却别27.jvm内存回收;什么情况下适合标记清除,什么标记整理28存活时间怎么定义这里列下六个ai概念和解释24. Function Calling、MCP、Skill:概念、场景与解决的问题这三个概念其实代表了 AI 智能体(Agent)与工具交互的三个不同层级:底层协议、通信标准、业务封装。1. Function Calling (函数调用)概念:这是大模型的一种底层能力。它让模型不仅能输出文本,还能输出结构化的数据(如 JSON),告诉程序“我要调用哪个函数,参数是什么”。解决的问题:解决了“模型说不清楚,程序读不懂”的问题。它打破了模型只能聊天的限制,让模型有了“手”,能触发外部动作。场景:简单的工具调用:查天气、计算器、查询数据库。提取结构化信息:把用户的一段话转换成 JSON 对象。2. MCP (Model Context Protocol,模型上下文协议)概念:由 Anthropic 提出的标准化通信协议。你可以把它理解为 AI 界的 USB-C 接口。它定义了一套标准,让 AI 应用(Client)能统一地连接到各种数据源和工具(Server)。解决的问题:解决了“连接碎片化”和“上下文孤岛”的问题。以前每接一个工具都要写一套适配代码,现在只要工具支持 MCP 协议,AI 就能直接连,不用重复造轮子。场景:企业级应用集成:统一连接本地文件、Google Drive、Slack、GitHub 等。跨平台工具共享:开发者开发一个 MCP Server,所有支持 MCP 的 AI 客户端都能用。3. Skill (技能)概念:这是面向业务的能力封装。它通常是一个包含指令、脚本、资源和提示词的“文件夹”或集合。Skill 往往基于 Function Calling 构建,但更复杂。解决的问题:解决了“工具零散,无法完成复杂业务”的问题。它把一个个原子化的函数(如“查航班”、“查酒店”)组合成一个有意义的业务能力(如“订机酒套餐”)。场景:复杂任务处理:比如“帮我策划一次旅行”,Skill 会自动规划步骤,依次调用查天气、订机票、订酒店的函数。垂直领域专家:比如“法律助手 Skill”,里面封装了查法条、写文书的特定流程和提示词。📌 总结对比表表格概念本质定位核心解决问题形象比喻Function Calling底层交互协议模型输出结构化指令神经信号(告诉手要动)MCP通信与调度层统一连接标准,避免重复开发USB 接口(通用插头)Skill业务能力层复杂任务编排与封装操作手册(怎么做菜)🧠 25. Prompt Engineering、Context Engineering、Harness Engineering这三个概念代表了 AI 应用开发从“手工作坊”到“系统工程”的进化过程。1. Prompt Engineering (提示词工程)解释:这是最早期的阶段。核心是“写咒语”。通过精心设计自然语言指令(如“你是一个专家,请一步步思考...”),引导模型输出更好的结果。局限:它是一次性的、静态的。如果任务太复杂,光靠一段话很难控制模型。2. Context Engineering (上下文工程)解释:这是目前的主流趋势。核心是“构建信息流水线”。它不再只关注那一句提示词,而是关注如何把最有效的信息(知识、历史、工具描述)在恰当的时机喂给模型。它包括 RAG(检索增强)、记忆管理、摘要压缩等技术。解决问题:解决了模型“记性差”、“知识过时”和“幻觉”问题。它把模型从一个“聊天机器人”变成了一个“拥有外部知识库的专家”。3. Harness Engineering (编排工程/智能体工程)注:Harness 在这里通常指“智具编排”或“系统 harness”,类似于 LangChain 或 AutoGen 这类框架所做的工作。解释:这是最高阶的阶段。核心是“系统级管控”。它不仅仅是给信息,而是设计一个工作流。比如:先让模型 A 写代码,再让模型 B 审查代码,如果报错再让模型 A 修改。它涉及多智能体协作、循环反馈、工具调用的逻辑编排。解决问题:解决了复杂任务的自动化执行和可靠性问题。📌 一句话总结进化史Prompt Engineering:教模型“怎么说话”。Context Engineering:给模型“参考资料和记忆”。Harness Engineering:给模型“ teammates(队友)和工作流程”。
查看28道真题和解析
点赞 评论 收藏
分享
评论
9
76
分享

创作者周榜

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