华为od前端技术面
一、算法部分
- 有一个二维数组,找出每一行都有的公共元素,返回包含公共元素的数组
- 一个整数数组,有些元素出现两次,有些元素出现一次或多次,找出只出现两次的元素(要求事件复杂度O(n),没有额外空间)
- 忘了,反正用了Map()
- 手写快速排序
二、八股部分
- 在项目中怎么衡量、评估前端的性能瓶颈在什么地方?有什么工具吗?
- 常用的性能优化手段有哪些?(问了两次)
- 安全漏洞有了解吗?CSRF攻击和XSS攻击有了解吗?如何预防?有什么手段?
- 之前做开发主要负责什么组件?可以具体介绍一下吗
- 为什么不用现成组件库,而要自己开发基础组件?
- 如何处理闰年?是自己计算,还是有服务请求,还是去调用系统时间?
- Dayjs对外集成了哪些API,是从哪儿来的?底层的原理有了解吗?
- 组件之间是子组件、父组件间的关系吗?怎么传递数据(父传子,子传父)
- 做过React哪些动画?
- 有用到React事件机制吗?
- 对React虚拟DOM的理解(问了两次)
- 讲一讲diff算法(问了两次)
- TypeScript相比于JavaScript的改进点有哪些?
- 自己有学过计算机相关的课程吗?
- 有没有node.js的经验?
- vue有接触过吗?
- 有学过JS 怎么编译和执行,以及异步、事件循环机制、原型链这些吗?
- 有没有跟后端进行交互过?前端有没有处理过业务规则?
- 有多少年编程经验?
- 什么闭包?
- 遇到闭包问题,应该怎么排查和解决?
- 冒泡和捕获的区别
- 讲讲react的路由原理
- this指向
- 怎么做前端调试?
- 讲讲语义化标签
- px和rem的区别
- 选择器有几种?