考试时间:2017-09-02-提前批内推-笔试

1)

测试代码如下:

var a = {};
b = { key: 'b' };
c = { key: 'c' };
a[b] = 123;
a[c] = 456;
console.log(a); //{ '[object Object]': 456 }​​​​​
console.log(a[b]); //456

a[b]通过索引’[object Object]'获取到对象a的一个属性。之所以结果是456,是因为a[b]a[c]获取到的是同一个属性,a[c]=456这行代码覆盖了原有属性。

选D

测试代码

(function() {var a = b = 3;
})();console.log(typeof a !== 'undefined'); // false
console.log(typeof b !== 'undefined'); // true

var a = b = 3 这段代码是从右往左执行的。先执行b =3 , 由于b在函数内未声明,所以被认为是全局变量,所以可以外部被访问,变量a在函数内被声明,所以在外部访问不到。

选A

console.log(NaN == NaN); //false
console.log(NaN === NaN); //false
console.log(undefined == null); //true
console.log(undefined === null); //false

关于NaN:

NaN compares unequal (via ==, !=, =, and !) to any other value – including to another NaN value.

选C

<!DOCTYPE>
<html><head><style></style>
</head><body><input id="target" type="text"><script>var input = document.getElementById('#target');target.onmousedown = function() {console.log('onmousedown');}target.onmouseup = function() {console.log('onmouseup');}target.onclick = function() {console.log('onclick');}target.onfocus = function() {console.log('onfucs');}</script>
</body></html>

测试结果

onmousedown
onfucs
onmouseup
onclick

选C

var a1 = 111;
console.log(a1); //111
console.log(a2); // undefined
console.log(a3); // a3 in not defined
var a2 = 222;
a3 = 333;

var关键字的作用是声明提升。如果只是赋值a3=333并不能提升声明。而且提升的只是声明部分,不包括赋值。

选A

6)

看文档

new Date();
new Date(value);
new Date(dateString);
new Date(year, month[, date[, hours[, minutes[, seconds[, milliseconds]]]]]);

Parameters

value
Integer value representing the number of milliseconds since 1 January 1970 00:00:00 UTC, with leap seconds ignored (Unix Epoch; but consider that most Unix time stamp functions count in seconds).

dateString
String value representing a date. The string should be in a format recognized by the Date.parse() method (IETF-compliant RFC 2822 timestamps and also a version of ISO8601).

year
Integer value representing the year. Values from 0 to 99 map to the years 1900 to 1999. See the example below.

month
Integer value representing the month, beginning with 0 for January to 11 for December.

date
Optional. Integer value representing the day of the month.

hours
Optional. Integer value representing the hour of the day.

minutes
Optional. Integer value representing the minute segment of a time.

seconds
Optional. Integer value representing the second segment of a time.

milliseconds
Optional. Integer value representing the millisecond segment of a time.

new Date(dateString);这种方式实则调用Date.parse(),所以是这样的:

new Date(Date.parse(dataString))

而Date.parse()这个函数在不同浏览器上的行为是不一样的,所以不符合题意。

选A

各种黑科技啊

console.log(1 + '2' + '2'); //122
console.log(1 + +'2' + '2'); //32
// + 是一元操作符 +'2' 实则调用Number('2');
console.log(1 + -'1' + '2'); //
// - 也是一元操作符,和+一元操作符相比,除了正负不同,其他同理
console.log(+'1' + '1' + '2'); //112
console.log('A' - 'B' + '2'); // NaN2
// 'A'-'B' 调用toString(), NaN-NaN -> NaN,然后字符串拼接
console.log('A' - 'B' + 2); //NaN + 2 -> NaN

选D

8)

只有在同一个元素上相继触发mousedown和mouseup事件,才会触发click事件,所以

选D

9)

直接看结果:

答案是都可以的,为什么呢。

setInterval和setTimeout一样,不能保证程序从什么时候开始执行。它内部的代码会进入一个消息队列,要等到执行栈空闲,且该代码在消息队列队首才会执行,所有是有延迟的。

其中涉及JS异步编程的原理。详见:JavaScript异步编程的原理

选D

<!DOCTYPE>
<html><head><style>.one {z-index: 0;}.two {opacity: 0;}.three {width: 0;height: 0;}</style>
</head><body><div class="one">hello world one z-index</div><div class="two">hello world two opacity</div><div class="three">hello world three height = width = 0</div><script></script>
</body></html>

测试结果:

选B

另:如何使得一个不显示,详见 Five Ways to Hide Elements in CSS

11)

关于盒子模型,详见: 盒子模型和box-sizing属性

选D

12)

基本包装类型比较的是对象的地址。

var s1 = new String('zxc');
var s2 = new String('zxc');
console.log(s1 == s2);//false
console.log(s1 === s2);//false

请读者自行查阅文档,还是很简单的。

选B

这个可以查阅文档:推荐书籍《图解HTTP》

选ABCD

15

一切引起改变元素位置和几何的属性变化都会引起回流

详见 :网页性能管理详解

选ABCD

考察排序算法稳定性,很简单。

选A,D

我对HTTP2.0不是很了解,详见:拼多多考试总结

另外:在HTTP/1,gzip用来压缩请求体,HTTP2.0用了新技术压缩请求头,但不是gzip,详见HTTP/2 头部压缩技术介绍

选BCD

18)

选ACD

《JS高级程序设计》第2版P145提到了new关键字,new使用时会创建一个新对象,并将构造函数作用域赋给了新对象(因此this指向了新对象)

详见:
事件处理中的this:attachEvent, addEventListener, onclick

【重难点】js中this关键字的指向

闭包实现

//实则是个闭包
function mul(num) {return function(num2) {return function(num3) {return num * num2 * num3;}}
}
console.log(mul(2)(3)(4));//24

一道算法题

暴力复杂度有O(N^3)这样肯定是不行的。

网上找到一种效率更高的,见 此文, 搜O(n2)定位

校招拼多多笔试题(前端工程师)相关推荐

  1. 拼多多笔试题 回合制游戏

    拼多多笔试题 回合制游戏 题目描述 解法1(深度优先搜索) 解法2(数学规律) 昨晚心血来潮,拿了一份校招真题练练手,无奈这道题一直没有AC,只有75%的通过率,用了深度优先搜索+记忆化搜索最终还是会 ...

  2. 多益网络校招笔试题(前端工程师)

    1 写出inline和inline-block的差别: 布局方式相同,唯一的区别在inline-block可以设置宽高,inline不可以.另外:inline设置上下内边距和上下外边距会造成一些mes ...

  3. 2019提前批——拼多多笔试题

    一(85) 给定两个数组A和B.其中数组A是几乎严格升序排列的,几乎的定义是只需改变其 中一个数,即可满足完全升序排列. 你的任务是从数组A中找到这个数字,并从数组B中选取1数将其替换,使得数 组A是 ...

  4. 拼多多笔试题(三):多多的电子字典

    问题描述: 多多鸡打算造一本自己的电子字典,里面的所有单词都只由a和b组成. 每个单词的组成里a的数量不能超过N个且b的数量不能超过M个. 多多鸡的幸运数字是K,它打算把所有满足条件的单词里的字典序第 ...

  5. 拼多多笔试题(一):多多的魔术盒子

    问题描述:  多多鸡有N个魔术盒子(编号1-N),其中编号为i的盒子里有i个球. 多多鸡让皮皮虾每次选择一个数字X(1 <= X <= N),多多鸡就会把球数量大于等于X个的盒子里的球减少 ...

  6. python 拼多多秒杀_关于 拼多多笔试题-简单易懂的秒杀服务

    实现一个简易的秒杀服务,有3个接口: 1. 添加一个秒杀活动 addActivity(int startTime, int endTime, int goodsId, int limitQuantit ...

  7. [Nowcoder] 大整数相乘(拼多多笔试题)

    有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示.不能用系统自带的大整数类型. 输入描述: 空格分隔的两个字符串,代表输入的两个大整数 输出描述: 输入的乘积,用字符串表示 输入例 ...

  8. 拼多多笔试题 回合制角色扮演

    题目描述 你在玩一个回合制角色扮演的游戏.现在你在准备一个策略,以便在最短的回合内击败敌方角色.在战斗开始时,敌人拥有HP格血量.当血量小于等于0时,敌人死去.一个缺乏经验的玩家可能简单地尝试每个回合 ...

  9. 【拼多多笔试题】小熊战斗力

    解题思路 对小熊战斗力进行排序,糖果填充的饥饿值进行排序 遍历小熊,对其需要的饥饿值在谈糖果中进行二分查找,查找的终止条件为,找到小于等于当最接近小熊需要饥饿值得数字,然后小熊的需要饥饿值减去糖果可以 ...

最新文章

  1. 10年IT老兵给新人程序员的几点建议
  2. mysql自动备份脚本,及系统定时备份设置!
  3. Git中pull,commit和push的概念
  4. TypeError: 'float' object is not iterable
  5. DevOps 转型,只有工具是远远不够的!
  6. yourphp添加KindEditor编辑器
  7. 国家开放大学-农村社会学-形考作业4
  8. 采用Xamarin进行ffmpeg调用视频编解码的方法
  9. 计算机二级资料(公共基础知识、考纲、历年真题、VB、Java、Access、C/C++)---百度网盘下载
  10. 如何搜索国外上市企业的财务数据以及年报 1
  11. java long转float_Java中为什么long能自动转换成float类型
  12. centos:清理磁盘空间
  13. 查看windows显卡内存详细信息
  14. c++除法保留小数_小学数学整数和小数的应用题解答方法公式汇总,新学期必备...
  15. 华为手机 标题栏 Notification 8.0 不显示
  16. 标签体系下的用户画像建设小指南
  17. 【Scratch考级99图】图26-等级考试scratch绘制复杂图形旋转三角形 少儿编程 scratch画图案例教程
  18. Python 金融量化 RSI相对强弱指标
  19. 一个北漂女程序员的心中梦想
  20. 信息碎片化爆炸时代,我们究竟失去的是什么?

热门文章

  1. 软件和资源收集(三)
  2. ICP配准MATLAB实现
  3. [剑指Offer]-二叉树的深度
  4. 09_JavaScript数据结构与算法(九)字典
  5. [转载]煮酒论英雄nbsp;-nbsp;漫谈Java数据库存取技术
  6. 语音质量指标Python(PESQ、STOI、SegSNR、LLR、WSS、CD、LSD、CSIG、CBAK、COVL)
  7. div id与div class用法讲解
  8. 帝国建站php,帝国cms支持php吗
  9. 同样的JS效果,有部分页面生效,有部分页面无效的原因(怪异模式)
  10. linux 显卡驱动程序 接口,Linux显卡驱动程序Nvidia 384.59发布,增加对GeForce GT 1030 GPU支持...