1. 程式人生 > >前端面試題-小米二面

前端面試題-小米二面

一、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))