腾讯音乐-前端开发-暑期实习-深圳
2022-05-11
代码题
转数据格式
123456789→123, 456,789
输入:
数字num
中间连接符号 ,
间隔位数 3
问:使用正则匹配的方式可能更简单?
数组转树
场景题
H5新标签header、aside、footer,为什么使用这些新标签,不使用旧标签?
答:语义化,方便代码阅读理解、方便SEO
面试官补充:header、footer有自带的属性,方便盲人阅读(特殊设备解析),利用开发维护
块级元素、行内元素、行内块级元素区别?
布局题:左边广告,右边内容宽度固定,左边广告宽度跟随右侧内容高度变化
答:flex布局
右flex-basis设置一个固定的宽度,左侧flex-grow:1,等分剩余空间,
aside高度如何跟着content变化?因为flex布局中,父容器默认设置了stretch,默认子项会在交叉轴上拉伸
答:补充:float浮动布局,清除浮动清除父元素高度
清除浮动有哪些方法
- 标签法,clear:both
- 父元素→BFC overflow:hidden
- 伪元素没来得及说
如何称为BFC?
- float浮动,面试官刚开始说不对,后来又说是对的
- 别的几种想不起来了:
- overflow:visible、auto、scroll、hidden
- display:inline-block、tablea-cell、table-caption、flex、grid、inline-grid
- 定位元素:position:absolute、fixed
JS题
说输出,var、function、let 变量提升
function中有var、let的话,会如何打印?
暂时性死区
存在堆、栈中?
变量声明有哪些过程?
创建、初始化、赋值
var、let区别
在堆中存放有何区别?
变量环境、词法环境
promise
new Promise(function (resolve,reject) { console.log('1') reject() console.log('2') resolve() }).then(function () { console.log('3') },()=>{ console.log('4') }).catch{ console.log('5') }
1 2 4 (5不输出哦,因为已经捕获异常了)
问: .catch 和 then中第二个函数处理异常的区别?
答:.catch能够处理之前链式调用函数中所有的异常,而第二个只能处理前一个函数的异常
问:去掉then中第二个函数输出什么?
答:1 2 5
promise在全局下的错误捕获方式?
面试官答:onerror?
vue在绑定之后,多次赋值,如何保证最后只渲染一次
答:我没有了解过🤦
项目
简历中的项目都在使用了吗?
session、LocalStorage、SessionStorage区别
补充:面试官小哥哥真的超级nice,我回答不全或者回答不上的问题,都会向我解释一遍,真的超级感谢这个面试官小哥哥,祝愿你工作顺利。
请给我一个二面的机会呀,许愿许愿