2019年滴滴出行前端工程师面试题(附答案)
程序猿的日常1
一、单选题(共26题,每题5分)
1.在进行金融业务系统的网络设计时,应该优先考虑() 原则。
A、先进性
B、开放性
C、经济性
D、高可用性
参考答案:D
答案解析:
网络设计一般要遵循一些原则,包括:先进性:建设一个现代化的网络系统,应尽可能采用先进而成熟的技术,应在一段时间内保证其主流地位,但是太新的技术,也有不足之处:意识有可能不成熟;而是标准可能还不晚辈、不统一;三是价格高;四是技术支持力量可能不够。开放性:采用国际通用的标准和技术获得良好的开放性,是网络互连互通的基础经济型:在满足需求的基础上,应该尽量节省费用高可用性:系统要有很高的平均无故障时间和尽可能低的平均故障率,一般需要采取热备份,冗余等技术。金融系统涉及银行、众多储户的资产信息,其数据重要、敏感、数据量庞大,必须保证数据的绝对安全,同时要保证系统小的响应时间、很高的服务成功率,而且服务要完整、不间断,故障恢复能力强,整个系统要具有非常高的可用性和可靠性,并不追求采用先进的技术,另外,一般金融系统都是封闭运行的,开放性也不需要放在优先考虑的地位,因此在进行有关金融系统给的网络设计时,高可用性是首要考虑的原则。
2.以下实例中 JavaScript 嵌入 HTML 的方式为()
<html> <head><title> 欢迎您的光临! </title> <script language=”JavaScript”> …</script></head> <body></body></html>
A、作为应用程序嵌入
B、直接嵌入HTML窗口或链接中
C、使用SRC属性应用外部脚本文件
D、脚本置于<script></script>标记中间
3.设置文字颜色应使用属性
A、font-family
B、font-color
C、color
D、font
参考答案:C
4.要让"p1" 元素首先会变为红色,然后向上滑动,然后向下滑动,最好的做法是
A、$("#p1").css("color","red").slideUp(2000).slideDown(2000);
B、$("#p1").css("color","red");<br>$("#p1").slideUp(2000);<br>$("#p1").slideDown(2000);
C、$("#p1").attr("color","red").slideUp(2000).slideDown(2000);
D、$("#p1").attr("color","red");<br>$("#p1").slideUp(2000);<br>$("#p1").slideDown(2000);
参考答案:A
答案解析:A css一般用css() Chaining 允许我们在一条语句中允许多个 jQuery 方法(在相同的元素上)。
提示:这样的话,浏览器就不必多次查找相同的元素。
如需链接一个动作,您只需简单地把该动作追加到之前的动作上。
5.使用CSS来格式化网页,共有三种方式,以下哪一种不是:
A、在HEAD中引用
B、作为标记来引用
C、在BODY中引用
D、作为文件来引用
参考答案:C
答案解析:这题也是,根本没说清楚题目
6模糊测试(Fuzz testing)是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法,是用于系统安全漏洞发掘的重要技术。模糊测试的测试用例通常是 (10)
A、预定数量的字符串
B、预定长度的字符串
C、模糊集的隶属度
D、随机数据
参考答案:D
7.以下那个前端框架不是 MVVM 的模式
A、Angular
B、React
C、Ember
参考答案:B
答案解析:Ember明明是MVC啊。。什么乱七八糟的题目
8.下面不属于ajax事件的是?
A、ajaxComplete(callback)
B、ajaxSuccess(callback)
C、$.post(url)
D、ajaxSend(callback)
参考答案:C
答案解析:
$.post(url)是ajax请求;
ajax的事件是:
ajaxComplete(callback) ajaxError(callback) ajaxSend(callback) ajaxStart(callback) ajaxStop(callback) ajaxSuccess(callback)
9.下面哪几种不属于jquery文档处理的?()
A、包裹
B、替换
C、删除
D、内部和外部插入
参考答案:C
10.以下不属于jquery数组函数的是?
A、Array.search
B、Array.join
C、Array.length
D、Array.reverse
参考答案:A
答案解析:array.reverse 用对象的方法将颠倒数组中元素的顺序 Array.length 取得数组的长度 Array.join 将数组元素连接起来以构建一个字符串,—个字符串,通过把array的每个元素转换成字符串,然后把这些字符串连接起来
11.JavaScript中通过navigator.userAgent获取到的是:
A、用户浏览器信息
B、用户代理信息
C、用户地理位置
D、用户IP地址
12.下面代码执行结果正确的是
下面代码执行结果正确的是
< ?php $j = 5;switch ($j) { default:echo "no result"; case 1:echo "周一"; case 2:echo "周二"; case 3:echo "周三"; case 4:echo "周四"; case 5:echo "周五"; case 6: case 7:echo "周末";}
A、周五
B、周五周末no result
C、周五周末
D、语法错,没有运行结果
13下列JavaScript代码中,能够在1秒之后执行表达式exp的是()
A、window.setTimeout(1000,exp);
B、window.setTimeout(exp,1000);
C、window.setTimeout(exp,1);
D、window.setTimeout(1,exp);
14.以下 jquery 对象方法中,使用了事件委托的是
A、bind
B、mousedown
C、click
D、change
E、on
15.因特网用户大多数情况下都是通过浏览器访问网页的,浏览器采用超文本传输协议与Web服务器进行通信。超文本传输协议的英文缩写是
A、 HTML
B、 URL
C、 HTTP
D、 FTP
16.在HTML5中,哪个元素用于组合标题元素?
A、<group>
B、<header>
C、<headings>
D、<hgroup>
17.数字签名 elgamal算法的原理是?
A、扩展欧几里得定理
B、中国剩余定理
C、欧拉定理
D、拉斐尔定律
参考答案:A
答案解析:
Elgamal数字签名主要是利用离散对数的特性来实现签名,具体方式如下:
选择一个大素数P、一个本原元G、一个随机整数d,d属于[2,p-2];
生成β,β=G^d mod P;
此时P、G、β就是公钥,记作Kpub;
Elgamal数字签名记作sig(x,k)=(r,s); x是明文的摘要,k是临时私钥的随机值,记作Kpr,r,s是构成签名的两个整数;
签名生成: r=G^k mod P; s=(x-dr)k^-1 mod (p-1);
生成签名后,签名随明文一起发送给接收方;
接收者收到消息后计算 t=β^r · r^s mod P
验证:当t≡G^x modP 则该签名有效,数据未被篡改,反之则签名无效;
18.JS面向对象原则说法错误的是?
A、里氏代换原则
B、依赖原则
C、替换原则
D、工厂化原则
参考答案:D
答案解析:JS面向对象原则:单一功能原则、开放封闭原则、替换原则(里氏代换原则)、依赖原则、接口分离原则、迪米特原则
19.下面有关jquery事件的响应,描述错误的是?
A、onclick 鼠标点击某个对象
B、onfocus 元素失去焦点
C、onload 是某个页面的css js html 文档结构和图像被完成加载
D、onmousedown 某个鼠标按键被按下
参考答案:B
答案解析:onfocus 获得焦点 onblur 失去焦点
20.可以不用Web服务器解析就能在本地计算机上正确浏览的页面编写语言是()
A、HTML
B、JSP
C、ASP
D、PHP
参考答案:A
答案解析:静态网页不需要Web服务器,在本机浏览器上就能浏览, 故本题的答案为A。
21.下列关于web页面级优化描述最正确的是____。
A、减少HTTP请求的次数
B、进行资源合拼和压缩
C、Inline images
D、将外部脚本置于低端
E、减少不必要的HTTP跳转
F、以上描述都对
22.以下对form表单中input元素的readonly与disabled属性描述正确的是?( )
A、Readonly为真时,脚本无法修改input的值
B、Disabled为真时,脚本无法修改input的值
C、Readonly为真时,input的值不会随着表单提交
D、Disabled为真时,input的值不会随着表单提交
23.使用jQuery在一个元素前面插入另外一个 ,下面选项哪个是正确的 ?
A、$('#Div').push('<div>text</div>');
B、$('#Div').add('<div>text</div>');
C、$('#Div').before('<div>text</div>');
D、$('#Div').shift('<div>text</div>');
24.如果想在一个指定的元素后添加内容,下面哪个是实现该功能的?
A、append(content)
B、appendTo(content)
C、insertAfter(content)
D、after(content)
参考答案:D
答案解析:apend与apendTo就如同after与insertAfter,表达意思相同,表达不同。A.after(B)=B.insertAfter(A)。apend在元素里面添加,after在元素外面添加。
25.获取 input 节点的正确方法是( )
<form class="file" name="upload"> <input id="file" name="file"></input></form>
A、document.querySelectorAll('file')[0]
B、document.getElementById('file')[0]
C、document.getElementByTagName('file')[0]
D、document.getElementsByClassName('file')[0]
参考答案:D
答案解析:全错了 , fuc\*
26.在面向对象软件开发过程中,采用设计模式 () 。
A、允许在非面向对象程序设计语言中使用面向对象的概念
B、以复用成功的设计和体系结构
C、以减少设计过程创建的类的个数
D、以保证程序的运行速度达到最优值
参考答案:B
答案解析:B。
设计模式的出现就是为了代码复用,增加可维护性。
二、多选题(共4题,每题5分)
1.css 中可继承的属性有哪些
css 中可继承的属性有哪些
A、height
B、font-size
C、border
D、width
E、color
参考答案:B,E
答案解析:肯定有很多人不知道什么是继承,继承就是指子节点默认使用父节点的样式属性。
不可继承的属性太多了不要背,记住可以继承的属性有哪些就行了。可以继承的属性很少,只有颜色,文字,字体间距行高对齐方式,和列表的样式可以继承。这么来记很轻松的呀!不要被下边的吓到了哦~
``` ```
所有元素可继承:visibility和cursor。
内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction。
终端块状元素可继承:text-indent和text-align。
列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。
```
</div>
2.下列哪些是CSS3的新特性?
A、多列排版
B、渐变
C、变换(平移,缩放,旋转)
D、伪元素
参考答案:A,B,C
答案解析:
A、B、C。
多版排列 --- column-count:3;文本分隔为3列; column-gap:20px;规定列之间 20 像素的间隔; column-rule:3px outset #ff0000;规定列之间的宽度、样式和颜色。 渐变 --- background: -webkit-gradient(linear, left top, left bottom, from(#96ff00), color-stop(0.5, orange), to(rgb(255, 0, 0)));线性渐变使用from()以及to()方法指定过渡颜色点。 变换 --- ①平移。 transform: translateX( x );定义转换,只是用 X 轴的值。 transform: translateY( y );定义转换,只是用 Y 轴的值。②缩放。transform:scale( x , y );定义 2D 缩放转换。③旋转。transform: rotate( angle );定义 2D 旋转,在参数中规定角度。
3.以下关于同源策略的说法错误的是
A、js、css资源不受同源策略限制
B、两个页面的域名和端口相同,则这两个页面同源
C、服务端也受到同源策略限制
D、放开同源策略会导致巨大安全隐患
4.下列哪些功能可以通过Cookie来实现?( )
A、记录访问者的信息
B、在页面之间传递信
C、自动识别用户
D、对数据库进行操作
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。