【前端面经】美团-核心本地商业-业务研发平台(暑期,oc)

一面(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 指向没学得好)
```js
function Counter() {
  this.count = 0;
  setInterval(function() {
    this.count++;
    console.log(this.count);
  }, 1000);
}
const a = new Counter()
```
5. 代码输出,说思路
```js
console.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,面试官一直在提示我(ಥ_ಥ)
```js
class 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) 空间复杂度
```js
function 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.1
6. OJ 项目
    1. 几个人开发,开发周期
    2. 为什么要重构
    3. 说一个有挑战的事或难点(这里讲的智能训练流程图的组件封装,但面试官似乎不太满意?让我再说说,我就说了信息聚合可视化项目的难点,说了两个:插件开发 / 爬虫中高价值用户获取整体流程与迭代思路)
7. 用过 AI 吗,应用方面的呢
8. 对 AI 的基础知识或原理了解多少
9. DeepSeek 听说过吗,聊一聊实际使用情况
10. 用过 AI 编辑器吗,如 Cursor、Windsurf,使用体验怎么样
11.  反问
    1. 面试反馈:整体还可以,但是需要打好基础并扩展技术栈如 React,沟通的时候要先理清楚逻辑,AI 浪潮下要对 AI 相关的内容保持关注
    2. 多久出结果:一周内
    3. 工作时间:实习生宽松一些,早十晚八(意思是正式员工会更晚吗)

自我介绍完面试官沉默了一段时间,回答完基础知识又沉默了一段时间,我以为我要寄了!然后算法相关,真的很幸运,面试前十分钟看了牛客上的面经,结果真的问到了!
全部评论
多久给的offer呀,我周四下午面的,周五没回应,官网状态面试中
点赞 回复 分享
发布于 2025-05-24 17:14 山西
正式工可能就周五下班早一点,反正我们部门是周宇晚上7点多就差不多都走了,除了个别有活的,实习生一般就混个餐补8点多就走了
点赞 回复 分享
发布于 2025-05-19 16:06 北京

相关推荐

在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
04-10 11:02
已编辑
北方民族大学 全栈开发
“无名小卒,还是名扬天下?”我知道很多人都不觉得我能走到今天这一步,当然,也包括我自己。在我的人生里,有两部作品刻下了最深的烙印:《斗破苍穹》与《龙族》。它们总被人拿来对照:一边是萧炎的桀骜轻狂,一边是路明非的怯懦衰颓。有人说,天蚕土豆没见过魂天帝,但江南见过真凯撒。我时常觉得,自己就是那个衰小孩路明非。可路明非可以开挂,我不可以;我也无数次幻想过,能拥有萧炎那般年少轻狂的人生,可我没有他与生俱来的逆天天赋。我只是个平庸的普通人,一个看过《斗破苍穹》却开不了挂的路明非,只能一步一步往上爬。从我下定决心找实习的那一刻起,我就给自己定下了目标:“我一定要为字节跳动卖命.jpg”。萧炎有他的三年之约,我有我的两年半之约(其实是一年半)。2024.11.20,科大讯飞的第一封实习offer落进邮箱,我迈出了这场奔赴的第一步。2025.8.18,放弃百度转正的安稳机会,转身走进前路未卜的不确定里。我很感谢我在百度的mentor,是她从茫茫人海选中了我,给了我大厂实习的机会。即便有段时间我状态差、产出不理想,她依旧愿意认可我、希望我留下转正。2025.11.14,我选择走进字节跳动,以实习生的身份重新出发。2026.3.25&nbsp;-&nbsp;3.31,一周速通上海飞书,幸遇赏识我的伯乐,斩获Special&nbsp;Offer。被告知面试通过的那一刻,我的内心无比平静,就像这个offer本就该属于我。不是侥幸,是应得的。这一路,有人看轻过我的出身,不相信我能走到这里;也有人在我看不见前路的时候,替我举过灯。没有他们的鼓励与支撑,就没有今天站在这里的我。我看到了自强不息的激荡,那是一个双非的伟大乐章!我是雨夜迈巴赫,我要开启属于我的新篇章了。
在看牛客的本杰明很勇...:真心祝贺l总 我永远的偶像 我滴神
春招至今,你收到几个面试...
点赞 评论 收藏
分享
评论
6
27
分享

创作者周榜

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