2019年百度前端工程师面试题及答案解

一、单选题(共25题,每题5分)

1.该正则可以匹配下列哪个字符串? /^sjm/

A、absjm

B、phpsjm

C、sjmphp

D、phpsimd

参考答案:C

答案解析:该正则匹配以sjm开头的字符串

2.新窗口打开网页,用到以下哪个值()。

A、_self

B、_blank

C、_top

D、_parent

参考答案:B

答案解析:在html中通过标签打开一个链接,通过 标签的 target 属性规定在何处打开链接文档。

如果在标签中写入target属性,则浏览器会根据target的属性值去打开与其命名或名称相符的 框架或者窗口.

在target中还存在四个保留的属性值如下,

### 属性值

描述

\_blank

在新窗口中打开被链接文档。

\_self

默认。在相同的框架中打开被链接文档。

\_parent

在父框架集中打开被链接文档。

\_top

在整个窗口中打开被链接文档。

*framename*

在指定的框架中打开被链接文档。

这些 target 的所有 4 个值都以下划线开始。任何其他用一个下划线作为开头的窗口或者目标都会被浏览器忽略,因此,不要将下划线作为文档中定义的任何框架 name 或 id 的第一个字符。

上面这段出自w3c。。

3.如果一个HTML文档内含有阿拉伯文,则应该?

A、使用utf-8编码

B、将阿拉伯文转为图片并嵌入到文档内

C、使用GBK编码

D、使用iso-8859-2编码

参考答案:A

答案解析:

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

GBK是汉字编码,是双字节码,可表示繁体字和简体字。

```

ISO8859-2 字符集,也称为 Latin-2,收集了东欧字符。

```

4.以下哪个选项不是块级元素()

A、div

B、span

C、p

D、h1

参考答案:B

答案解析:

常见的内联元素:、**、、*、*、**、、、、、` `******

常见的块级元素:

、、、、 、、、

、> 、

窗体顶端

窗体底端

常见的内联块级元素:![]()、

 

5.下面关于二叉树的说法正确的是?

A、满二叉树就是完全二叉树

B、满二叉树中有可能存在度数为1的节点

C、完全二叉树就是满二叉树

D、完全二叉树中某个节点可以没有左孩子,只有右孩子

参考答案:A

答案解析:满二叉树的任意节点,要么度为0,要么度为2.换个说法即要么为叶子结点,要么同时具有左右孩子。 完全二叉树:所有子树要么没有孩子,要么一定有左孩子。 满二叉树一定为完全二叉树,但完全二叉树不一定为满二叉树;

6.下面有关csrf的描述,说法错误的是?

A、CSRF则通过伪装来自受信任用户的请求来利用受信任的网站

B、xss是实现csrf的诸多途径中的一条

C、在客户端页面增加伪随机数可以阻挡csrf

D、过滤用户输入的内容也可以阻挡csrf

参考答案:D

答案解析:

D;

1.XSS 全称“跨站脚本”,是注入攻击的一种。其特点是不对服务器端造成任何伤害,而是通过一些正常的站内交互途径,例如发布评论,提交含有 JavaScript 的内容文本。这时服务器端如果没有过滤或转义掉这些脚本,作为内容发布到了页面上,其他用户访问这个页面的时候就会运行这些脚本。

2.CSRF 的全称是“跨站请求伪造”,而 XSS 的全称是“跨站脚本”。看起来有点相似,它们都是属于跨站攻击——不攻击服务器端而攻击正常访问网站的用户,但前面说了,它们的攻击类型是不同维度上的分 类。CSRF 顾名思义,是伪造请求,冒充用户在站内的正常操作。我们知道,绝大多数网站是通过 cookie 等方式辨识用户身份(包括使用服务器端 Session 的网站,因为 Session ID 也是大多保存在 cookie 里面的),再予以授权的。所以要伪造用户的正常操作,最好的方法是通过 XSS 或链接欺骗等途径,让用户在本机(即拥有身份 cookie 的浏览器端)发起用户所不知道的请求。

3.XSS 是实现 CSRF 的诸多途径中的一条,但绝对不是唯一的一条。一般习惯上把通过 XSS 来实现的 CSRF 称为 XSRF。

7.下面span标签中Hello World字体的颜色是 ?<

style type="text/css">

    span {

        color: green;

    }



    .red {

        color: red;

    }



    #blue {

        color: blue;

    }</style><span class="red" id="blue" style="color:black;"> Hello World</span>

HTML

A、green

B、red

C、blue

D、black

8.数字签名 elgamal算法的原理是?

A、扩展欧几里得定理

B、中国剩余定理

C、欧拉定理

D、拉斐尔定律

9.如果想在一个指定的元素后添加内容,下面哪个是实现该功能的?

A、append(content)

B、appendTo(content)

C、insertAfter(content)

D、after(content)

10.在jquery中想要实现通过远程http get请求载入信息功能的是下面的哪一下事件?

A、$.ajax()

B、load(url)

C、$.get(url)

D、$. getScript(url)

11.因特网用户大多数情况下都是通过浏览器访问网页的,浏览器采用超文本传输协议与Web服务器进行通信。超文本传输协议的英文缩写是

A、 HTML

B、 URL

C、 HTTP

D、 FTP

 

12.JavaScript中通过navigator.userAgent获取到的是:

A、用户浏览器信息

B、用户代理信息

C、用户地理位置

D、用户IP地址

13.想匹配 字符串 "abc 123" 中的数字,哪个正则表达式是正确的?

A、/\d*/

B、/[0-9]*/

C、/[^a-z]*/

D、/\d+/

14.HTML语言中的换行标记是 (   )

A、html

B、br

C、title

D、p

15.以下对HTML中使用CSS说法不正确的是:( )

A、CSS必须在HTML中使用

B、HTML中必须使用CSS

C、在HTML中可以使用CSS,也可以不使用

D、在HTML元素中通过属性完成的设置,部分也可以通过CSS来设置

16.以下对HTML中使用CSS说法不正确的是:( )

A、CSS必须在HTML中使用

B、HTML中必须使用CSS

C、在HTML中可以使用CSS,也可以不使用

D、在HTML元素中通过属性完成的设置,部分也可以通过CSS来设置

17.HTML5应用中如果需要在浏览器端存储一组50k大小的数据,而且不受浏览器...

HTML5应用中如果需要在浏览器端存储一组50k大小的数据,而且不受浏览器关闭影响,最好使用以下那种技术:

A、localStorage

B、sessionStorage

C、cookie

D、url

18.虽然不同的操作系统可能装有不同的浏览器。但是这些浏览器都符合( )协议。

A、SNMP      

B、 HTTP  

C、HTML   

D、SMTP

19.以下PCRE正则表达式在php中能与哪个选项匹配? '/\*+\\\+/'

A、aaa\+

B、***\+

C、****\

D、**\+

20.与document.getElementById("myHeader")具...

与document.getElementById("myHeader")具有同样效果的jQuery选择器是()

A、$("myHeader")

B、$(".myHeader")

C、$("#myHeader")

D、都不正确

21.在实际使用中,下面哪一个可以很方便的获得页面中定义的HTML对象?()

A、document.GetElementsByTagName

B、document.getElementByTagNames

C、document.getElementsById

D、document.getElementById

 如果你现在正在纠结是否继续学前端,如果你害怕半途而废不知道从何开始,如果你觉得这篇文章对你还是有很大帮助的话,不介意的话可以加下我刚刚建立的一个学习交流群,有很多相关资料答案和学习视频:907694362

22.表示有序列表的是

A、ul

B、dl

C、li

D、ol

23.文本文件和二进制文件的存取,错误的是?

A、用记事本打开二进制文件时, 出现乱码是很必然了

B、二进制文件还是文本文件, 在存储时都是一连串的0和1

C、打开方式是一样的

D、二进制文件最小单位则是位

24.下面哪一种属于“creational”的设计模式?

A、Façade

B、Singleton

C、Bridge

D、Composite

E、上面都不是

25.哪一个不是浏览器默认的天生inline-block标签(拥有内在尺寸,可设置高宽,不会自动换行)?

A、<button>

B、<input>

C、<label>

D、<img>

二、多选题(共5题,每题5分)

1.GET方法与POST方法的区别

A、区别一: get重点在从服务器上获取资源,post重点在向服务器发送数据;

B、区别二: get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的; post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;

C、区别三: Get传输的数据量小,因为受URL长度限制,但效率较高; Post可以传输大量数据,所以上传文件时只能用Post方式;

D、区别四: get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等; post较get安全性较高;

参考答案:ABCD

答案解析:

abcd都对,还有 区别五: get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。 post支持标准字符集,可以正确传递中文字符。

2.关于focus/blur与focusin/focusout的描述,正确的有?

A、focus/blur冒泡,focusin/focusout不冒泡

B、focus/blur兼容性好,focusin/focusout在除FireFox外的浏览器下都保持良好兼容性,如需使用事件托管,可考虑在FireFox下使用事件捕获elem.addEventListener('focus', handler, true)

C、可获得焦点的元素: window 、链接被点击或键盘操作、表单空间被点击或键盘操作

D、设置tabindex属性的元素被点击或键盘操作并不会获得焦点

3.下列JS框架中,系列不包含开箱即用的UI控件和小部件的是()

A、MooTools

B、ExtJS

C、jQuery

D、YUI

4.input元素的 type 属性的取值可以是()

A、image

B、checkbox

C、select

D、button

参考答案:A,B,D

答案解析:input的type 属性取值总结:

 

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

A、span

B、div

C、p

D、img

参考答案:B,

答案解析:

img是内联元素  

 

 如果你现在正在纠结是否继续学前端,如果你害怕半途而废不知道从何开始,如果你觉得这篇文章对你还是有很大帮助的话,不介意的话可以加下我刚刚建立的一个学习交流群,有很多相关资料和学习视频:907694362

2019年百度前端工程师面试题及答案解

全文结束