360前端面试题A卷

作者: 苏敏 | 来源:发表于2018-02-08 16:07 被阅读181次

笔试

  1. 以下结果返回true的是()
  • A. 1 === '1'
  • B. !![]
  • C. !!''
  • D. null === undefined
  1. typeof new Array() 表达式的结果是:

  2. 以下代码,alert出的值是多少:

window.val = 1
var json = {
    val: 10,
    dbl: function(){
        this.val *= 2
}
}
json.dbl()
var dbl = json.dbl
dbl()
json.db.call(window)
aerlt(window.val, json.val)
  1. 以下代码,alert出的值是多少:
function C1(name) {
    if (name) this.name = name
}

function C2(name) {
    this.name = name
}

function C3(name) {
    this.name = name || 'John'
}

C1.prototype.name = 'Tom'
C2.prototype.name = 'Tom'
C3.prototype.name = 'Tom'
alert(new C1().name + ' ' + (new C2().name) + ' ' + (new C3().name))
  1. 小明要实现一个效果,在控制台每隔1s打印0,1,2,3,4,以下代码有问题,该如何修改?
for (var i = 0; i < 5; i++) {
    setTimeout(function() {
        console.log(i)
    }, 1000 * i)
}
  1. 优化下面这段代码
function foo(arr) {
    if (arr == null) arr = [];
    ......
}
  1. 实现一个JavaScript函数,对指定的整数数组,返回任意两个数为10的所有结果

例如: [-1, 9, 2, 8, 3, 11, 1, 7...] 返回 [[-1, 11], [9, 1], [2, 8], [3, 7]...]

  1. pause 函数可以让一个函数暂停运行一段时间 (ms) 后继续运行,例如:
async function run() {
    console.log('Hello');
    await pause(1000) // 续一秒
    console.log('World') // 一秒后继续运行
}

请完成 pause 函数的编写

  1. 大概描述一下制作一个网页的工作流程

面试:

我记住多少说多少,这个也是因人而异,仅做参考,我没什么框架基础,所以面试没怎么问框架的东西

  1. 第六题代码优化你有什么思路
  2. 说一说第七题的思路
  3. js如何改变指针,(解释一下,这里面试官和我聊了Java后引出的内容,js并没有指针,他的意思是js如改变this指向)答完又继续问call,apply和bind的区别
  4. js的原型以及继承(原话不记得了,达意即可)
  5. 你自认为比较好的项目,讲一讲你做的比较好的部分
  6. 有没有看过jQuery的源码,讲一讲自定义事件如何实现
  7. 了解链式操作吗?知道怎么实现的吗?
  8. class关键字是如何实现的
  9. 你们项目的工作流程怎么样,如何实现多人协同开发
  10. 说到定时器看一下第八题你有什么思路(我说了一个setInterval,面试官不满意,提示了一下Java中的sleep可以实现)

11.new操作干了什么

大概就是这样吧

相关文章

网友评论

    本文标题:360前端面试题A卷

    本文链接:https://www.haomeiwen.com/subject/ffettftx.html