当前位置: 首页 > 面试经验 >

阿里-前端-二面(已offer)

优质
小牛编辑
86浏览
2023-03-28

阿里-前端-二面(已offer)

9月21日19:00 ~ 20:20

唠家常

打开笔试界面开始做题

使用队列进行BFS,查找对应节点

太简单不写了

事件委托题,如何优化

<ul id="list">
<li class="item">item 1</li>
<li class="item">item 1</li>
<li class="item">item 1</li>
<li class="item">item 1</li>
<li class="item">item 1</li>
</ul>
<script>
const element= document.getElementsByClassName('item')
for(let i in element) {
element[i].addEventListener(
'click',
this.target.backgroundColor = '#FF0000'
)
}
</script>

React组件随机数引起的闪烁,手写优化(setState random)

const Demo: React.FC<any> = (props) => {
const [count, setCount] = useState(0)
useEffect(() => {
if (count === 0) {
const ramdomNumber = 100 + Math.random() * 200
count = Math.random() * 200
}
}, [count])

return (
<>
<Button type="primary" onClick={() => setCount(0)}>
{count}
</Button>
</>
)
}

React组件,this指向题手写优化(setTimeout)

点击两个Button会发生什么

import React from 'react'

export class DemoProps {
onParamsChange
}

const Demo: React.FC<DemoProps> = (props) => {
const { onParamsChange } = props
const bottle = {
nickname: 'Bottle',
sayHi: function (value) {
return onParamsChange(value, this.nickname)
},
sayHello: setTimeout(function (value) {
return onParamsChange(value, this.nickname)
}, 1000),
}
return (
<>
<Button type="primary" onClick={bottle.sayHi}>
hi
</Button>
<Button type="primary" onClick={bottle.sayHello}>
hello
</Button>
</>
)
}

React 一个很长的组件手写怎么优化(组件拆分、自定义hooks)

 类似资料: