美团 基础研发平台 后端开发 面经

基础研发平台 后端开发

一面

时间:

  • 08月12日 10:00 牛客视频面试 50min

问题:

  1. 算法:删除链表倒数第n节点

  2. 介绍实习经历(k8s相关,面试官好像不是很懂,没有刁难)

  3. 进程、线程、协程区别,讲讲go的协程线程间关系、调度相关

  4. os中的锁原理,go中的锁原理,go中如何保证goroutine间并发安全

  5. tcp如何保证可靠传输

  6. 哈希表原理,go里的map原理,是否并发安全,如何保证并发安全使用map

  7. (项目,mit6.824的lab2)介绍下raft算法,如何保证不出现split brain

反问:

  • 部门介绍? 主要做存储,kv存储对象存储等,语言是c++和go,工作地点北京and上海

  • 给一些建议? 继续把lab写完,多了解工业级的raft算法应用。

二面

时间:

  • 8月18日 20:00 视频面 45min

问题:

  1. 算法:一个数组,先递增后递减(都是非严格),求最大值。面试官让我先写严格的情况,写的有点久了,非严格的情况没想出来 哎。

问了几个开放性的问题,基本都答得很烂

  1. cpu密集型的程序,应该开几个线程?在这基础上,如果出现大量L3 cache miss,可能是什么原因?如果怀疑出现死锁,如何排查确认?

int add_and_print()
{
    static int a;
    a+=1;
    printf("%d", a);
}

同一线程多次调用该函数,输出什么?多个线程并发调用,会怎样?怎么改成并发安全?a的值什么时候被初始化为零值。然而我和面试官说了我不懂c++。。

  1. 如果业务需要上传或下载一个100g的大文件,如何设计?

  2. 实习遇到的最大困难,如何克服?讲讲prometheus(实习相关)。

没有反问环节,不过面试官开局就说了没有反问。总体感觉开放性问题都答得不好,估计凉凉

8月28日 后续:挂了,已收感谢信

#面经##校招##美团##Java工程师#
全部评论
有问面试官总共有几轮面试吗?
2 回复 分享
发布于 2021-08-19 09:40
楼主三面怎么样了
1 回复 分享
发布于 2021-08-26 00:38
楼主怎么样了,我也二面完没消息😂
点赞 回复 分享
发布于 2021-08-31 11:00
base哪里啊 楼主
点赞 回复 分享
发布于 2021-08-26 20:35
祝楼主好运,也在这里打个广告,虾皮校园大使内推码:DSWj15Rz  可私聊我进群,我会分享笔经面经和之前整理的其他人的笔面经
点赞 回复 分享
发布于 2021-08-19 21:45
算法题:https://leetcode-cn.com/problems/peak-index-in-a-mountain-array/
点赞 回复 分享
发布于 2021-08-19 18:24
楼主一面后多久给的二面预约啊
点赞 回复 分享
发布于 2021-08-19 15:22
求最大值那道题,o(n)可以吗,直接遍历一遍,维护一个最大值🤣
点赞 回复 分享
发布于 2021-08-19 14:46
你的实习经历,还有你实习的bg,我以为是我发帖的。。。
点赞 回复 分享
发布于 2021-08-19 14:41
第4个设计题怎么回答?
点赞 回复 分享
发布于 2021-08-19 11:19
楼主一面完有收到过面评问卷嘛?
点赞 回复 分享
发布于 2021-08-19 09:52

相关推荐

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)。祝大家暑期实习顺利!
点赞 评论 收藏
分享
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. 工作时间:实习生宽松一些,早十晚八(意思是正式员工会更晚吗)自我介绍完面试官沉默了一段时间,回答完基础知识又沉默了一段时间,我以为我要寄了!然后算法相关,真的很幸运,面试前十分钟看了牛客上的面经,结果真的问到了!
点赞 评论 收藏
分享
评论
4
62
分享

创作者周榜

更多
牛客网
牛客企业服务