美团Java暑期实习一面面经

# 美团一面(核心本地商业-基础研发平台)

1. 自我介绍
2. 研究生主要在做什么

## 项目

### 短链接

1. 介绍一下项目系统,做这个系统的背景和需求
2. 为什么用base62去生成短链接
3. 为什么想用到布隆过滤器
4. 项目做过性能调优吗
5. 消息队列削峰
6. 为什么要保证消息只消费一次,重复消费会怎么样
7. 监控统计的标识

### 黑马点评

1. 为什么做这个项目
2. 双写策略
3. 怎么保证数据一致性,缓存数据库其中一个宕机了怎么办
4. 先改数据库然后删掉缓存  怎么防止缓存穿透
5. 怎么保证操作的原子性

## 八股

1. OSI七层结构
2. 4层协议
3. HTTPS的原理,加密的详细过程
4. TCP UDP
5. 进程之间的通信方式  
6. 线程之间的通信方式
7. 进程的状态
8. 内存的分页分段
9. JVM的内存模型
10. JVM的垃圾回收
11. Java数据结构底层原理
12. concurrenthashmap怎么保证并发安全
13. 数据结构线程安全
14. MySql隔离级别
15. 索引数据结构
16. synchronize是一种什么类型的锁 重入、打断
17. 什么注解用的比较多
18. 熟悉哪些第三方组件 netty熟不熟悉
19. 为什么会有微服务,微服务有什么好处

### 大模型

1. 怎么理解大模型
2. 大模型擅长做什么,不擅长做什么
3. 大模型产生幻觉的原因,如何解决
4. 什么是rag
5. 什么是幻觉
6. 大模型的联网搜索

## 算法

1. 二分
2. 最大股票增长#牛客AI配图神器#
全部评论
干嘛啊java这么苦怎么都来卷
2 回复 分享
发布于 03-28 15:07 河南
tql
点赞 回复 分享
发布于 04-02 20:35 安徽
佬,请问约二面了吗?
点赞 回复 分享
发布于 04-02 10:58 浙江
base上海吗佬
点赞 回复 分享
发布于 04-02 00:31 上海
我也被问了rag,请问你简历里有算法经验吗
点赞 回复 分享
发布于 04-01 10:36 江苏
哥 为啥会问大模型呢
点赞 回复 分享
发布于 04-01 09:45 重庆
东京大学Java是吧
点赞 回复 分享
发布于 03-29 16:07 广东
佬约二面了吗
点赞 回复 分享
发布于 03-29 13:11 湖北
进程之间的通信方式会,线程之间通信方式就是通过锁码?感觉没其他了
点赞 回复 分享
发布于 03-29 00:36 江苏

相关推荐

05-18 15:31
已编辑
东华大学 前端工程师
一面(2025/05/06)1. 自我介绍2. 社交、新闻数据聚合平台项目相关    1. 导师项目还是个人项目    2. 架构设计,比如技术选型、前后端怎么设计、怎么考虑并发、预期 TPS 等    3. 爬虫的数据怎么与后端联动的,因为后端用的 Node.js(面试官觉得 Python 与 Node.js 无法直接交互,但我们后端的作用只是负责给前端提供数据,爬虫的数据会直接写入数据库然后被分析)3. OJ 项目相关    1. 权限设计    2. token 怎么存的,为什么这么存,存在本地安全吗,如果重新设计该怎么做确保安全(回答的存在服务端,然后客户端使用 id 去拿到服务端的 token,id 存在 cookie 里,似乎有其他更好的办法)    3. 那怎么确保这个 id 安全,加有效期限    4. 还有吗,提示:比如我通过 JS 获取到(设置 HttpOnly,禁止脚本获取 cookie)    5. Vue 里面有个路由守卫,可以控制不同权限的用户访问不同的路由。那 js 可以怎么实现呢,如果用户直接浏览器跳转呢( 回答的前端手动实现路由守卫,控制用户能看到哪些页面,后端权限校验,不通过返回 403)4. 代码输出,说思路(面试官一直在提示,但我没答上来,this 指向没学得好)```jsfunction Counter() {  this.count = 0;  setInterval(function() {    this.count++;    console.log(this.count);  }, 1000);}const a = new Counter()```5. 代码输出,说思路```jsconsole.log(1)setTimeout(function() {   console.log(2)}, 0)const p = new Promise((resolve, reject) => {   console.log(3)   resolve(1000) // 标记为成功   console.log(4)});p.then(data => {  console.log(data)})console.log(5)```6. flex,怎么垂直居中,flex-grow 是什么7. 用 css 实现一个三角形8. 实现一个 Vue 的 keep alive,面试官一直在提示我(ಥ_ಥ)```jsclass KeepAlive {  constructor(maxNum = 5) {  this.cache = new Map();  this.maxNum = maxNum;}  addVNode(key, vNode) {    if (this.cache.has(key)) {      this.cache.delete(key);    } else if (this.cache.size >= this.maxNum) {      const oldKey = this.cache.keys().next().value;      this.cache.delete(oldKey);    }    this.cache.set(key, vNode);  }  getVNode(ley) {    return this.cache.get(key);  }}```9. module 、chunk 和 bundle 的区别10. 实现方法把数组的非零元素放在前面,零元素放在后面,O(1) 空间复杂度```jsfunction moveZero2End(arr) {  let p = 0;  for (let i = 0; i < arr.length; ++i) {    if (arr[i] !== 0) {      arr[p++] = arr[i];    }  }  while (p < arr.length) {    arr[p++] = 0;  }  return arr;}```11. 有没有在用 AI 工具,怎么用的,被夸了,说我接触的很深12. 反问:对我面试的不满之处和建议(被夸了哈哈,说我思路清晰,回答或者做题之前会说思路,建议就是多补齐前端知识的宽度和广度)面试官很会引导你,还会解释自己的问题,面试体验非常的棒。秒约二面~二面(2025/05/08)1. 自我介绍2. 讲一下 HTTP 不同版本的区别(这里一开始说的有些乱了,面试官让我重新总结一遍)3. Vue 2/3 的区别4. Vue 实现倒计时组件5. m 元钱随机分给 n 个人,最大可分到 m/2,最小可分到 0.16. OJ 项目    1. 几个人开发,开发周期    2. 为什么要重构    3. 说一个有挑战的事或难点(这里讲的智能训练流程图的组件封装,但面试官似乎不太满意?让我再说说,我就说了信息聚合可视化项目的难点,说了两个:插件开发 / 爬虫中高价值用户获取整体流程与迭代思路)7. 用过 AI 吗,应用方面的呢8. 对 AI 的基础知识或原理了解多少9. DeepSeek 听说过吗,聊一聊实际使用情况10. 用过 AI 编辑器吗,如 Cursor、Windsurf,使用体验怎么样11.  反问    1. 面试反馈:整体还可以,但是需要打好基础并扩展技术栈如 React,沟通的时候要先理清楚逻辑,AI 浪潮下要对 AI 相关的内容保持关注    2. 多久出结果:一周内    3. 工作时间:实习生宽松一些,早十晚八(意思是正式员工会更晚吗)自我介绍完面试官沉默了一段时间,回答完基础知识又沉默了一段时间,我以为我要寄了!然后算法相关,真的很幸运,面试前十分钟看了牛客上的面经,结果真的问到了!
点赞 评论 收藏
分享
05-13 12:52
门头沟学院 Java
具体业务是酒店。先贴timeline:    4-14 投递    4-26 笔试(美团好像是海笔?我推了一周才考)    4-28 约一面(我没做ai面试也约了)    5-6   一面,5-9约二面    5-12 二面    5-13 offer一面(60min)    1. 自我介绍    2. 询问项目,我有一个实验室项目所以基本都问了实验室项目,大概问到的点是项目的难点和亮点,稍微了解了一下项目的场景(约20min)    3. 八股题目(30min)        反射的原理,反射的应用        HashMap的实现原理,红黑树和链表之间的转换阈值        ThreadLocal的实现原理,父子线程之间怎么传递数据,子线程改了InheritableThreadLocal父线程会察觉到吗        线程池的主要参数,常见线程池主要参数        java8使用的垃圾处理器,CMS和G1的阶段        new一个对象的流程        SPRING框架如何管理对象        SPRING用到了哪些设计模式,@Filter注解用了哪一种        MySQL慢查询优化,索引的数据结构,为什么选用B+树,B+树的层数计算,B+树的扩容机制        MVCC的大致原理和MySQL事务隔离级别        Redis缓存穿透击穿和雪崩的定义和解决方案    4. 手撕:合并区间,力扣原题(5min)    5. 反问(5min)        部门业务:酒店        面试表现:不让说        学习建议:再看看基础的,项目多实践一下        面试流程:3天之内出结果    6. 面试表现:八股有点忘了,第一次面也有点紧张,说话磕磕巴巴的(还被面试官问了是不是第一次面),表现不是很好二面    1. 专业非科班,而且看着有点远啊?    2. 未来的职业规划(后续在反问环节解释说这个问题是想问我会不会继续干开发)    3. 项目询问        实验室项目的场景和效果        感觉和互联网的场景不太一样?聊聊你是怎么解决开发过程中遇到的困难的        为什么轮子要选这个?        聊聊分布式锁+状态机可能出现的安全隐患和解决方案(没答上来,面试官说应该按照具体情况加验证保证安全)    4. 八股        操作系统看过吗,页表的概念,多级页表的作用,能否节约内存(这个理解错了,解释后面试官觉得我说的也不错)    5.场景题        怎么在一个1T的文件中比较高效地定位一个1M的块    6. 闲聊        放不放实习?        为什么用java?java怎么学的?        第一次用框架搭项目遇到了啥问题,怎么解决的?    7. 反问        部门业务:比一面讲的细了不少,巴拉巴拉了一堆,当时有点大脑宕机了,没听进去一点,光点头嗯嗯啊啊了        学习建议:代码差不多了,多从宏观上思考        面试流程:3-5天,问确切时间说自己也不知道    8. 面试表现:聊得还挺好的,氛围不错,大部分都说上来了,就是场景题大脑宕机了没说上来,后续在提醒下才说了个差不多。    美团的面试体验是独一档的好,面试官感觉都很有精神,态度也很好,遇到不会的题目和紧张的时候都会鼓励、给提示和给台阶下,流程推进也挺快的(不是因为给我发offer了我才吹的)。    感谢美团,化身团孝子(doge)。祝大家暑期实习顺利!
点赞 评论 收藏
分享
评论
14
84
分享

创作者周榜

更多
牛客网
牛客企业服务