时长55mins
自我介绍
怎么接触的前端?学了多久?
问项目
单元测试是什么?你用什么做的单测?
对于CSS 预编译语言的理解? (变量、混合、函数、模块化)
你使用的React的版本? (18.2)
常用的React Hook有哪些?
Context 和 Redux 的区别?
Hooks 的状态存在哪里? (fiber)
useLayoutEffect 和 useEffect 的区别?
Hooks 的使用规范,和条件语句是否能够一起使用,原因?
聊一聊你刚刚提到的 Fiber
TSX/JSX 如何编译渲染到界面?
Babel 是什么,Babel 转换原理是什么? (AST)
JS类型有哪些?
new object() 的流程?
闭包是什么?利用闭包实现一个计数器
EventLoop是什么?浏览器事件循环和Nodejs事件循环有什么区别?
有哪些模块规范?(commonJS、es6系列)
有没有听过说过 sourceMap?(没有)
怎么做前端工程化规范? (prettier、eslint、commitlint、webpack/vite、CI/CD)
你的项目一般部署在哪?
Promise 有哪些静态方法?(all、race、allSettled)
async / await 原理?(generator语法糖)
实现一个request,可以在失败的时候重试,有interval和maxCount参数
async function request(options, interval, maxCount) {
let alreadyRetryCounts = 0
let result
const fetchData = async () => {
await fetch(options)
.then(res => result = res)
.catch(() => {
alreadyRetryCounts++
if (alredayRetryCounts <= maxCount) {
setTimeout(fetchData, interval)
}
})
}
await fetchData()
return result
}
反问:
技术栈
对我的评价和建议:
面试结果多久通知
总结:
第一次面字节,体验很好,感觉答得也不错,期待二面
#前端##字节#