Skip to content

Latest commit

 

History

History
executable file
·
157 lines (123 loc) · 3.02 KB

2019快手前端社招面经.md

File metadata and controls

executable file
·
157 lines (123 loc) · 3.02 KB

2019 快手前端社招面经

一面

  1. 请写出以下代码执行结果:
    var a = {x: 1}
    var b = a
    a.x = a = {n: 1}
    console.log(a)
    console.log(b)
  1. 请写出以下代码执行结果:
    Function.prototype.a = () => alert(1)
    Object.prototype.b = () => alert(2)
    function A() {}
    const a = new A()
    a.a()
    a.b()
  1. 请写出以下代码执行结果:
    let a = 0
    console.log(a)
    console.log(b)
    let b = 0
    console.log(c)
    function c() {}
  1. 请写出以下代码执行结果:
    var x = 10
    function a(y) {
        var x = 20
        return b(y)
    }
    function b(y) {
        return x + y
    }
    a(20)
  1. 请写出以下代码执行结果:
    console.log(1)
    setTimeout(() => {
        console.log(2)
    })
    process.nextTick(() => {
        console.log(3)
    })
    setImmediate(() => {
        console.log(4)
    })
    new Promise(resolve => {
        console.log(5)
        resolve()
        console.log(6)
    })
    .then(() => {
        console.log(7)
    })
    Promise.resolve()
    .then(() => {
        console.log(8)
        process.nextTick(() => {
            console.log(9)
        })
    })
  1. 请写出以下代码执行结果:
    [1, 2, 3, 4, 5].map(parseInt)
  1. 请写出以下代码执行结果:
    typeof typeof typeof []
  1. 以下 CSS 最终是什么颜色:
    <style>
        div {color: red;}
        #title {color: yellow;}
        div.title {color: blue;}
    </style>
    <div class="title" id="title">abc</div>
  1. 以下 CSS 最终是什么颜色:
    <style>
        .classA {color: blue;}
        .classB {color: red}
    </style>
    <p class="classB classA">123</p>
  1. 请解释以下什么是 BFC, IFC, FFC

  2. visibility: hiddendisplay: none 的区别

  3. CSS 中你所知道的长度单位有哪些,有哪些区别

  4. img 标签的 alttitle 的区别

  5. 如何理解 a11y

  6. 请解释一下 Node 中垃圾回收算法主要有哪些,分别使用在什么场景

  7. 什么是死锁,以及死锁产生的必要条件有哪些

  8. 请实现一个算法,实现数组乱序,要求每个数字出现在每个位置的概率是平均的

  9. 请补充以下代码:

    function add() {

    }
    function one() {

    }
    function two() {

    }
    console.log(one(add(two()))) // 3
    console.log(two(add(one()))) // 3
  1. 请实现一个 cacheRequest 方法,保证当使用 Ajax 请求相同资源时,真实网络层中,实际只发出一次请求(假设已存在 request 方法用于封装 Ajax 请求,调用格式为:request(url, successCallback, failCallback))。比如调用方代码如下:
    // a.js
    cacheRequest('/user', data => {
        console.log('我是从 A 中请求的 user,数据为' + data)
    })
    // b.js
    cacheRequest('/user', data => {
        console.log('我是从 B 中请求的 user,数据为' + data)
    })