本文目录

百度 前端工程师面试题

🌙
手机阅读
本文目录结构

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语法

百度 前端工程师面试题

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

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

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

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

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

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

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

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

于2021年离开前端领域,目前从事区块链方面工作了