前端面试日记(2)小米

在实习僧app投的小米实习生,拖了很长时间才进行电话面试,4月30日下午打电话通知晚上面试,还是比较着急了。长达40分钟,基本上比较友好,没有很多奇怪的问题,是按照css,js,vue的顺序提问的。收录一下面试题:

1. 说一下display有哪些属性?分别简述一下(inline,block,inline-block,none,table,list-item)

2. 继续说明inline,block,inline-block的区别?(block: 块级元素inline: 内联元素(text-align属性有效)问题:当设置成inline后,width和height属性是无效的(只会为文字添加背景)inline-block: 行内块级元素(块级+内联)居中的一种方法)

3. 追问你知道的水平垂直居中有哪些实现方法?(transform: translate(-50%, -50%); fixed布局)然后又追问每一个具体怎末实现。

4. position属性值有哪些?(absolute,fixed,relative)

5. 相对定位和绝对定位有什莫区别,具体怎末用,都需要设置什么属性值?(绝对定位是相对于元素最近的已定位的祖先元素(即是设置了绝对定位或者相对定位的祖先元素)。如果元素没有已定位的祖先元素,那么它的位置则是相对于最初的包含块(body)。相对定位是相对于元素在文档中的初始位置——首先它出现在它所在的位置上(即不设置position时的位置,然后通过设置垂直或水平位置,让这个元素“相对于”它的原始起点进行移动;)

6. 说一下fixed怎末用?它有哪些属性?

7. 数组去重问题。(参考链接:https://www.cnblogs.com/guangyan/articles/6682686.html

8. CSS3新增?(transform变形,transition过渡,animation动画)追问transition和animation区别?(Animation和transition大部分属性是相同的,他们都是随时间改变元素的属性值,他们的主要区别是transition需要触发一个事件才能改变属性,而animation不需要触发任何事件的情况下才会随时间改变属性值,并且transition为2帧,从from .... to,而animation可以一帧一帧的。)

9. ES6的新特性?(let const \ var;模板字面量和类的支持  简洁;箭头函数 简化了函数的书写;Promise 处理异步操作的一种模式;字符串模板(反引号))然后就开始一系列追问

10. let const var的区别?(const定义的变量不可以修改,而且必须初始化。.var定义的变量可以修改,如果不初始化会输出undefined,不会报错。let是块级作用域,函数内部使用let定义后,对函数外部无影响。)

11. 箭头函数的使用?追问this的指向问题,有哪几种?(作为普通函数调用 -- 返回window;使用call apply bind被调用 -- 传入什么绑定什么;作为对象方法被调用 -- 返回对象本身;在class方法中被调用 -- 返回当前实例本身;箭头函数 -- 永远会找上级作用域this的值来确定)

12. 追问call apply bind的区别?(call 和 apply 都是为了解决改变 this 的指向。call 可以接收一个参数列表,apply 只接受一个参数数组;bind 方法会返回一个函数。bind固定某个函数的参数和this,返回原函数的拷贝)

13.追问闭包是什莫?(函数 A 内部有一个函数 B,函数 B 可以访问到函数 A 中的变量,那么函数 B 就是闭包。闭包存在的意义就是让我们可以间接访问函数内部的变量。)再追问JS作用域有哪些?(三级作用域:全局作用域(全局都可以使用,如document对象)函数作用域(一个函数中定义的只能在当前函数使用)块级作用域(ES新增)(块:包含if while等包含大括号,在大括号外使用会报错)

14.v-if和v-show有什莫区别,分别适用于什么情况?(渲染结果不同,对于v-if只会渲染一个dom元素;对于v-show,data是a就会显示a的dom元素,对于其他的选择会渲染display:none,只是不显示而已。对于一次选择或者数据更新不频繁时,选择v-if;如果需要频繁切换,需要v-show,用display:none控制隐藏和显示效果比较好,否则用v-if会导致dom结点频繁的销毁加载。)

15.兄弟组件通讯的方法有哪些?(我只说了使用事件中心,这个知识点还要总结)

16.vue生命周期简述(参考链接:https://blog.csdn.net/Sabrina_cc/article/details/105605182#3.%20v-if%E5%92%8Cv-show

一下是关于我说的项目部分提问(饿了么webapp):

1.描述购物车小球动画,是否存在卡顿的问题?怎末解决?

2.收藏页面的实现?是否了解过cookie?

3.vue-router在项目中如何使用的?

4.购物车sticky组件实现场景?为什莫要用?

5.后台数据是如何获取的?

6.vue-resource怎末使用?

相比上次面试已经好了很多,面试官也很友好,除了项目部分,总结的知识点被问到了80%,而且我尽量把问题引导到会回答的地方,如果不太会的话,可以尝试知识点的关联,而且写在简历上的句子尽可能斟酌,也根据写的项目自己提前准备问题,如果自己不太熟练的地方就不要写(我就是写到了另一个项目,没有准备好,就有点尴尬)多看各种面试题,深入细致的研究每一个考点。

具体的题目可以参考之前的面试总结(持续更新):

CSS部分:https://blog.csdn.net/Sabrina_cc/article/details/105601959

JS部分:https://blog.csdn.net/Sabrina_cc/article/details/105612219#3.%20ES6%E6%96%B0%E7%89%B9%E6%80%A7

vue部分:https://blog.csdn.net/Sabrina_cc/article/details/105605182#3.%20v-if%E5%92%8Cv-show

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白Rachel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值