小米前端一面面经(简历面)

1、自我介绍

2、你是学react的,那说一下react的生命周期

  • (吧啦吧啦,说了 react 的生命周期函数,从初始阶段到更新阶段,再到卸载阶段)

3、

  • 生命周期的函数里面,哪些是不能用 setState的。

    • (当时说了在 componentDidUpdate 里面,原因是状态已经更新过了,如果在这个生命周期里面再 setState,又会再次引起渲染。面完之后仔细一想,我平时也会在 componentDidUpdate 里面 setState(尴尬),因为有时候确实要在 update 之后获取一些数据,然后再一次setState。后面想了想,面试官好像是想考我,在 componentWillMount 和 componentWillUpdate 里面不能使用 setState,如果在这两个生命周期函数里面调用的话,是不会有作用的)

4、setState 是同步的,还是异步的。

  • (我记得不同情况下是不同的,第一种是在生命周期函数里面调用,第二种是promise和自定义的的监听函数里面调用,但当时好像有点紧张,忘了哪一情况是异步,哪一种是同步)

5、

  • 说一下常用的布局。

    • (说了 flex布局,圣杯布局,双飞翼布局,其实当时不知道怎么回答这个问题,就回答了这些),

  • 然后问用 flex 实现 左栏宽度固定,右栏自适应,

    • (我说父元素设置display:flex,左栏设置 flex:0和宽度width: 100px,右栏设置 flex:1,后面验证了下,是对的),

  • 然后用 bfc 实现,

    • (左栏设置左浮动和宽度,右栏设置margin-left: 左栏宽度和width:100%(其实这里不用设置宽度,因为本身是块级元素),后面验证了下,也是对的),

  • 还有呢,

    • (应该是我当时多嘴的说了句有多种实现方案,他就这样问。想了想,说增加一个父元素并且设置overflow:hidden和padding-left:左栏的宽度,左栏设置margin-left: 左栏的负宽度,右栏不用设置,这也是对的),(后面想了下,他应该事项考怎么创建 bfc,早知道把实现 bfc都列举一遍,比如,1、float不为none,2、position: absolute,3、overflow:不为visibility)

6、

  • 问了promise,promise.catch().then(),运行完catch后,还会在运行 .then吗

    • 当时答错了,说不会运行,其实是还会运行的,catch运行过后,返回的还是promise对象,接着会继续运行promise

  • 后面好像问了 pomise 的原理,不太记得了,当时也没有怎么答出来

7、说一下webpack的loader与plugin的区别

8、

  • 你简历的node项目是公司项目,还是平时自己练手的

    • 平时练手的

  • 那你说一下 express (简历上写了熟悉express)

    • (很久之前用的 express,都已经忘了差不多了),就说了一下 express 包装了很好了。。。,没有答好

9、

  • 来做一道题吧(有关于原型链继承的),印象中是这样的:一个Person对象,有一个属性 name 和一个方法 hello(作用是打印出name),一个Student对象,继承了Person对象,有一个属性 age和一个方法 goSchool(作用是打印出age),创建一个实例Student,调用 goSchool ,打印出name和age

    • 用了构造函数继承和原型链继承

  • 问为什么会有这一句:Student.prototype.constructor = Student

    • 因为上一句 是 Student.prototype = Person.prototype, Student 的prototype指向Person的 原型对象,所以此时的 Student.constructor 是 Person,所以要重新给 Student.constructor 赋值

总共面了半个多钟,总体感觉面得不是很好,很多点都没答上来

如果有哪里说的不对的,欢迎指出和交流
#小米##前端工程师##面经##校招#
全部评论
差不多,写了个继承,写了个两数相加,就没二面了
点赞 回复
分享
发布于 2019-09-20 15:27
19号面的1面,刚刚打电话过来约明天的二面,可能还在慢慢通知
点赞 回复
分享
发布于 2019-09-22 20:22
春招专场
校招火热招聘中
官网直投
promise.catch().then(),运行完catch后,还会在运行 .then吗?    应该运行吧
点赞 回复
分享
发布于 2019-09-28 15:33

相关推荐

点赞 评论 收藏
转发
2 22 评论
分享
牛客网
牛客企业服务