小米一面二面面经,0 offer求oc!!!
小米一面 0921
自我介绍
项目中包含数据的可视化展示模块,问数据量大小,数据量大的话可能会出现什么问题,优化方法
html5新标签
css3新特性
动画实现思路:鼠标悬停时图片偏移 => translate和top实现的区别
margin重叠 => BFC
项目中的性能优化
加载很多图片时的优化方法,页面加载时的交互优化
垂直水平居中
如何使字体大小小于浏览器限制:scale缩放 => 可能会造成的问题及如何解决(指定缩放中心)
闭包
Vue双向绑定原理,数据监听的实现原理,和3.0的区别,2.0双向绑定的缺陷(这一块问的有点细)
对webpack的理解
手写防抖函数
反问:
使用的框架:React
业务方向
对于这次面试的评价和建议
小米二面 0925
自我介绍
专业及项目介绍,专业及项目和前端的相关性
关于样式规范统一化的实现
自我优点:
- 学习能力强 => 太普遍也不能算优点
- 完美主义,追求细节 => 那比如你在一些小样式上调整了很久后不被认可你会怎么做
- (表示再来点与众不同的优点)=> (看来得放出绝招了)对艺术、美感事物的追求,曾准备过考研工业设计后放弃选择保研 => (愿闻其详)有无艺术上作品或者心得感悟 => (慌)balabala扯了些对于设计的见解,又提到了原型交互设计,配色原理(欠) => 表示对配色原理倒真还没什么了解让我展开讲讲 => balabala又扯了一下,举了两个例子,考虑目标特性,用户群体,善用互补色、对比色 => 红色的对比色?=> 我慌了脑袋中的色环顿时一片空白 => 面试官说好像是有颜色计算的相关公式吧 => 好像是的好像是的(我错了再也不装b了饶了我)
自我缺点
手撕代码
-
执行顺序
setTimeout(() => { console.log(0) }, 0) new Promise(() => { console.log(1) }) console.log(2) new Promise((r) => { r(3) }).then(r => { console.log(r) })
-
某页面有m个请求queue = [r1,r2,r3, ......] // m,r1 = () => axios.get(url1); r2 = () => axios.get(url2); r3= () => axios.get(url3),同一时间最多只能n个请求并行,实现一种最短时间内完成的算法
(这里看了很久还是无法理解题目的考点,看题目说最短时间的算法以为重点是因为请求时间长短各不同要实现一个最优顺序,但是队列中一个请求完成了马上就加入新的请求,似乎也没有什么约束,这样说来不同的顺序应该不影响总时长,然后我就get不到题目的考点换了下一题) -
实现一个类似jquery的Query函数Query(".box").css({color:'red'}) .html('ss'),可能存在链式调用,css方法中传入的对象可能有多个属性不确定(尝试地去写了一下没写出来,只有个大概思路知道链式调用每个方法最后都要返回自身实例,那个类似jquery的选择器想用querySelector()去实现,不过没写出来还是菜)
-
写一个方法解析一个树形结构的json数据,找到里面出现最多的标签
[ { tag:div child:[ { tag:p child:[ { tag: div } ] } ] } ]
反问:
第二题怎么写题目还是无法理解,我说看不出最短时间是怎么体现的
- 面试官把题目最后一句话实现一种最短时间内完成的算法去了让我不用管,说就是实现一个同一时间最多只能n个请求并行最后把所有请求都完成的效果,让我接着再想想看怎么写(惊了我以为面试要结束了没想到继续手撕,想了一下写出来了,就一个循环初始化n个立即执行函数分别调用n个请求,然后每个请求.then里调用queue.shift队列头一个请求一直到队列为空就完了,面试官说可以,我都有点不敢相信就这,不知道是我一刚开始就把题目想复杂想偏了还是面试官题目意思没表达清楚还是面试官后来把题目改简单了)
- 第二题写完后面试官让我再看看第三题,让我再试试看能不能写出来,说能写出来总体分也高一些(突然感动!本来两道题没写出来前面也答得一般自我感觉有点凉的,这一刻我感受到了面试官还是想捞我一下的,内心又燃起希望的小火苗,然后还是没写出来就说了一下思路)
最后面试官看我是浙江人又问:
- 能不能接受在武汉工作
- 为什么不去阿里(投了没回应,表示自身水准可能还达不到阿里的要求(其实是投了简历挂哭 (面试官表示安慰还是要看到自身的长处,像我如果做tob的项目本来对页面效果不会有特别多的要求,我如果这种审美或者说有偏向UI设计师的潜质的话也算是一种优势
结束
总结
一面比较偏向基础,会结合项目问的比较细;二面问的比较发散,顺着你怎么答就怎么问,所以一定要往自己清楚有所准备的方向引,切勿装b
当然这次二面也绝对是我这次秋招印象最深刻的一面,两轮手撕代码面试时间直接超大杯拉满一小时四十分钟,这里我也很感谢面试官愿意给我这么多时间再给我一次机会让我尽可能把题目做好,能感受到面试官是愿意帮我的,希望我能把最好一面展现出来,再次感谢。
最后到现在为止也没有收到进一步的消息,查到的状态还是面试,下午给校招组发了邮件说面试官还没有反馈面试结果,没忍住给面试官发了个短信询问也还没有回复,可能还在筛选结果吧。最后求求小米收了我吧,至今 0 offer 的我表示要顶不住啦!第一次发帖,希望能够攒点好运!
#面经##校招##小米##前端工程师#