小米前端一面/二面/三面(oc) 面经 校招
一面(约50min) 11-4
- 经典自我介绍
- 数据库写SQL语句(学生成绩表ER图分析/从表中选取出成绩>=80的学生姓名/从表中选取所有课程成绩大于80分的学生姓名)
- 排序算法(分析时间复杂度,稳定性,冒泡和快排单独说说,手写冒泡)
- 如何学习前端的
- js event loop
- 写一道题event loop输出题并分析
- Promise了解过吗 聊聊
- Promise是为了解决什么问题
- Promise的语法糖
- async/await与Promise的区别,使用的时候要注意什么?(async/await不能捕获错误,需要外边包一层try/catch)
- js的数据类型 如何判断 怎么用这些判断方法
- js this指向问题
- 箭头函数解决了什么问题
- 如何改变this指向
- 看this指向代码写输出并分析
- var let const的区别
- const如果是数组/对象,可以修改吗
- 数组去重
- 如果数组里存有对象怎么办 (一开始说了遍历对象属性比较值,提示转换成字符串,那就用JSON.stringify)
- new Set中如果有两个属性和值都相同的对象,会去重吗
- HTTP和HTTPS的区别
- 如果我在HTTPS页面发送一个HTTP请求,可以发送吗?反过来呢?(答反了,干)
- 浏览器存储cookie,localStorage,sessionStorage的区别
- HTTP的header有哪些(提到了expire和cache- control)
- 那说说强缓存和协商缓存的区别
- 强缓存和协商缓存有哪些header 具体说说怎么用的
- 怎么控制使用那种缓存(cache-control:no-cache/no-store)
- 什么场景适合用强缓存和协商缓存
- 协商缓存的状态码是什么?
- HTTP常见的状态码
- 跨域遇到过吗,什么情况会跨域,有哪些方法可以解决(cors/jsonp/代理/皮了一下,说不用浏览器就不用跨域)
- 跨域是在哪个阶段会被拦截
- CSS块级元素和行内元素的区别
- margin和padding如果使用百分比,相对于谁?
- 问了问实习做的H5页面(纯打杂,在人家写好的页面添一个弹窗,问了问怎么实现弹窗)
- 平时什么布局用得比较多
- Flex布局聊聊(justify-content/align-items都说了一圈)
- 如果我想要flex容器里,元素从最下方,最右边开始排列,怎么做
- 如果设置flex排列方式为column,想要居中,怎么做(align-content,估计是前面提到了justify-content)
- 有什么我没问,但是你比较擅长的地方吗?(已经面了50分钟了,该恰饭了)
- 目前有啥offer
- 反问(忙着恰饭,不问了)
面试官是一个小姐姐,面试体验非常好,会引导你进行思考,直接约了二面。
二面(约50min) 11-9
- 自我介绍(怀疑没听清)
- 公司项目介绍一下
- 主要干了什么,你怎么做性能优化的(问了很详细)
- react hooks和类组件有什么区别
- Hooks中如何保存状态的
- 纯函数组件呢(无状态)
- 什么时候用hooks呢
- Memo和PureComponent
- Hooks中UseEffect对应类组件的哪几个生命周期
- 如何优化 UseEffect
- 项目里做的比较难的功能
- 怎么和组里沟通的
- 栈和队列知道吗,一般用在什么场景
- 链表知道吗?双向链表呢?
- 二叉树知道吗,特点是?
- 二叉搜索树一定左边小于右边吗?(看你怎么创建喽)
- 在学校做过什么项目吗
- 写过nodejs脚本吗
- 写过移动端吗
- 写过跨设备类型的项目吗
- 了解微前端吗
- 算法题
- N个有序数组中,找出值为m元素的索引
- 2N+1个数字中,有N个成对数字,求出单独出现的数字
- 用过什么加密算法吗
- 你还会写后端啊(我说了jwt鉴权加密,我寻思我简历写了我是科班的啊)
- RSA MD5算法
- 对称加密和非对称加密哪个安全
- 你手下带了几个人(????我人傻了,我确信是没有我简历了,我投的校招啊,我就一实习生,是别人带我好吧🤣)
- 面试官惊了,说“你是实习生??”(完犊子喽)
- 经典反问
大部分都回答出来了,面试体验还行吧,但我感觉简历是拿错了还是没有我简历,尤其是那句"你手下带了几个人",人懵了-------------- - 两星期后终于约三面了,应该hr面,鱼塘王子了属于是😅😅
三面(说我之前面评不错,给了加了一面,行8)
- 自我介绍
- 怎么学习前端的
- 为啥来北京啥的啥的
- Js基础怎么样
- 平时怎么学习的
- 业务驱动学习还是自我驱动学习
- 为什么选react,react解决了你什么问题
- 为什么去了解react源码,是为了面试还是什么(为了解决实习期间遇到的性能优化问题)
- Diff算法
- 你觉得前端还需要掌握哪些方面的技能
- 职业规划啥的
- 反问
- 介绍部门,技术栈以及上班时间啥的基本上的纯聊天以及一些技术上的问题,不是很细,其他我也记不清了,体验很好,爱了爱了。