美团前端一面 面经
基本信息
时间:2023.8.28
时长:66 min
base:北京 帝都
面试岗位:前端 秋招
问题
-
自我介绍
-
你有Java经验,为啥选择前端?
-
刚刚说到单点登录,能说一下它的原理吗?
-
前端需要做什么工作?
-
你们这样设计,兼容性不会特别差吗?
-
微应用是如何组织架构的?
-
你知道qiankun是基于什么封装的吗?
-
single SPA框架你了解吗
-
你能说一下单页面应用,能说一下吗?
-
你的理解没有问题,讲得非常通俗易懂,你知道路由切换的原理吗?
-
你提到了代码的复用,你平常做了哪些工作?
-
你这是属于CR后面做优化,然后优化中带了一些复用的点
-
你觉得前端整个系统有哪些复用的方面
-
你说的v-for是vue的?是的
-
你用的vue2还是vue3
-
vue3除了组合API,还有什么变化吗?
-
你刚刚说到proxy,能具体展开吗?
-
你知道$set吗?
-
computed和watch区别
-
能大概介绍一下vue的数据驱动的底层吗?
-
你刚刚说到watcher,是啥?
-
问几个基础性性问题,promise了解吗? new 一个 promise 先resolve,然后reject,会怎么样?
-
有一个then,return了一个值,下一个then能拿到这个值吗?
-
你的项目经历分享了xxxx,不便说
-
原型链你知道吧?
-
原型链的尽头是啥?
-
如果写一个类的继承你应该知道吧?
-
你觉得什么时候再JavaScript会用到类?
-
面向对象的好处是啥?
-
问一个比较开放的问题,你觉得前端是面向对象的吗?
-
闭包你知道吧?
-
你现在是什么时候毕业
-
你在在校期间有没有参加过一些实际的项目开发?
-
你有没有深入去做过一个事情?
-
平时怎么去学习前端的?
-
你觉得你你目前前端是个水平的人?
-
如果你和你的mentor观点上发生了冲突,他认为他的好,你认为你的好,怎么办呢?
-
简单写个题吧,手撕代码是两数之和,但是有一点小改动,就是下标从1开始,而不是0,花了五分钟把背诵的全文默写了一遍,看我写完了,又给我出了一提,让我递归构建树结构,给一个数组,让树结构生成出来,由于当时剩余时间不多,没写出来,然后我下来自己写了一遍,代码如下:
const fun = function (arr) { //找到 head, const head = arr.filter(item => item.pid == null)[0] dfs(head) return head function dfs(root) { const list = arr.filter(item => item.pid === root.id) if (list.length === 0) return; root.childrem.push(...list) for (let i = 0; i < list.length; i++) { dfs(list[i]) } } } class Person { constructor(name, age, id, pid) { this.name = name this.age = age this.id = id this.pid = pid this.childrem = [] } } const arr = [ {name: '张三', age: 18, pid: null, id: 1}, {name: '李四', age: 18, pid: 1, id: 2}, {name: '王五', age: 18, pid: 2, id: 3}, {name: '赵六', age: 18, pid: 3, id: 4}, {name: '孙七', age: 18, pid: 2, id: 5}, {name: '钱八', age: 18, pid: 1, id: 6} ] console.log(fun(arr.map(item => { return new Person(item.name, item.age, item.id, item.pid) })));
-
反问环节 经典问技术栈和做什么
总结
面试官比较友好,可惜了,背诵的手撕代码写太快,导致又给我出一题,呜呜呜
#秋招##面经##前端##美团#