本文目录

360 前端工程师面试题

🌙
手机阅读
本文目录结构

360公司-2018春招笔试-Web前端开发工程师客观题合集

正则验证题

var str1=new RegExp("e");
document.write(str1.exec("hello"));

以上代码输出结果为( )

正确答案: A

e
null
1
其他几项都不对

JS输出值问题

<html>
<body>
<script type="text/javascript">
var test=new Boolean();
document.write(test);
document.write("<br />");

var test=new Boolean(0);
document.write(test);
document.write("<br />");

var test=new Boolean(null);
document.write(test);
document.write("<br />");

var test=new Boolean("");
document.write(test);
document.write("<br />");

var test=new Boolean(NaN);
document.write(test);
document.write("<br />");
</script>

</body>
</html>

上述代码的输出结果为( )

正确答案: A

false false false false false
false true false false false
false false true test Boolean
其他几项都不对

如何阻止IE和各大浏览器默认行为( )

正确答案: B D

window.event.cancelBubble = true;
window.event.returnValue = false;
event.stopPropagation();
event.preventDefault();

关于身份证号,以下正确的正则表达式为( )

正确答案: C

isIDCard=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
isIDCard=/^[1-9]\d{7}((9\d)|(1[0-2]))(([0|1|2]\d)|3[9-1])\d{3}$/;
isIDCard=/^[1-9]\d{9}(0[1-9]|1[0,2])(0[1-9]|[1,2]\d|3[0,1])\d{3}(\d|[x,X])$/;
isIDCard=/^[1-9]\d{5}[1-9]\d{3}((9\d)|(1[9-2]))(([0|1|2]\d)|3[9-1])\d{4}$/;

对于代码 var a = 10.42; 取出 a 的整数部分,以下代码哪些是正确的?

正确答案: A B

parseInt(a);
Math.floor(a);
Math.ceil(a);
a.split('.')[0];

以下代码执行后,num 的值是?

var foo = function(x, y){
    return x - y;
}
function foo(x, y){
    return x + y;
}
var num = foo(1, 2);

正确答案: D

1
2
3
-1

以下代码执行后,5 秒后内控制台输出的信息是?

for(var i = 0; i < 5; i++){
    setTimeout(function(){
        console.log(i);
    }, 1000 * i);
}

正确答案: D

1 2 3 4 5
0 1 2 3 4
4 4 4 4 4
5 5 5 5 5

以下结果里,返回 true 的是?

正确答案: B

1 === '1';
!![]
!!''
null === undefined

以下代码执行后,a.x 和 b.x 的结果分别是?

function A(x){
    this.x = x;
}
A.prototype.x = 1;

function B(x){
    this.x = x;
}
B.prototype = new A();
var a = new A(2), b = new B(3);
delete b.x;

正确答案: C

2, 3
2, 1
2, undefined

以下代码执行后,array 的结果是?

var array = [-1,1,3,4,6,10];
array.sort((a,b)=>Math.abs(a-3)-Math.abs(b-3));

正确答案: A

[3, 4, 1, 6, -1, 10]
[-1, 1, 3, 4, 6, 10]
[10, 6, 4, 3, 1, -1]
[10, -1, 6, 1, 4, 3]

typeof new Array() 表达式的值是:

正确答案: B

"Object"
"object"
"Array"
"array"

IEEE 754 表示浮点数精度问题

与其他 IEEE 754 表示浮点数的编程语言一样,JavaScript 的 number 存在精度问题,比如 0.2 + 0.4 的结果是 0.6000000000000001。以下选项中,能得到 0.6 的是?

正确答案: B

parseFloat(0.2 + 0.4)
parseFloat((0.2 + 0.4).toFixed(1))
Math.round(0.2 + 0.4)
parseFloat((0.2 + 0.6).toPrecision(1))

alert(1 || 2) 的值是?

正确答案: A

1
2
true
0

以下代码执行后,console 的输出是?

let x = 10;
let foo = () => {
    console.log(x);
    let x = 20;
    x++;
}
foo();

正确答案: A

抛出 ReferenceError
10
20
21

以下代码执行后,console 输出的信息是?

for(var i = 0; i < 5; i++){
    requestAnimationFrame(() => console.log(i));
}

正确答案: D

1 2 3 4 5
0 1 2 3 4
4 4 4 4 4
5 5 5 5 5

以下代码执行后,console 输出的信息是?

for(let i = 0; i < 5; i++){
    requestAnimationFrame(() => console.log(i));
}

正确答案: B

1 2 3 4 5
0 1 2 3 4
4 4 4 4 4
5 5 5 5 5

以下结果里,返回 false 的是?

正确答案: A C

[] == true
!![]
NaN == NaN
null == undefined

以下代码执行后,console 的输出是?

function Foo(){
    console.log(this.location);
}
Foo();

正确答案: A

当前窗口的 Location 对象
undefined
null
TypeError

以下代码执行后,console 的输出是?

function Foo(){
    'use strict'
    console.log(this.location);
}
Foo()

正确答案: D

当前窗口的 Location 对象
undefined
null
TypeError

以下代码执行后,array 的结果是?

let array = [,1,,2,,3];
array = array.map((i) => ++i)

正确答案: A

[,2,,3,,4]
[NaN,2,NaN,3,NaN,4]
[1,2,1,3,1,4]
[null,2,null,3,null,4]

以下代码执行后,控制台的输出是:

var a = 10;
function a(){}
console.log(typeof a)

正确答案: A

"number"
"object"
"function"
"undefined"

以下代码的执行后,str 的值是:

var str = "Hellllo world";
str = str.replace(/(l)\1/g, '$1');

正确答案: B

Helo world
Hello world
Helllo world
Hellllo world

以下代码执行后,result 的值是:

var result = Math.round(11.5) + Math.round(-11.5);

正确答案: B

0
1
-1

以下代码执行后,result 的值是

var result = "75team2017".match(/\d+\w*/g);

正确答案: C

["75"]
["2017"]
["75team2017"]
["75", "2017"]

下面关于 Canvas 和 SVG 的描述,哪一个是正确的 ( )

正确答案: B

可以给一个 Canvas 中的不同图形分别绑定鼠标事件
Canvas 和 SVG 都可以使用 JavaScript 来绘制
WebGL 使用 SVG 在网页上进行 3D 图形绘制
Canvas 更适合静态图片的展示

typeof Date.now() 的值是:

正确答案: C

"date"
"object"
"number"
"error"

0xff^33 的结果是:

正确答案: C

220
221
222
223

在head部分可以使用标签( )来定义内部样式

正确答案: A

&lt;style&gt;
&lt;link&gt;
&lt;span&gt;
&lt;sample&gt;

以下几种margin写法不正确的有( )

正确答案: A B C

margin:20px,10px,0;
margin:10px,10px;
margin:20px,auto;
margin:20px  auto;

下列选项中,不属于CSS3样式选择器的是( )

正确答案: D

empty选择器
root 选择器
target选择器
ID选择器

要将下面代码中超链接文本呈现为红色,不可以使用的样式表是( )。

<div><a href="http://www.w3.org/">链接到W3C</a></div>

正确答案: D

a:link{color:red}
div a:link{color:red}
div&gt;a:link{color:red}
div:first-child{color:red}

在Bootstrap网格系统的工作原理说法不正确的是( )

正确答案: C

行必须放置在 .container class 内,以便获得适当的对齐和内边距
使用行来创建列的水平组
内容应该放置在行内
预定义的网格类可用于快速创建网格布局

CSS样式文件的类型不包括( )

正确答案: D

内部样式表
内联样式表
外部样式表
包含样式表

下列表单布局类型中,( )不是Bootstrap的

正确答案: D

垂直表单
水平表单
内联表单
自定义表单

根据规范,以下 HTML 和 CSS 代码解析后, container.clientWidth 的值是:

<style>
    #container {
        width: 200px;
        height: 200px;
        padding: 20px;
        margin: 20px;
        border: solide 10px black;
    }
</style>
<div id="container">
    content
</div>

正确答案: B

200
240
280
300

下面的颜色代码里,色彩看上去偏绿色的有哪些?

正确答案: A C D

rgb(0, 170, 0);
hsl(0, 100%, 50%)
#0a0;
hsl(120, 50%, 50%);

要让一个元素不可见且在文档流中不占位,应该使用下面哪个 CSS 规则?

正确答案: A

display: none
visibility: hidden
overflow: hidden
opacity: 0

下面关于html5的媒体标签说法错误的是( )

正确答案: D

audio用来嵌入音频,video用来嵌入视频
embed用来定义嵌入的内容
source对于定义多个数据源
track标签为媒介规定外部文本轨道。用于规定字幕文件或其他包含文本的文件,当媒介播放时,这些文件是不可见的。

时间代码说明

<input type="date" name="bday">
<input type="datetime-local" name="bdaytime">

关于上面两行代码显示结果说法错误的是( )

正确答案: B

两者都可以用来绘制日历
后者可以显示本地时间,且时间不可以修改
日历的样式可以通过CSS进行修改
日历标签目前只能应用于谷歌浏览器

哪个HTML5代码提供了一种验证数字输入的值在1到100之间

正确答案: B

<input type="number" low="1" high="100">
<input type="number" min="1" max="100">
<input type="num" min="1" max="100">
<input type="positive" limit="100">

假链接中我们通常在a标签的href中添加什么能使得页面不跳转()

正确答案: C

#
##
javascript:;
直接为空,无需添加

当使用地图进行图像搜索时,可以把一幅图片从电脑桌面拖放到地图页面的输入框里,这是使用了HTML5的()API实现的。( )

正确答案: B

history
File
system
images

拖放是HTML5标准的组成部分,若想要把drag1图片放入div1块中,拖放方法如下:

function allowDrop(ev){
    ev.preventDefault();
}
function drag(ev){
    ev.dataTransfer.setData("Text",ev.target.id);
}
function drop(ev){
    ev.preventDefault();
    var data=ev.dataTransfer.getData("Text");
    ev.target.appendChild(document.getElementById(data));
} 

则,如下HTML代码正确的是()

正确答案: C

<div id="div1" ondragstart="drag(event)" ondragover="allowDrop(event)"></div> <img id="drag1" src="img_logo.gif" draggable="false" ondrop="drop(event)"  width="336" height="69" />

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <img id="drag1" src="img_logo.gif" draggable="false" ondragstart="drag(event)" width="336" height="69" />

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <img id="drag1" src="img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69" />

<div id="div1" ondragstart="drag(event)" ondragover="allowDrop(event)"></div> <img id="drag1" src="img_logo.gif" draggable="true" ondrop="drop(event)"  width="336" height="69" />

以下描述,哪些是“反语义化”的?

正确答案: B

Font Awesome 网站用&lt;i&gt;标签来定义矢量小图标
<b>重要通知:</b>今天下午<font color="red">2点到5点半</font>小区停电
<ul><li>旧功能</li><li>新功能<img src="new.gif"/></li></ul>
<label for="test">测试</label><input id="test" name="test" type="radio"/>

以下 HTML 文本中,内容 “test” 的字体大小是:

<style>
    p{font-size:12px}
    #content p {font-size:13px}
    .article {font-size:14px}
    p.article{font-size:15px}
</style>
<div id="content">
    <p class="article">test</p>
</div>

正确答案: B

12px
13px
14px
15px

以下标签中,默认是块级元素的标签有:

正确答案: A C

div
span
p
img

根据规范,哪些标签不是 HTML 5 的语义化标签?

正确答案: C

header
section
marquee
article

以下 HTML 列表中,文字颜色是黑色的行有哪几行?

<style>
    .list{color:black}
    .list>li:nth-child(2n){color:red}
    .list>li:nth-child(3n+1){color:green}
    .list>li:nth-child(3n+2){color:blue}
</style>
<ul class="list">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
</ul>

正确答案: B D

第 1 行
第 3 行
第 7 行
第 9 行

根据 HTML 规范,以下代码中,外层容器 .outer 的宽高分别是:

<style>
    .outer {
        height: 50px;
    }
    .inner {
        width: 120px;
        height: 100px;
    }
</style>

<div class="outer">
    <span class="inner">content</span>
</div>

正确答案: B

高 50px,宽 120px
高 50px,宽 100%
高 100px,宽 120px
高 100px,宽 100%

下面关于 HTML 的描述正确的一项是 ( )

正确答案: D

HTML5 中的所有标签都必须写结束标签
DOCTYPE 的设置不会影响页面的展示效果
HTML5 中的属性名对大小写敏感
HTML5 中可以使用 data-* 自定义属性

下面的 HTML 代码中符合规范的是 ()

正确答案: D

<ul>        <ol>            <li>item 1</li>        </ol>     </ul>
<table>         <tr>             <td>Data 1</td>             <td>Data 2</td>         <tr>     </table>
<p>         <ul>             <li>Item 1</li>         </ul>     </p>
<a href="/">         <p>Some Text</p>     </a>

下面哪一个不是 HTML5 中的标签 ( )

正确答案: C

article
section
foot
main

下面关于表单的说法中,错误的是 ( )

正确答案: A

可以给 input 添加 multiple 属性使它可以输入多行文字
placeholder 属性可以用来提示用户输入什么内容
用户无法直接修改包含 disabled 属性的文本框的内容
maxlength 属性可以限制文本框内最多输入多少个字符

一个数据流中出现了的报文片段:A ESC FLAG B,假设采用字节填充算法,填充后的输出为( )

正确答案: B

A ESC ESC FLAG B
A ESC ESC ESC FLAG B
FLAG A ESC FLAG B FLAG
A ESC FLAG FLAG B

以下地址中的哪一个和76.32/12匹配( )

正确答案: A

76.33.214.12
76.79.24.11
76.58.119.74
76.68.204.11

网络拓扑结构中存在网桥S1、S2、S3、S4,若对应MAC地址分别为AABB-CCDD-EE00、AABB-CCDD-EE11、BBBB-CCDD-EE00、BBBB-CCDD-EE11,所有网桥优先级采用默认值,则使用STP协议后,哪个网桥会被确定为根网桥( )

正确答案: A

S1
S2
S3
S4

原始数据为011011111111111111110010采用比特填充技术填充后的发送数据为( )

正确答案: D

0110111110111111111110010
011011111111111111110010
01101111101111110111110010
011011111011111011111010010

存在以下三个CIDR地址块192.168.11.0/27、192.168.11.32/27和192.168.11.64/26聚合后的CIDR地址块应是( )

正确答案: A

192.168.11.0/25
192.168.11.0/26
192.168.11.64/25
192.168.11.64/26

终端发送帧序列为1101011111,使用生成多项式为G(x)=x^4+x+1校验后发出的帧为序列为( )

正确答案: D

11010111111100
11010111110011
11010111111011
11010111110010

处于同一网络上的主机对有( )

正确答案: A B

192.168.5.72/255.255.255.0和192.168.5.79/255.255.255.0
192.168.19.35/255.255.255.224和192.168.19.48/255.255.255.224
19.128.14.14/255.255.255.240和19.128.14.19/255.255.255.240
192.168.3.68/255.255.255.248和192.168.3.74/255.255.255.248

应用NAT后会带来哪些影响( )

正确答案: A

不利于分片
不利于数据加密
需要重新计算IP分组校验和
可以解决IPv4地址耗尽问题

以下协议中,不属于应用层协议的是?

正确答案: D

HTTP
HTTPS
WebSocket
TCP/IP

以下 HTTP 请求里,不带有 HTTP Body 的请求有?

正确答案: B

HTTP DELETE
HTTP GET
HTTP POST
HTTP HEAD

对以下 HTTP 状态码描述,不正确的是?

正确答案: B

301 和 302 状态码都表示请求的资源被转移到新地址
服务器返回 304 时,需要同时返回请求的资源内容。
2xx 的状态码表示请求成功
如果服务器请求第三方 API 超时,应该返回 504

以下说法中,对协议描述正确的是?

正确答案: C

HTTP 协议是在 TCP/IP 协议之上的应用层协议
HTTP 1.1 缺省支持 keep-alive
WebSocket 是由 Socket 发展而来的新规范
WebSocket 可以建立持久连接

下列说法中正确的是( )

正确答案: A

冒泡排序法的平均时间复杂度为O(n^2)
二分法的平均时间复杂度度是O(n)
m个并列循环的时间复杂度为O(mn)
快速排序法的时间复杂度一定优于冒泡排序法

关键字序列为{12,11,19,23,1,6,10},哈希函数为H(key)=key MOD 11,用链地址法构造哈希表,哈希地址为1的链中有( )个记录( )

正确答案: D

7
5
4
3

使用迪杰斯特拉(Dijkstra)算法求下图中从顶点1到其他各顶点的最短路径,依次得到最短路径的目标顶点是( )

正确答案: C

2,3,4,5,6
2,3,5,6,4
2,3,4,6,5
2,3,6,5,4

下面关于动态规划说法正确的是

正确答案: A

他是利用子结构,进行自底而上的算法设计
他需要后来多次计算的问题进行缓存,减少重复子问题的计算
他所求问题的整体最优解可以通过一系列局部最优的选择
他将分解后的子问题看成相互独立的.

下列关于排序算法的描述错误的是

正确答案: B

在待排序的记录集中,存在多个具有相同键值的记录,若经过排序,这些记录的相对次序仍然保持不变,称这种排序为稳定排序
二叉查找树的查找效率与二叉树的树型有关,在节点太复杂时其查找效率最低
下列排序算法中,希尔排序在某趟排序结束后不一定能选出一个元素放到其最终位置上。
在下列排序方法中,插入排序方法可能出现这种情况:在最后一趟开始之前,所有的元素都不在其最终应在的正确位置上

请指出以下代码段使用了何种算法

public void func(int[] arr1, int k, int m,int[] arr2) {
    arr2[0] = 0;
    for (int i = 1; i <= m; i++) {
        int min = i;
        for (int j = 0; j < k; j++) {
            if (arr1[j] <= i) {
                int temp = arr2[i - arr1[j]] + 1;
                if (temp < min) {
                    min = temp;
                }
            }
        }
        arr2[i] = min;
    }
}

正确答案: B

分治算法
动态规划
贪心算法
回溯算法

一个线性序列(30,14,40,63,22,5),假定采用散列函数Hash(key)=key%7来计算散列地址,将其散列存储在A[0~6]中,采用链地址法解决冲突。若查找每个元素的概率相同,则查找成功的平均查找长度是( )。

正确答案: A

4/3
1
3/2
5/3

下列程序段的时间复杂度是( )

count = 1;
for(k=1;k<2n;k*=2)
for(i=1;i<4n;i+=2)
count++;

正确答案: C

O(n2)
O(8n2)
O(nlog2n)
O(n)

递归公式的时间复杂度为( )。

正确答案: D

O(n)
O(logn)
O(nlogn)
O(n2)

有关贪心法叙述正确的是( )

正确答案: A

采用局部最优策略
采用全局最优策略
在贪心法中采用逐步构造最优解的方法
把问题分解为简单的问题求解

在选择分治法解决问题时,应考虑待解决问题应具有哪些特征( )

正确答案: A

待解决问题规模缩小到一定程度后可以容易解决
待解决问题应可以分解为若干个规模较小的相同问题,且子问题应可直接求解。
各子问题之间是相互独立的
分解后的子问题的解可以合并为源问题的解

在有序表中,关于斐波那契查找和折半查找说法错误的是()

正确答案: A B C

就平均性能而言,斐波那契查找的平均性能比折半查找差
只有有序表中元素个数n等于某个斐波那契数时才能用斐波那契查找算法
在最坏情况下,斐波那契查找的性能比折半查找好
折半查找时间复杂度为O(log2n)

下面说法错误的是()

正确答案: B C D

快速排序算法平均速度最快
堆排序在每一趟排序过程中,都会有一个元素被放置在最终位置上
在10000个无序的元素中查找最大的10个元素,使用快速排序最快
插入排序是一种稳定的排序算法

用(a,b,c)表示节点a,b之间有一条权值为c的无向边。

对于图(1,2,3),(1,3,4),(1,5,1),(2,3,4),(2,4,6),(2,5,2),(3,5,1)。最小生成树的权值和为( )

正确答案: B

9
10
11
12

一棵二叉树有100个节点,若根节点深度为1,树深最大为( ),最小为( )

正确答案: B

100 2
100 7
7 6
7 2

在一棵度为5的树T中,若14个度为5的结点,15个度为4的结点,14个度为3的结点,5个度为2的结点,10个度为1的结点,则树T的叶节点个数是( )

正确答案: D

72
102
130
135

一个有n个节点的树,有( )条边。

正确答案: A

n - 1
n
n + 1
n ^ 2

alert(1 && 2) 的值是?

正确答案: B

1
2
TRUE
FALSE

360 前端工程师面试题

其它语言的面试题参考


AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

目前重心已经放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>