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

9月20日 16:00 实习

  1. 会不会遇到性能问题,怎么解决的
  2. 云产品错误监控方案设计
  3. 项目遇到的难点,怎么解决的 React源码深入:
  4. 怎么理解VDOM,有什么好处,底层原理是什么
  5. fiber树原理,中间有哪些阶段
  6. 怎么拿到state,状态更新的原理是什么
  7. useEffect会在什么时候执行
  8. 如果useEffect依赖数组是对象,对象属性值改变会引起Effect内的重新更新吗?函数呢
  9. useMemo依赖影响,useMemo有什么作用 前端工程化
  10. Webpack和Vite在原理上有什么区别
  11. Vite除了热更新还有什么好处
  12. 线上打包产物与开发环境不一致怎么解决
  13. 线上白屏事故怎么定位问题,你有什么解决思路 输入url到页面加载发生了什么(中间不断打断,插入问题)
  14. url,浏览器会对url校验吗
  15. 请求发送到dns服务器以前会做什么
  16. TCP连接如何建立的
  17. 服务端处理报文会做什么
  18. 如何确定一个任务是不是长任务
  19. js是否会阻塞浏览器加载
  20. 浏览器有哪些性能检测方案,提供了哪些API
  21. 前端异常如何监控,有哪些异常,Promise的catch能不能被window.onerror捕获到。 算法:
  22. 手写render函数(vdom转dom)
const render = (element, container) => {
// 创建node节点,对文本节点和非文本节点做不同处理
const node = element.type === 'TEXT_ELEMENT'
? document.createTextNode('')
: document.createElement(element)
// 递归处理children
element.props.children.map(child => render(child, node))
// 将props里的属性赋给dom节点
Object.keys(element.props)
.filter(key => key !== 'children')
.forEach(name =>
node[name] == element.props.name
)
container.appendChild(node)
}

  1. 2. 判断镜像二叉树
const isSymmetricTree = (root) => {
return root === null
? true
: judge(root.left, root.right) // 递归处理左右子树
}
const judge = (left, right): boolean => {
if (left === null && right === null) {
return true
} else if (left !== null && right !== null) {
return
left.val === right.val
? judge(left.left, right.right) && judge(left.right, right.left) // 判断镜像核心逻辑
: false
} else {
return false
}
}

#面经##校招##阿里巴巴##前端工程师#
全部评论
语雀的Markdown转过来的,可能有点问题,请见谅
点赞
送花
回复
分享
发布于 2022-10-25 17:08 广东

相关推荐

10 28 评论
分享
牛客网
牛客企业服务