今天给大家带来一篇美团前端校招的面经,虽然只有第一轮面试的经历,但对知识点的考察还是比较全面,特别是框架相关的问题比较多,值得大家学习。
react组件中有个button定义了onClick事件,对于这个button,另外通过addEventListener监听了click事件,那么点击这个button的时候,会先执行哪个?
react的setState是异步的吗?什么时候异步?通过什么判断?这个变量什么时候变为true、什么时候变为false?由谁控制?
<div class="red">
<div class="green">
<p>p: 颜色</p>
</div>
</div>
.red p { color: red;}
.green p {color: green;}
foo();
var foo;
function foo(){
console.log(1);
}
foo = function(){
console.log(2);
}
function Parent(name) {
this.name = name;
}
// 使用方法:
const parent = new Parent('emma');
const parent = Parent('emma');
async function async1(){
console.log('async1 start')
await async2()
console.log('async1 end')
}
async function async2(){
console.log('async2')
}
console.log('script start')
setTimeout(function(){
console.log('setTimeout')
},0)
async1()
new Promise(function(resolve){
console.log('promise1')
resolve();
}).then(function(){
console.log('promise2')
})
console.log('script end')
本题比较简单, 这儿就直接给出答案,如果有不熟悉的小伙伴,建议在题库中搜索promise,里面有40多道类似的promise题目。
script start
async1 start
async2
promise1
script end
async1 end
promise2
setTimeout
var list =[['大','中'],['重辣','微辣'], ['重麻', '微麻']]
//输出所有维度的组合,如 [['热','冷'],['大', '中']] => ['热+大', '热+中', '冷+大', '冷+中']
function compose(list){
// your code
}
看完这篇面经,不由感慨大厂的校招确实有点难。
面试过程对于 Vue 和 React的考察占了大半 ,虽然问的都比较基础,但是对于应届生来说,对于部分原理相关的知识点,回答起来可能会有些困难。还有性能优化,css基础,js基础,这些题倒是比较常规,相信只要大家认真准备,都能回答出来。
《前端面试题宝典》现已推出 小程序 和 电脑版刷题网站 (https://fe.ecool.fun/),欢迎大家使用~
同时,我们还推出了面试辅导的增值服务,可以为大家提供 “简历指导” 和 “模拟面试” 服务,现在参与还有额外优惠,感兴趣的同学可以联系小助手(微信号:interview-fe)进行体验哦~
面经原作者:优秀の
面经原地址:https://www.nowcoder.com/discuss/397977