百度 前端工程师面试题
TCP和UDP说法错误的是()
正确答案: A
UDP是面向字节流的协议
TCP的头部消息较UDP来说更全面
TCP是端对端的不支持广播、多播
TCP可以用在远程登陆方面,UDP可以用在语音通话方面
下面关于进程三态模型说法错误的是()
正确答案: B
就绪状态和执行状态可以互相转换
阻塞状态可以直接转换为执行状态
就绪状态转换为执行状态进行了进程调度
阻塞状态可以直接转换为就绪状态
HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。以下那个不是HTTP协议的请求方法()。
正确答案: C
GET
POST
PULL
PUT
序列{9, 12, 17, 30, 50, 20, 60, 65, 4, 19}构造为堆后,堆所对应的的中序遍历序列可能为()
正确答案: B
65,12,30,50,9,19,20,4,,17,60
65,12,30,9,50,19,4,20,17,60
65,9,30,12,19,50,4,20,17,60
65,12,9,30,50,4,20,9,17,60
下面程序的时间复杂度为多少
int i, j, a;
for(i=1; i<n.i++)
{
for(j=1; j<n; j*=2)
{
a = i+j;
cout<<a<<endl;
}
}
正确答案: B
O(n)
O(n*log2(n))
O(n2)
O(n*n/2)
数据结构中,如果存在二维数组Q,Q的行下标取值为2-5,Q的列下标取值为1-8,对于Q中的元素用相邻的6个字节存储,存储器按字节编址,数组Q的字节为()
正确答案: A
204
168
192
188
前缀表达式+^A*B-CD/E/F+GH的中缀表达式是()。
正确答案: C
A^B*C-D+E/F/G+H
A^B*(C-D)+E/F/G+H
A^(B*(C-D))+(E⁄F)⁄((G+H))
A^B*C-D+E/F/(G+H)
嵌入多媒体文本的HTML的写法正确的是()
正确答案: B
<a url=”#”></a>
<embed src=”#”></embed>
<a src=”#”></a>
<embed href=”#”></embed>
a: HTML文档扩展名为.html或.htm; b: HTML文档必须包括head和body部分, 以下说法正确的是()
正确答案: C
两种说法均正确;
两种说法均错误;
只有a说法正确;
只有b说法正确;
在不指定特殊属性的情况下,以下标签可以手动输入文本的是
正确答案: B
<input type="hidden"/>
<textarea></textarea>
<div></div>
<a></a>
关于HTML的描述,不推荐的是
正确答案: C
在页面顶部必须加入DOCTYPE声明;
尽量将js引用放到HTML页面底部;
可以使用center标签来设置元素居中;
使用table标签来处理数据相关的展示;
SVG图形与canvas的区别错误的是
正确答案: C
canvas是HTML5提供的新元素;
canvas绘制的是标量图,svg绘制的是矢量图;
canvas绘制的图形能被搜索引擎抓取;
canvas绘制图形通常是JavaScript实现,svg图形通常通过html标签来实现;
HTML5新增的表单元素不包括
正确答案: A
password;
color;
data;
number;
transition与animation的区别说法错误的是
正确答案: B
transition着重属性的变化,而animation重点是在创建帧,让不同帧在不同时间点发生不同变化;
animation需要时间触发来达到动画的效果;
animation可以实现复杂的动画;
animation通过@keyframe控制当前帧的属性;
在面向对象技术中,多态性是指()
正确答案: C
—个类可以派生出多个类
—个对象在不同的运行环境中可以有不同的变体
针对一消息,不同对象可以以适合自身的方式加以响应
—个对象可以由多个其他对象组成
'\\\\\\'.replace(new RegExp('\\\\\\\\', 'gi'), '/')
的执行结果是?
正确答案: A
/\
\/
\\//
//\\
执行下列语句后,变量name的值为
var name = '1';
new Promise(function (resolve, reject) {
resolve();
reject();
}).then(function () {
name = '2';
}).catch(function () {
name = '3';
});
name = '4';
正确答案: B
1
2
3
4
执行下列语句后,变量a的值为 D
var a = [].push(...[1, 2, 3]);
正确答案: D
[1, 2, 3]
[1]
1
3
根据如下代码,set.size的值为
var set = new Set([0, 2, 2, 0, 0, 5, 9, {}, {}, NaN, NaN]);
正确答案: B
6
7
8
11
下列说法中错误的是
正确答案: B
JSON只是一种数据格式,不从属于JavaScript
在事件流过程中,首先发生的阶段是冒泡阶段
document.querySelector方法在没有找到匹配的元素时会返回null
ECMAScript中只有5种基本数据类型
下列说法中正确的是
正确答案: B
JSONP不是一种跨域技术
调用Date构造函数而不传参数时,得到的对象自动获得当前时间
调用setInterval方法后得到的返回值为undefined
所有的RegExp实例对象都可以调用match方法
执行下列语句后, 变量name的值为
function Person() {};
var person1 = new Person();
var person2 = new Person();
Person.prototype.getName = function () {
return this.name;
};
Person.prototype.name = 'tom';
person1.name = 'jerry';
var name = person2.getName();
正确答案: A
tom
jerry
name
undefined
执行下列语句后,变量name1的值为
var name = 'tom';
function getMethod() {
var result = function () {
return name;
};
var name = 'jerry';
return result;
}
var getName = getMethod();
var name1 = getName();
正确答案: B
tom
jerry
name
undefined
以下关于OS的说法正确的是
正确答案: A B C
多道批处理系统的特点:资源利用率高、系统吞吐量大、平均周转时间长、无交互能力
分时系统具有多路性、独立性、及时性、交互性
操作系统的基本特征:并发、共享、虚拟、异步
在OS中通过时分复用和码分复用实现“虚拟”
下面说法不正确的是?
正确答案: A C D
若(u,v)是连通网络的一条最小权值的边,则不论采用何种方法构造该网络的最小生成树, 所构造出最小生成树一定包含(u,v)这条边。
对于静态表的顺序查找法,若在表头设置监视哨,则正确的查找方式为从第n个元素往开始前查找该数据元素
单向哈希表的特征包括:把固定的信息转化成任意长度信息输出
树的后序遍历序列等同于该树对应的二叉树的后序序列,先序遍历序列等同于该树先序序列
面向对象程序设计方法的优点包含:
正确答案: A B C
可重用性
可扩展性
易于管理和维护
简单易懂
假定需要在 node.js 环境中执行一些用户上传的自定义代码,在没有做任何沙盒等安全措施的前提下,存在哪些安全隐患?
正确答案: A B C
大量的同步计算造成进程卡死
执行 process.exit(1) 造成进程直接退出
执行 require('child_process').spwan(),直接调用系统程序,造成系统层面的危害
自定义代码抛出的异常无法被捕获
关于 node.js 中的模块化规范,以下说法正确的有哪些?
正确答案: A B D
require 加载模块是一个同步的过程
require 函数可以在代码的任意位置执行
模块最终导出的是 exports,而不是 module.exports
exports 或 module.exports 其中一个一旦重新赋值,exports 将失效
下面选项中属于Node定时器的是?
正确答案: A B C D
setTimeout()
setInterval()
setImmediate()
process.nextTick()
以下代码能在不同环境下(不考虑兼容性问题)正确判断变量a = [] 是数组的有:
正确答案: B C
a instanceof Array
Array.isArray(a)
Object.prototype.toString.call(a) === '[object Array]'
typeof a === ‘array’
用js实现一个用户行收集器,功能如下:
1,收集用户在页面中的所有click行为,并使用log方法发送日志,包含触发事件的节点xpath信息
2,xpath需包含tagName、id、class、同级同名节点索引(从1开始),如
<body>
<div id=“container”>
<p>something</p>
<a id=“link1” class=“link-class”></a>
<a id=“link2” class=“link-class current”>target link</a>
</div>
</body>
点击target link 时,xpath 为 body[1]/div[1][@id=“container”]/a[2][@id=“link2”][contains(@class, “link-class")][contains(@class, “current")]
3,不侵入、不影响其他业务代码的执行
Web Worker
Web Worker为Web内容在后台线程中运行脚本提供了一种简单的方法。
请列举出Web worker的常用API并列举至少1个Web Worker的常见用途。
小明要为n个人计划一次火星的探险,
其中一个重要的任务是为每个参与者安排食物。仓库里面有m个能用一天的食物包裹,每个食物包裹有不同的类型ai。
每个人每天必须用且只能用一个食物包裹。由于某些原因,在整个过程中,每个人只能用同一种类型的食物包裹,但是不同的人用的食物包裹可以不一样。
给出人数以及食物包裹的情况,请你求出这趟探险最多可以持续多少天。
系统会随机生成id为jsLayout的 m x n 表格(m >= 3, n >= 3),请按照如下需求实现bind函数
1、bind 函数为每个td节点绑定click事件,当某个td节点被点击时class变为current,同时以该td为中心的九宫格td节点class变为wrap,具体效果参考以下图片
2、每次click后,请清空所有不需要变动的td节点的class
3、请不要手动调用bind函数
4、当前界面为系统生成 10 * 10 表格,执行 bind 函数,并点击第一个td后的效果
5、请不要手动修改html和css
6、不要使用第三方插件
7、请使用ES5语法
百度 前端工程师面试题
- https://www.nowcoder.com/test/20895390/summary
- https://www.nowcoder.com/test/195/summary
- https://www.nowcoder.com/test/11283627/summary
- https://www.nowcoder.com/test/11285802/summary
- https://www.nowcoder.com/test/11285891/summary
- https://www.nowcoder.com/test/11286015/summary
- https://www.nowcoder.com/test/16369833/summary
- https://www.nowcoder.com/test/16385997/summary
- https://www.nowcoder.com/test/16386137/summary