前端面试题-小米二面

一、CSS

1、盒模型

 W3C盒模型和IE盒子,注意说区别。

2、隐藏元素

方法一:display:none;
方法二:visibility:hidden;
方法三:opacity:0;
方法四:z-index

3、实现三角

width:0px;
height:0px;
border:三边透明,一边有颜色

4、轮播图

一种是利用js实现的,一种是利用animation。
这里要注意的是从最后一张到第一张的过度怎么样才能实现更加的平滑。

二、HTML篇

块元素和行内元素的区别以及他们都包含什么元素?

三、javascript篇

1、原型以及原型链

2、谈一下闭包,之后说一下闭包的坏处。

3、继承:说一下有哪些,说一下构造函数继承

4、从继承里面引申数组怎么找出最大值以及最小值,Math.max.apply();

5、说一下HTTP协议,输入一个网址说一下都发生了什么,就HTTP而言。

6、性能优化:我主要讲了不同页面共有的logo合并。

7、es6你了解多少?

说了一下let,const(这两个不能变量提升,会形成块作用域)。
说了一下箭头函数(不能new,没有了arguments,这里的this不在随运行环境而改变了,this指向的就是定义的环境),这里面试官又让我讲了好处和坏处。
说了一下promise,面试官让我讲一下其作用。
说一下模块化:es6模块化以及旧版本怎么实现模块化的?

四、算法

算法:求x的y次方
直接用循环,时间复杂度为O(n)
用x的2次方、x的4次方,x的8次方。。。。。
这样其时间复杂度为O(log(n))

你可能感兴趣的:(前端,面试问题)