北京微步在线科技前端实习(4.10)
1、自我介绍
2、css一个容器放入另一个容器中垂直居中
3、文字在容器中垂直居中
4、两栏布局,左边宽度固定,右边自适应
5、CSS选择器权重
6、使用组件库时想要覆盖原有的样式怎么做
7、覆盖的原则是什么(公共的样式影响到某个组件的样式怎么覆盖)
8、JS基本数据类型有哪些
9、引用数据类型和基本数据类型有什么区别
10、判断类型有哪些方式,分别在什么情况下使用(怎么判断一个数组)
11、定义一个变量有什么方法,它们之间有什么区别
12、什么是变量提升(使用var a=1 console.log(window.a)打印吗)
13、说说你对 Promise 的认识
14、使用Promise封装一个普通函数使得结果是fun().then(res=>console.log(res))
ajax({
type:'post',
url:url,
async:ture,
data:data,
dataType:'jsonp',
success:function(res){
},
error:function(error){
}
})
// 将上面的内容使用Promise封装达到下面的内容
const func = Fun()
func.then(res=>{
console.log(res)
})
15、JS事件循环机制
16、说说你对宏任务和微任务的理解,说说下面代码的执行顺序并说明原因
console.log('1')
new Promise((resolve, reject) => {
resolve('2')
}).then((res) => {
console.log(res)
})
setTimeout(() => {
console.log('3')
})
new Promise((resolve, reject) => {
resolve('4')
}).then((res) => {
console.log(res)
})
console.log('5')
// 输出结果:1 5 2 4 3
17、实现一个number数组-洗牌算法(返回一个打乱后的数组)
18、React常用的hook有哪些,用的React版本是多少
19、我们在项目中循环渲染一个列表的时候为什么需要一个key值,如果不加会会怎么样
反问:
1、表现怎么样
2、开发团队规模 - 100 人左右,有go、python、c、java
#面经#