本文目录

美丽联合 前端工程师面试题

🌙
手机阅读
本文目录结构

美丽联合 前端工程师面试题

以下选项,全部属于块级元素的一项是? ( )

正确答案: B

li / p / img / blockquote
div / pre / h1 / form
form / strong / span / ul
fieldset / section / canvas / a

下列js可以让一个input的背景颜色变成红色的是?

正确答案: A

inputElement.style.backgroundColor = 'red';
inputElement.backgroundColor = 'red';
inputElement.style.backgroundColor = '#0000';
inputElement.backgroundColor = '#0000';

下面CSS3新增伪类中不正确的一个是?

正确答案: B

p:first-of-type
p:only-of-child
p:nth-child(2)
:disabled

下面代码的运行结果是

https://uploadfiles.nowcoder.com/images/20170919/300823_1505813582351_54F3F337FB2260A3F282218A6A41AC14

正确答案: C

1,2,3
1,1,1
4,4,4
3,3,3

“abcdefg”.substring(____)的结果是”c"

正确答案: C

3, 4
2, 4
2, 3
1, 2

以下可以设置表单元素为必填项的是

正确答案: B

request
required
require
not null

网页中颜色rgb(255,0,0)转换为16进制写法正确的是

正确答案: B

#FFFF00
#F00
#500
#F0F0F0

请填入数字,使得输出结果为 1234567

https://uploadfiles.nowcoder.com/images/20170919/300823_1505813368975_AB0BA8D10F61EDE4F9BC5384E0EA31F1

正确答案: D

1526374
1327465
1237456
1527364

向当前#list的最后元素之后添加100个新的li节点,合理的操作方式是?

正确答案: D

通过循环方式创建新的li节点,并依次添加到#list中
先将#list节点的display设置为none,通过循环方式创建新的li节点,并依次添加到#list中,最后再将#list节点的display设置为block
取出#list中现有的li节点的html,将它与新增的li节点对应的html代码拼接成字符串,一次性插入到#list中
创建Fragment,通过循环方式创建新的li节点,添加到Fragment中,最后再将Fragment添加到#list中

以下的代码,从上到下img标签的背景色依次是

正确答案: C

blue / red / blue / red / blue / orange
blue / red / blue / red / blue / blue
blue / red / blue / blue / red / blue
red / blue / blue / blue / blue / red

以下说法中错误的是

正确答案: A B D

当元素的 position属性设置为 relative 时,设置的 top、right、bottom、left 偏移值是相对于其父元素的。
当元素的 position属性设置为 absolute 时,设置的 top、right、bottom、left 偏移值是相对于其父元素的。
网页中,rem 作为元素尺寸单位时,是相对 文档根节点的 font-size 进行计算的。
在Microsoft Internet Explorer 中,盒模型默认使用的是 border-box。

下列不等于true是

正确答案: A B C

undefined === null
var i = 2; ++i == 2
1 === '1'
"" == 0

以下能用来设置网页数值的单位的是

正确答案: A B D

%
px
vm
rem

以下说法中正确的是

正确答案: A C

canvas 中绘制的元素不可以通过浏览器提供的接口获取到。
SVG 中绘制的元素不可以通过浏览器提供的接口获取到。
html 中 A标签 target 属性的默认取值是 _self,默认在当前窗口打开。
为了优化网页的SEO效果,常用 javascript 动态生成网页的title、description、keyword。

以下结果等于字符串string的是

正确答案: A B D E F

typeof 'string'
String('string').toString()
'string'.split('').sort().join('')
(function(string){return string})('string')
JSON.parse('{"string":"string"}').string
'string'.toLocaleLowerCase()

以下关于箭头函数的说法正确的是

正确答案: A B

箭头函数不可以作为构造函数使用。
箭头函数不绑定自己的this指针。
箭头函数绑定自己的 arguments。
箭头函数只能作为匿名函数使用。

关于栈(stack)和堆(heap),下列说法正确的是

正确答案: A B C

基本类型存放在栈(stack)中
引用类型存放在堆(heap)中
指向引用类型的地址存放在栈(stack)中
栈是一种FIFO(先进先出)的数据结构

以下关于JSON的说法错误的是

正确答案: A C

JSON 是 javascript 的子集。
JSON中属性名称必须是双引号字符串。
JSON中属性前可以加双引号进行注释
JSON最后一个属性后面不能有逗号

同源策略指哪几部分相同

正确答案: A B C

domain
port
protocal
path

以下关于同源策略的说法错误的是

正确答案: B C

js、css资源不受同源策略限制
两个页面的域名和端口相同,则这两个页面同源
服务端也受到同源策略限制
放开同源策略会导致巨大安全隐患

以下描述正确的是?

https://uploadfiles.nowcoder.com/images/20170919/300823_1505814727829_70CD04AB42DA43E9BE917815F8C6E2E9

正确答案: C D

a1与a2是通过构造函数A实例化得到的两个对象,且a1.foo()与a2.foo()调用的是同一个方法
代码最末尾处对a1.bar进行修改,A.prototype上的bar也被修改
调用a2.bar,会顺着原型链查找到A.prototype.bar并调用它
如果继续在代码尾部修改A.prototype.bar,a1.bar不受影响

在前端开发过程中使用 use strict 模式的目的是什么?

正确答案: A B C D

消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为
消除代码运行的一些不安全之处,保证代码运行的安全
提高编译器效率,增加运行速度
为未来新版本的Javascript做好铺垫

HTTP协议中可以控制缓存的有哪些?

正确答案: A B C D

cache-control
Expires
Last-Modified
ETag

以下对Javascript作用域链的理解正确的是?

正确答案: A B C

作用域链的作用是保证执行环境里有权访问的变量和函数是有序的
作用域链的变量只能向上访问
变量访问到window对象即被终止
作用域链也是允许向下访问变量的

正确答案: A B C D

cookie数据存放在客户的浏览器上,session数据放在服务器
cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie

声明var a = b = true;,下列b等于true的是

正确答案: A C

if( a === b ){ b = !false; }
while (a == true) { b = a = false; }
b = a === false ? false : true;
for(var i = 0;i<3; i++){b=i%2==a;}

下列无效的CSS选择器的是

正确答案: C H

.className a
.className .a
a.className a
a.className .a
span[data-type=1]
.className:first-child
div:before
i:span

关于XML和JSON区别的描述正确的是

正确答案: A B D

JSON相对于XML来讲,数据的体积小,传递的速度更快些
JSON与JavaScript的交互更加方便,更容易解析处理,更好的数据交互
JSON对数据的描述性比XML较好
JSON的速度要远远快于XML

以下代码,想要实现 a.add() 计算 a.x+a.y 的值,以下可行的方式有

https://uploadfiles.nowcoder.com/images/20170919/300823_1505815100948_5D4B38F93E26C17B6C64B0E2D491407D

正确答案: A B D

b.add.call(a);
b.add.apply(a);
b.add.excute(a);
b.add.bind(a);

下列哪些情况可触发reflow

正确答案: A D

改变任何元素的width/height
改变background-color
visibility:hidden
改变font-size

试着编写一个 arrayMerge() 函数,实现该函数被调用时,传递任意数量的数组,返回一个合并后的数组(可不局限于一种实现)。

请用代码实现如下倒计时组件(包括HTML,JS,CSS代码),要求:支持单页面多次调用及移动端显示;

https://uploadfiles.nowcoder.com/images/20170919/300823_1505815434450_A7F8C4B78223CB0BC5C95DC5B0C231CB

参考

https://www.nowcoder.com/test/8972700/summary

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

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

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

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

关注我: Github / 知乎

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

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

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

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

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