58同城2017秋招前端工程师笔试卷
2017-08-15 11:09
531 查看
1、var a=[0];
if(a){
console.log(a==true);
}else{
console.log("wut");
}
结果输出是什么?
答案:false
解:a==true相当于Number(a)==Number(true),而Number([0])是0,Number(true)是1
2、css 属性能够设置盒模型的内边距为上 10px 、下 20px 、左 30px 、右 40px 的合并写法 ____.
答案:padding:10px 40px 20px 30px;
3、当块级元素设置 box-sizing:border-box 属性时,该块级元素的 width 包含哪几个部分?
答案:border、padding、width
4、列举出 3 个 JS 中的基本数据类型。
答案:Number、Null、Undefined、String、Boolean
5、input 的 type 属性值列举 3 个.
答案:text、button、radio、checkbox、file、email、password、submit
6、移动浏览器中,触摸一下屏幕会依次触发哪些事件.
答案:touchstart、touchmove、touchend、touchcancel
7、‘5’+3 等于 ____ , ’5’-3 等于 ____.
答案:53 2
8、常见的浏览器端的存储技术有哪些?
答案:
cookie
localStorage
sessionStorage
indexDB
userData:IE中
9、非严格模式下写出下面表达式结果
parseInt(“123a”)=____.
答案:123
10、var a=[1,2,3,4,5];
a.splice(1,3,5,2,1);
console.log(a);
a 的输出结果 ____.
答案:[1,5,2,1,5]
11、简述css中position属性为absolute和relative的区别。
答案:
absolute:相对于最近的设置了相对定位的父元素进行定位,脱离了文档流
relative:相对于自身在文档流中的位置进行定位,没有脱离文档流
12、简述domready和onload事件的区别?图片的onload和domready和页面onload的先后顺序,并简述原因。【掌握】
答案:dom文档加载的步骤为:
1.解析html结构
2.加载外部脚本和样式表文件
3.解析并执行脚本代码
4.dom树构建完成 // DOMContentLoaded
5.加载图片等外部文件
6.页面加载完毕 // window.onload
DOMready是DOM数加载完毕开始执行
onload是所有脚本、图片等各种资源加载完毕才执行
所以:先domready然后img的ready最后页面的onload。
13、描述一个你在实际项目中有用过什么比较好的布局方式(不拘泥于页面整体布局,页面中某一小版块也行),深入讲解下其中的原理?
答案:传统盒模型、flex弹性布局http://blog.csdn.net/liyangbai/article/details/77198767
14、Ajax是什么?Ajax的交互模型?同步和异步的区别?如何解决跨域问题?
答案:
1、AJAX是异步JS和XML
2、主要用来实现客户端与服务器端的异步通信,实现局部刷新
创建请求调用对象XMLHtt
4000
pRequest对象,创建http请求以及对应的请求方法、参数,
通过window.open方法和window.send方法发起请求,设置请求的状态响应函数,绑定xhr,
即xhr.onreadystatechange,监听状态码,成功时操作响应文本即可。
3、同步和异步的区别:
同步:必须等到当前内容完成才能执行以后的内容;
异步:在执行当前内容时,不必等待,直接执行之后的内容。
4、跨域问题:首先明白同源:域名、端口、协议都相同才是,否则就涉及到跨域问题。
解决跨域:
动态创建script标签,利用其src属性获取JS脚本,JS脚本中的内容是函数调用,其参数是服务器返回的数据,在页面上事先定义好回调函数。利用AJAX从服务器获取数据,在回调函数中处理服务器返回的数据,即将其传递给JS脚本的函数调用。
15、简述instanceof和type的区别?简述 [] instanceof Object的值和原因?
答案:
instanceof:检查当前对象是否是某个对象的实例
typeof:检查某个值是哪个基本类型
[] instanceof Object的值:true
原因:数组是Array的实例,而Array是Object的实例
16、编写一个函数isMerge,判断一个字符串str是否可以由其他两个字符串part1和part2“组合”而成。“组合 ”的规则如下:
1). str中的每个字母要么来自于part1,要么来自于part2;
2). part1和part2中字母的顺序与str中字母的顺序相同。
例如:
"codewars"由"cdw"和"oears"组合而成:
s: c o d e w a r s = codewars
part1: c d w = cdw
part2: o e a r s = oears
完成函数:
function isMerge(s, part1, part2) {
//code here
}
答案:
答案:
小 S,小L,小P,小R和小H 五个人排队站在一个出售’克隆可乐’的自动贩卖机前 ; 队伍中除了他们五个没有其他人 。 队形如下 :
小 S,小L,小P,小R,小H
队列的第一个人 (小S)买了一听可乐,喝下去后变成了两个小S!然后两个小S心满意足的站到了队伍的最后。此时队形变成了这样:
小 L,小P,小R,小H,小S,小S
然后队列中下一个人 (小L)也买了听可乐,喝下去后变成两个人,站到了队伍最后。以此类推。例如小P第三个喝了克隆可乐,之后队伍变成这个样子:
小 R,小H,小S,小S,小L,小L,小P,小P
请问第 n个喝这个饮料的人是谁?
答案:
if(a){
console.log(a==true);
}else{
console.log("wut");
}
结果输出是什么?
答案:false
解:a==true相当于Number(a)==Number(true),而Number([0])是0,Number(true)是1
2、css 属性能够设置盒模型的内边距为上 10px 、下 20px 、左 30px 、右 40px 的合并写法 ____.
答案:padding:10px 40px 20px 30px;
3、当块级元素设置 box-sizing:border-box 属性时,该块级元素的 width 包含哪几个部分?
答案:border、padding、width
4、列举出 3 个 JS 中的基本数据类型。
答案:Number、Null、Undefined、String、Boolean
5、input 的 type 属性值列举 3 个.
答案:text、button、radio、checkbox、file、email、password、submit
6、移动浏览器中,触摸一下屏幕会依次触发哪些事件.
答案:touchstart、touchmove、touchend、touchcancel
7、‘5’+3 等于 ____ , ’5’-3 等于 ____.
答案:53 2
8、常见的浏览器端的存储技术有哪些?
答案:
cookie
localStorage
sessionStorage
indexDB
userData:IE中
9、非严格模式下写出下面表达式结果
parseInt(“123a”)=____.
答案:123
10、var a=[1,2,3,4,5];
a.splice(1,3,5,2,1);
console.log(a);
a 的输出结果 ____.
答案:[1,5,2,1,5]
11、简述css中position属性为absolute和relative的区别。
答案:
absolute:相对于最近的设置了相对定位的父元素进行定位,脱离了文档流
relative:相对于自身在文档流中的位置进行定位,没有脱离文档流
12、简述domready和onload事件的区别?图片的onload和domready和页面onload的先后顺序,并简述原因。【掌握】
答案:dom文档加载的步骤为:
1.解析html结构
2.加载外部脚本和样式表文件
3.解析并执行脚本代码
4.dom树构建完成 // DOMContentLoaded
5.加载图片等外部文件
6.页面加载完毕 // window.onload
DOMready是DOM数加载完毕开始执行
onload是所有脚本、图片等各种资源加载完毕才执行
所以:先domready然后img的ready最后页面的onload。
13、描述一个你在实际项目中有用过什么比较好的布局方式(不拘泥于页面整体布局,页面中某一小版块也行),深入讲解下其中的原理?
答案:传统盒模型、flex弹性布局http://blog.csdn.net/liyangbai/article/details/77198767
14、Ajax是什么?Ajax的交互模型?同步和异步的区别?如何解决跨域问题?
答案:
1、AJAX是异步JS和XML
2、主要用来实现客户端与服务器端的异步通信,实现局部刷新
创建请求调用对象XMLHtt
4000
pRequest对象,创建http请求以及对应的请求方法、参数,
通过window.open方法和window.send方法发起请求,设置请求的状态响应函数,绑定xhr,
即xhr.onreadystatechange,监听状态码,成功时操作响应文本即可。
3、同步和异步的区别:
同步:必须等到当前内容完成才能执行以后的内容;
异步:在执行当前内容时,不必等待,直接执行之后的内容。
4、跨域问题:首先明白同源:域名、端口、协议都相同才是,否则就涉及到跨域问题。
解决跨域:
动态创建script标签,利用其src属性获取JS脚本,JS脚本中的内容是函数调用,其参数是服务器返回的数据,在页面上事先定义好回调函数。利用AJAX从服务器获取数据,在回调函数中处理服务器返回的数据,即将其传递给JS脚本的函数调用。
15、简述instanceof和type的区别?简述 [] instanceof Object的值和原因?
答案:
instanceof:检查当前对象是否是某个对象的实例
typeof:检查某个值是哪个基本类型
[] instanceof Object的值:true
原因:数组是Array的实例,而Array是Object的实例
16、编写一个函数isMerge,判断一个字符串str是否可以由其他两个字符串part1和part2“组合”而成。“组合 ”的规则如下:
1). str中的每个字母要么来自于part1,要么来自于part2;
2). part1和part2中字母的顺序与str中字母的顺序相同。
例如:
"codewars"由"cdw"和"oears"组合而成:
s: c o d e w a r s = codewars
part1: c d w = cdw
part2: o e a r s = oears
完成函数:
function isMerge(s, part1, part2) {
//code here
}
答案:
function isMerge(s,part1,part2){ if(part1.length==0||part2.length==0){ return s==(part1||part2)?true:false; } var arr1=[],arr2=[]; if(part1&&part2){ arr1=part1.split(''); arr2=part2.split(''); for(var i=0;i<s.length;i++){ if(arr1.length&&arr1[0]==s[i]){ arr1.shift(); }else if(arr2.length&&arr2[0]==s[i]){ arr2.shift(); }else{ return false; } } if (arr1.length||arr2.length) { return false; } return true; } }17、编写请给 Array 本地对象增加一个原型方法,它用于删除数字数组中重复的数字(可能有多个),返回值是一个包含被删除的重复条目的新数组
答案:
Array.prototype.delRep=function(){ if(this.length<=1){ return []; } this.sort();//记得一定要排序啊啊啊啊啊···· var arr=[this.shift()]; for(var i=0;i<this.length;i++){ if(this[i]!=arr[arr.length-1]){ arr.push(this.splice(i--,1)[0]); } } return this; }18、【编程题】
小 S,小L,小P,小R和小H 五个人排队站在一个出售’克隆可乐’的自动贩卖机前 ; 队伍中除了他们五个没有其他人 。 队形如下 :
小 S,小L,小P,小R,小H
队列的第一个人 (小S)买了一听可乐,喝下去后变成了两个小S!然后两个小S心满意足的站到了队伍的最后。此时队形变成了这样:
小 L,小P,小R,小H,小S,小S
然后队列中下一个人 (小L)也买了听可乐,喝下去后变成两个人,站到了队伍最后。以此类推。例如小P第三个喝了克隆可乐,之后队伍变成这个样子:
小 R,小H,小S,小S,小L,小L,小P,小P
请问第 n个喝这个饮料的人是谁?
答案:
function getNth(arr,n){ if (n<=arr.length) { return arr[n-1]; } var temp=''; while (n>0) { temp=arr.shift(); arr.push(temp); arr.push(temp); n--; } return temp; }
相关文章推荐
- 去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码
- 2017盛大游戏2017前端工程师校招笔试题总结
- 盛大游戏2017校招前端工程师笔试试卷
- 2017网易游戏春招实习笔试回顾(机器学习工程师岗)
- 华为2017秋招测试工程师笔试试卷
- 今日头条2017后端工程师笔试题
- 2017前端工程师面试题汇总
- 网易2017实习生招聘笔试题 C++开发工程师
- 腾讯web前端开发工程师笔试题及答案
- 58同城2018校招前端笔试题总结
- 4399公司2017秋招前端笔试试卷
- RGB转换实现代码,淘宝前端开发工程师笔试题
- 网易2017校招C++开发工程师(北京)笔试
- 今日头条2017客户端工程师实习生笔试题
- 阿里巴巴2016前端开发工程师笔试(二)
- 2017最新java工程师面试笔试题集锦(二)
- 2017阿里巴巴秋招前端笔试题总结
- 滴滴出行2017春招研发工程师笔试题-翻转单词顺序
- 阿里巴巴2015秋季校园招聘前端开发工程师在线笔试题及答案
- 2017网易实习数据挖掘工程师笔试在线编程题《分饼干》