有赞前端一面凉经

之前摆烂了许久,现在写一篇面经,继续摆烂
是我太菜了,不会的那么多,面试还专挑我不会的问,整个过程特尴尬,当场就想把自己埋了

手撸代码

1. 返回按层序遍历得到的节点值(即逐层地,从左到右访问所有节点)

function levelOrder(root) {

 

    // 参考答案

    let res = [];

    const demo = (arr, depth) => {

 

        res[depth] = res[depth] || [];

        for (let item of arr) {

            res[depth].push(item['data']);

            if (item['children']) {

                demo(item['children'], depth + 1);

            }

        }

    }

    demo([root], 0)

 

    return res;

}

 

const root = {

    data: 1,

    children: [

        { data: 2 },

        { data: 3 },

        {

            data: 4,

            children: [{ data: 5 }, { data: 6 }, { data: 7 }]

        }

    ]

}

 

console.log(levelOrder(root));

/**

 * [

 *  [1],

 *  [2,3,4],

 *  [5,6,7]

 * ]

 */

 

2. 对象的键从蛇形命名改为驼峰命名

function mapKeyToCamelCase(data) {

 

    // 参考答案

    const rename = (name) => {

        return name.split('_').reduce((pre, current) => {

            return pre + current[0].toUpperCase() + current.substring(1)

        });

    }

 

    let res = Array.isArray(data) ? [] : {};

 

    for (let i in data) {

        if (typeof data[i] === 'object' && data[i] !== null) {

            res[rename(i)] = mapKeyToCamelCase(data[i])

        } else {

            res[rename(i)] = data[i];

        }

    }

 

    return res;

}

 

const testData = {

    a_bbb: 123,

    a_g: [1, 2, 3, 4],

    a_d: {

        s: 2,

        s_d: 3,

    },

    a_f: [

        1,

        2,

        3,

        {

            a_g: 5

        }

    ],

    a_d_s: 1

}

 

console.log(mapKeyToCamelCase(testData))

  

3.

如何遍历对象的值

for of 能遍历对象吗

for in for of 的区别

for in 的缺点

4. 自我介绍

前端接触了多久

怎么接触的前端

学习前端的方法(什么论坛、什么博客)

碰到问题怎么解决(谷歌搜索、百度搜索)

 

⚠️⚠️⚠️前方高能⚠️⚠️⚠️

⚠️⚠️⚠️前方高能⚠️⚠️⚠️

⚠️⚠️⚠️前方高能⚠️⚠️⚠️

 

谷歌是被墙掉的,你是怎么用谷歌的

怎么翻q

这个翻q服务器是服务商提供的还是自己搭建的

有用自己的服务器搭建翻q

怎么搭的

 

5.介绍linux权限位

权限744是什么意思

https://blog.csdn.net/u013197629/article/details/73608613

 

6.讲项目,你在项目里做的什么工作(功能是怎么实现的)

7.接触过react吗,vue用的什么版本,vue3.0有去了解吗

proxy的缺点优点

vue2中如何复用代码

vue3 composition api推出的目的是什么(有什么好处)

ref reactive

https://zhuanlan.zhihu.com/p/267967246

vue 编译过程

https://segmentfault.com/a/1190000020013226

虚拟DOM和真实DOM比较

 

还有什么方法可以获取对象的key

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

for in Object.keys()的区别

 

太菜了没有反问环节

#秋招##前端工程师##面经##前端##校招#
全部评论
rnm,还讲fq,你说你不会,让他现场教你,直接一波举报他就可以进去了。
37 回复
分享
发布于 2021-10-17 13:55
无语了,翻q还要问
3 回复
分享
发布于 2021-10-18 07:42
阅文集团
校招火热招聘中
官网直投
我和你一个面试官…真的牛😊至少前方高能和你一样
2 回复
分享
发布于 2021-10-23 17:01
我看到连续三个前方高能的时候还在想,能有多高能,然后看到了fq,对不起,是我冒犯了
1 回复
分享
发布于 2021-10-19 15:18
这种面试官 🐂🍺   举报就完事儿了
点赞 回复
分享
发布于 2021-10-17 17:45
我去 问的这都是什么问题
点赞 回复
分享
发布于 2021-10-18 09:46
这个时间点已经没hc了吧还面试,即便通过了面试估计也要等很久才会通知
点赞 回复
分享
发布于 2021-10-19 17:56
function levelOrder(root) {     const res = [];     const queue = [root];     while(queue.length) {         const leve = [];         const len = queue.length;         for(let i = 0; i < len; i++) {             const node = queue.shift();             leve.push(node.data);             if (node.children) queue.push(...node.children);         }         res.push(leve);     }     return res; }
点赞 回复
分享
发布于 2021-11-11 15:50
兄弟别灰心,这面试官的问题,正常面试都是按照简历问的,至少我遇到的面试是这样的。
点赞 回复
分享
发布于 2021-12-16 18:00
***是偏网络方向的,如果你自己搭过,好奇的话就会稍微看一下原理,内容并不多。我确实是能回答上,并且还能说出不同方案之间的差别。自己搭会遇上很多问题,很多时候甚至想自己调试一下代码,有空的话我想自己写一个shadowsock或者***学习。说白了,你只要保持对技术的好奇心就不怕他问这些。当然拉,有可能你了解的和他问的错开了,那你直接说不了解,然后尽量引导他问你了解的就行。
点赞 回复
分享
发布于 2022-01-26 14:02
字节跳动内推码: N9XMEKR 校招投递链接: https://jobs.toutiao.com/s/LwmR4y8 社招投递链接:https://job.toutiao.com/s/Lwmrdas 或者发我简历,可直接帮内推,简历直达目标部门哦,帮查进度🤗
点赞 回复
分享
发布于 2022-02-28 17:02

相关推荐

头像 头像
03-26 17:13
已编辑
门头沟学院 计算机类
1.浏览器从输入一个网址到解析过程?2.页面渲染过程?--答了过程,顺便说了下defer和async3.浏览器缓存机制?--我说了协商缓存和强制缓存的分类和区别4.那缓存的相关状态码?--304,我顺势谈了一下304出现多的优缺点5.cookie和localstorage的区别?--大小,作用域,有效时间区别6.你登录优化是怎么做的?在localstorage里存了什么?7.那你为什么用localstorage而不用cookie?--不知道8.localstorage限制大小是多少?要是超出怎么办? --用vuex?9.不行,我想要持久化的存储呢? --不知道10.Settimeout第二个参数是准的吗?为什么不准确?--看过但是忘了11.React有接触过吗? --没怎么写过12.vue的history和hash路由在实现上的区别?原理?&nbsp;&nbsp;--说了用法区别,问具体用了js的哪些方法来实现区别,不知道13.mvvm和mvc的区别?--mvc我不太熟,扯了一些mvvm的底层原理14.本人自顾自又扯了一会儿数据劫持15.虚拟dom原理?--介绍了基本概念,diff算法,作用16.节点上key的作用?--为了作为唯一标识符,又提了一下index不能作为key17.为什么index不能作为key?--临时dom更新的情况会有问题18.那diff算法有用到key吗?&nbsp;&nbsp;&nbsp;--有,应该是可以判断是不是同一个节点吧19.0.1+0.2!=0.3--我解释了一下原因20.那怎么解决这个问题?&nbsp;&nbsp;&nbsp;--不知道21.场景题:我有一个input框,我想要根据输入的内容让它宽度自动变宽,怎么实现?&nbsp;&nbsp;--通过overflow属性?&nbsp;&nbsp;--那是出现滚轮,但是我想要宽度改变&nbsp;&nbsp;--那就根据input的width和font-size相除判断宽度是不是要增加?&nbsp;&nbsp;--可是像“m”和“i”所占的位置就是不同的,你怎么判断呢?&nbsp;&nbsp;--不会22.Div和span的区别?&nbsp;&nbsp;--谈了一下块级元素和行内元素的区别与转换。23.那行内元素的宽度是由什么决定的?&nbsp;&nbsp;&nbsp;&nbsp;--内容本身,回答完这句话之后突然发现前面那道场景题有解了,可以在input里放一个来测量宽度?#软件开发2024笔面经#
点赞 评论 收藏
转发
头像
04-12 10:04
点赞 评论 收藏
转发
4 41 评论
分享
牛客网
牛客企业服务