基本信息时间:2023.8.28时长:66 minbase:北京 帝都面试岗位:前端  秋招问题自我介绍你有Java经验,为啥选择前端?刚刚说到单点登录,能说一下它的原理吗?前端需要做什么工作?你们这样设计,兼容性不会特别差吗?微应用是如何组织架构的?你知道qiankun是基于什么封装的吗?single SPA框架你了解吗你能说一下单页面应用,能说一下吗?你的理解没有问题,讲得非常通俗易懂,你知道路由切换的原理吗?你提到了代码的复用,你平常做了哪些工作?你这是属于CR后面做优化,然后优化中带了一些复用的点你觉得前端整个系统有哪些复用的方面你说的v-for是vue的?是的你用的vue2还是vue3vue3除了组合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)})));反问环节 经典问技术栈和做什么总结面试官比较友好,可惜了,背诵的手撕代码写太快,导致又给我出一题,呜呜呜
点赞 6
评论 5
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务