2019年百度前端工程师面试题(附答案)
程序猿的日常1
一、单选题(共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>
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
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是内联元素
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。