头条面试题


title: 头条面试题 date: 2019-11-16 16:26:56

tags: 面试题

第一套

  1. 替换元素与非替换元素,差异?

  2. offsetWidth,clientWidth,scrollwidth 区别

  3. Dom 标准事件模型是什么?是否所有的事件都支持冒泡?如果不是,举例说明.

  4. css 选择器的优先级

  5. 简述什么是 IFC,作用

  6. 用 CSS 实现自适应正方形

  7. Http://toutiao.comhttp://mp.toutiao.comajax请求,跨域了吗?mp.toutiao.com的服务器可以收到请求吗,是怎样的请求?

  8. XSS 和 CRSF 分别是什么?有什么联系?如何防御?

  9. 关于 js Bridge

    1. 是什么?
    2. 实现原理
    3. 优化方案
  10. TCP/UDP 是什么?有什么区别?如何进行拥塞控制?

  11. 请用算法实现.从给定的无序,不重复的数组 A 中,取出 N 个数,使其相加和为 M.并给出算法的时间空间复杂度.

第二套

  1. ES5 和 ES6 的继承有什么区别?
  2. Web 动画的几种常见方式
  3. POST 提交数据的几种常见 content-type
  4. 如何定义一个方法,通过调用把视频的一帧生产预览图
  5. 什么是重放攻击,列举几个防御手段.

编程题

  1. 实现一个函数 sum,运算结果满足如下预期结果:
1
2
3
4
1.	sum(1,2,3).valueof(); //6
2. sum(2,3)(2).valueof(); //7
3. sum(1)(2)(3)(4).valueof(); //10
4. sum(2)(4,1)(2).valueof(); //9
  1. 实现一个优先队列,使得可以这样使用.
1
2
3
4
5
6
7
8
9
1.	Const priorityQuene = new PriorityQuene()
2. priorityQuene.enquene(‘优先级2-1’,2)’
3. priorityQuene.enquene(‘优先级1-1’,1)’
4. priorityQuene.enquene(‘优先级1-2’,1)’
5. priorityQuene.enquene(‘优先级3-1’,3)’
6. priorityQuene.enquene(‘优先级2-2’,2)’
7. priorityQuene.enquene(‘优先级1-3’,1)’
8. priorityQuene..print(); //按优先级顺序输出
9. priorityQuene.dequene(); //出队
  1. 硬币找零问题:

有面额为 d1…dn 的硬币,和要找零的钱数,找出所需最小硬币个数的方案,

例如,美国有以下面额的硬币: d1=1,d2=5,d3=10,d4=25.如果要找 36 美分.,所需最少硬币是[1,10,25],即满足如下输出:

1
2
3
4
const miniCoinChange = new MinCoinChange(1,5,10,25));
console.log(minCoinChange.makeChange(36)) //[1,10,25]
const minCoinChange2 = new MinCoinChange([1,3,4]
console.log(minCoinChange2.makeChange(6); //[3,3]