小米-前端-一二面面经
1.16:9的盒子怎么实现(等比例)
2.px em rem 区别
3. 1 + null = ?
1 + undefined = ?
1 + “1” = ?
“11” > “2” = ?
4. 实现Array.map
Array.prototype.mymap = function(fn) { let ans = []; for(let i = 0; i< this.length; i++) { ans[i] = fn(this[i],i,this); } return ans; }
5. span是什么元素?可以设置宽高吗?可以设置marigin/padding吗?
6. BFC如何触发?display:block可以触发吗?display:flex可以触发吗?
7. flex-basis?flex-grow?flex-shrink?
8. 单行省略号?多行省略号呢?
9. transform有哪些属性?书写前后顺序会有影响吗?
10. 输出顺序
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');
11. HTTP 301 302 304 405 401
12. 判断输出
class Example extends React.Component { constructor() { super(); this.state = { val: 0 }; } componentDidMount() { this.setState({val: this.state.val + 1}); console.log(this.state.val); // 第 1 次 log this.setState({val: this.state.val + 1}); console.log(this.state.val); // 第 2 次 log setTimeout(() => { this.setState({val: this.state.val + 1}); console.log(this.state.val); // 第 3 次 log this.setState({val: this.state.val + 1}); console.log(this.state.val); // 第 4 次 log }, 0); } render() { return null; } };
13. React Hooks的capture value特性是什么?
二面
1.react hooks的原理
2.keep-alive的实现原理
3.opacity改变会导致重排和重绘吗
4.在书写html时,是先写css还是js
4.src属性和href属性的区别
5.为什么要区分引用传递和值传递
6.闭包和堆栈?JS基本数据类型和引用类型都存在什么地方?是绝对的吗?闭包就是特殊情况
7.定位有哪些 absolute定位相对于什么定位?