文章目录
  1. 1. 选择题
  2. 2. 填空题
  3. 3. 编程题

今天在网上做了阿里的前端笔试题,题不多也不是很难,但是没有做完,还是不够熟练啊!下面来回顾一下题目。

选择题

  • 第一题问哪个单位不是CSS里的长度单位。选项中出现了 mm、pt、px、pc、%、rem等,其中rem应该不是CSS里的长度单位。

  • 第二题问考的是CSS,margin简写的顺序,已知:margin:5px 15px 25px 10px; 问左边距是多少。

  • 第三题问是关于事件的,主要靠mouseenter、mouseover的区别,我记得mouseenter是不冒泡的,且当鼠标从元素只有用的子元素进入元素不会触发mouseenter事件;而mouseover是会冒泡的,且鼠标从元素只有用的子元素进入元素不会触发mouseover事件。

  • 有一题考的是HTML5语义化,这个平时不是很注意。问time、date、mark、figure标签哪个不是H5的语义化标签。网上看了一下除了第二个date其余都是HTML5语义化标签。

选择就记得这么几个,另外记得两个填空题。

填空题

第一题是数组排序有关的,第二题是将两个字符串合并,并且颠倒顺序。

  • 第一个填空题:
    请将下面的数组从小到大排列

    1
    2
    3
    4
    var arr = [6,2,10,5,9,5];
    arr.sort(________);
    //我的答案:
    function ( a, b ) { return a - b; }
  • 第二个填空题:
    将两个字符串合并,并且颠倒顺序

    1
    2
    3
    4
    5
    6
    str1 = 'abcd';
    str2 = 'jjhhgg';
    str3 = str1.______(str2);
    str4 = str3.______('').reverse().concat('');
    //我的答案:
    concat和split //但是这个得到的结果是一个顺序颠倒的数组。
  • 第三题是考的是构造函数,题具体记不清了,记得这个题答错了。

编程题

一共记得三个编程题,最后一题比较简单,实现一个表格,要求表格奇数行背景为白色,偶数行背景为灰色,hover效果背景为黄色。下面是我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//css
tr:nth-child(odd){
background-color: #fff;
}
tr:nth-child(even){
background-color: #999;
}
tr:hover{
background-color: #ffff00;
}
//html
<table>
<tbody>
<tr>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>21</td>
<td>22</td>
<td>23</td>
</tr>
<tr>
<td>31</td>
<td>32</td>
<td>33</td>
</tr>
<tr>
<td>41</td>
<td>42</td>
<td>43</td>
</tr>
</tbody>
</table>

另外一个大题是考JavaScript的,要求写一个 shuffle 程序,一开始不知道是个什么东西,其实就是将一个数组打乱。
可惜最后有了思路,就差一分钟没写完。我的思路是每次产生一个在数组长度内的随机正整数,然后从数组中取出这个随机数对应位置的元素存到一个临时数据中,最后将取出的元素从原数组中删除。下面是我实现的代码:

1
2
3
4
5
6
7
8
9
10
var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
function shuffle (arr) {
var temp = [];
var len = arr.length;
for ( var i = 0; i < len; i++ ) {
temp[temp.length] = arr.splice( Math.floor(Math.random()*arr.length), 1 )[0];
}
return temp;
}
console.log( shuffle(arr) );

倒数第三道大题,问click时间在移动端和桌面端有什么区别,并给出解决方案。这个题完全不会啊!因为根本没有看过移动端的内容。希望知道答案的留个言,谢谢。

一共11个题,记住了9个。

文章目录
  1. 1. 选择题
  2. 2. 填空题
  3. 3. 编程题