## 小米一面
1、自我介绍
2、说一下实习里遇到的难题,怎么解决的
3、一个容器里面有个正方形,不管容器的长和宽怎么变化,正方形的边长始终是容器长的一半,怎么设置正方形的CSS属性
4、闭包的优缺点
5、防抖和节流应用场景
6、手写防抖
7、手写Promise红绿灯交替闪烁
8、原型链说一说
9、手写instanceof方法
10、Vue和React熟悉哪个
11、React类组件和函数式组件的区别
12、列表中key的作用
13、hooks中useEffect的作用
反问:技术栈?答:React为主
## 小米二面
1、自我介绍
2、js中this说一下
3、React中详细useState说一下
4、手写二叉树翻转(脑袋抽了,一时间没写出来,面试官换了一题)
5、手写Promise.all
6、箭头函数和普通函数的区别
7、Webpack的打包原理还有按需引入怎么实现的
8、大文件上传原理以及怎么实现的中断传输时保留已经传输信息
9、React的diff算法说一下
10、前端性能优化做过哪些
反问:node_modules包大规模报错可能是什么原因?答:原因很多,说不请
这一面发挥的很差,原本很多会的全都答的不好,以为铁定寄了,结果10天后约三面,应该是前面的人拒了,而我的两次面评相差较大,于是加面一场
## 三面
1、自我介绍
2、Vue和React区别,diff算法有哪些区别
3、说一下Promise各种方法的应用场景
4、手写快排,时间复杂度是多少
5、手写链表反转
6、手写二叉树深度
7、手写动态规划爬楼梯
8、哪里人,为什么选择前端
反问:您作为面试官主要看重候选人哪一面?答:全方位考察
之后面试官看了我的background一眼,说我是不是在寝室,为什么就你一个人,我说是的,室友都去考研考公去了。然后他让我把摄像头转转,他要看一圈。结果看到我们寝室像狗窝一样,直接社死。
总结,小米面试总体来说不是很难。重要的是要自信,面试的时候千万不能紧张,就像我二面的时候紧张结果大脑一片空白,好在最后又给了我一次机会。
最后,感谢米子给了我这个农村做题家一个不错的offer #24届软开秋招面试经验大赏#