头条前端面试

头条前端面试题

前两天收到头条的面试邀请,面完后回忆起大部分面试问题,供大家参考一下

一面

  1. line-height,区别,rem

    1
    2
    3
    4
    line-height:26px;
    line-height:1.5;
    line-height:150%;
    line-height:1.5rem;
  2. setTimeout, requestAnimationFrame 区别,setTimeout没有设置时间的区别

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    setTimeout(function () {
    setTimeout(function () {
    console.log(1)
    }, 100);
    console.log(2);
    setTimeout(function () {
    console.log(3)
    }, 0)
    }, 0)
    setTimeout(function () {
    console.log(4)
    }, 100);
    console.log(5)
  3. 实现String duplicate

  4. transform: translateZ(0);
  5. 输出

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    // 1
    window.name = 'ByteDance';
    class A {
    constructor() {
    this.name = 123;
    }
    getA() {
    console.log(this);
    return this.name + 1;
    }
    }
    let a = new A();
    let funcA = a.getA;
    funcA();

    // 2
    var length = 10;
    function fn() {
    alert(this.length);
    }
    var obj = {
    length: 5,
    method: function (fn) {
    fn(); //?
    arguments[0](); //?
    }
    };
    obj.method(fn);
  6. 柯理化实现

  7. 前端渲染模版实现
  8. http头部,浏览器怎么判断请求结束content-length
  9. TCP协议介绍
  10. BFC实现、作用
  11. position的新增属性
    1
    2
    3
    10:28:04 系统: 面试官已经进入173666号房间
    10:28:16 系统: 当前通话配置:高清模式 + 标准通道
    11:17:25 系统: 面试官已经离开173666号房间

二面

HTML

  • window.onload和document.ready的区别
  • iframe,如何在页面中改变另一个iframe的样式
  • 尽可能多的方法隐藏一个html元素

CSS

  • 盒模型,IE盒模型和标准盒模型,如何改变
  • 选择器优先级(内联样式在何处)
  • LESS和SCSS的好处

JS

  • 请为所有数组对象添加一个findDuplicate(n)方法,用于返回该数组中出现频率>=n的元素列表

    1
    2
    3
    [1,2,3,4,1,2,2,2].findDuplicate(2) => [1,2]
    [1,2,3,4,1,2,2,2].findDuplicate(5) => []
    [1,2,3,4,1,2,2,2].findDuplicate(-1) => [1,2,3,4]
  • 箭头函数的好处

  • 判断数组
  • 原型链中prototype和–proto–分别指什么
  • require和import的区别
  • class实现原理
  • async和await实现原理
  • node中事件队列模型
  • fetch api
  • HTTP和HTTPS的区别,如何升级成HTTPS
  • 如何让网页离线后还能访问
  • 强缓存和协商缓存

其他

  • vue中用到的设计模式
  • 常见的loader和plugin,loader和plugin的区别
  • 你的简历中有什么亮点,介绍一下
# 面试

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×