小米-前端工程师-一面-二面-三面
一面
总时长37min。
- 自我介绍
- 所做过的项目以及针对项目问了些问题
- ES6新特性
- 箭头函数与普通函数区别
- 垂直水平居中
- 代码考核:循环里面有setTimeout,问改进方法
for (var i = 0; i < 4; i++) { setTimeout(() => { console.log(i) }) } // 打印什么? // 如何才能打印 0 1 2 3 4
- 算法题:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。(leetcode原题)
- 算法题:给定一个字符串和一个字符串字典,找到字典里面最长的字符串,该字符串可以通过删除给定字符串的某些字符来得到。如果答案不止一个,返回长度最长且字典顺序最小的字符串。如果答案不存在,则返回空字符串。(leetcode原题)
二面(3/23)
二面应该也是半小时左右,没有录音,记得不全。。。
- HTML5里面有哪些新标签?(article、section等)
- 这些新标签有什么特点?(语义化)
- CSS3中的动画用过吗?(animation)
- 文本溢出用省略号(text-overflow)
- 浏览器最小支持12px的文字,如何做到10px?(我猜先用20px,再用transform缩小一倍)
- css3动画的优点是什么?(硬件加速?)
- css module听说过吗
- vue和react的区别?
- webpack用过吗?大概如何使用?
- 现在有个插件,只处理 .mocule.css 结尾的文件,如何引入?(include)
- Babel用过吗?介绍一下?
- 如果想要在react中也使用像vue一样的 template,大致流程是怎样?(我猜这里是想问你知不知道 babel 可以自定义插件)
- 实现算法:楼梯有n个台阶,每次爬一个或两个台阶,问共有多少种方法爬完楼梯?
- 如果每次可以爬一个或两个或三个台阶呢?
感受:态度非常好,答不出来也没关系,会有提示,有些问题答出关键点就行,不会的题目也会告诉你最后答案。
三面(3/24)
没问知识点了,直接三道算法题,面试官说随机从leetcode中挑的(当时我内心开心极了)
总时长63min。
1.
给出一个区间的集合,请合并所有重叠的区间。 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].2.
给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。 输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ]3.
给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。
输入: "(()" 输出: 2 解释: 最长有效括号子串为"()"
输入: ")()())" 输出: 4 解释: 最长有效括号子串为"()()"
3/26 今天hr跟我打了电话(我投的武汉岗),薪资好低,只好拒绝了