# 一面

# 自我介绍

# 离职原因

# 想加入什么样的团队

# 你开发过什么组件?

# 介绍一下?

# 优化过 webpack 的性能?

# 做过什么?

# 讲一下 ts 的重载?以及为什么需要用重载?

# 组件库在迁移的过程中有什么难搞的问题?

# 做过移动端的开发吗?

# 了解移动端的设备适配问题吗?

# finally 在 IOS 8 用不了的原因是什么?

# 笔试题

# 下面这段代码有什么问题

function Father() {
  this.property = true
}
Father.prototype.getFatherValue = function() {
  return this.property
}

function Son() {
  this.sonProperty = false
}

// 继承
Son.prototype = new Father()
Son.prototype.getSonValue = function() {
  return this.soneProperty
}
var instance = new Son()

# 描述一下原型、构造函数、实例之间的关系

# 说一下 instanceof 的原理

# 怎样判断类型

# 下面代码输出什么

function F() {}
F.prototype.arr = [1]
F.prototype.b = 1

let obj1 = new F()
obj1.arr.push(2)
obj1.b = 2

let obj2 = new F()
console.log(obj2.arr, obj2.b)

# 下面代码输出什么

setTimeout(function() {
  console.log(1)
}, 0)

new Promise(function (resolve) {
  console.log(2)
  for(var i = 0; i < 10000; i++) {
    i == 9999 && resolve()
  }
  console.log(3)
}).then(function () {
  console.log(4)
})
console.log(5)

# 地址栏输入URL到页面渲染发生了什么

# 介绍一下强缓存和协商缓存

# HTTPS 能不能做一个中间层,在中间层之间做劫持?有办法避免吗

# 在 a.com 中能发送一个 ajax 请求到 b.com 吗?

# 如何避免页面被别人的 iframe 页面嵌套

# XSS防御

# 除了 XSS 以外,还有什么安全问题

# 假设你的页面加载非常慢,你会怎么判断问题出现在哪?如果是普遍的网络问题,怎样解决?如果不是网络问题,怎么解决?

# 算法题

// a,b 2个有序数组,a的长度小于等于b
// 元素都是整数
// 存在重复元素
// 判断a是否为b的子集
// 例如:
// a: [1, 2, 3] b: [1, 2, 3, 4] 属于
// a: [1, 1, 2, 2] b: [1, 2, 3, 4] 不属于

# 三面

# 算法

分数到小数 (opens new window)

# 判断题

已知一个任意的正整数数组,它满足两个条件:

  • 元素个数是偶数
  • 它所有元素之和为奇数

假定 A、B 两人,依次轮流从数组中取一个数,每次只能从首尾两个中选一个;拿完所有数字后,各自累加持有数字,谁的总和最大,谁胜利。

例如数组 [5, 3, 4, 5]

A 先取首部 5,剩下 [3, 4, 5]

B 再取尾部 5,剩下 [3, 4]

A 再取尾部 4,剩下 [3]

B 最后取 3

结果 A 持有 5、4,总和为 9;B 持有 5、3,总和为 8.

所以 A 胜出。

问:

假如 A、B 都非常理性,A 先手,是否必胜,为什么?

# 计算题

连续抛硬币,直到连续出现2次正面为止,期望的平均抛硬币次数是多少

# 问答题

  • 操作系统的最小操作单元是什么
  • 线程中是否有栈,js的事件调用栈存放在哪里
  • 内存中的动态内存?虚拟内存?还是

# 四面

# SQL题

假设2018年3月到2018年8月期间的员工工资被发现少发了,现在需要你在员工表中查找出对应受到影响的员工。

# 逻辑题

  • 假设你有两颗玻璃球,你需要测出在一栋高100层的楼中,在第几层丢下去玻璃球会刚好破裂,未破裂的玻璃球可以重复使用。
  • 假如幼儿园有100位同学,你有一个共有5条跑道的操场,每条跑道一次能跑一位小朋友,请问如何用最少次数测出跑得最快的3位小朋友。

# 算法题

# 概念题

两个独立的线程,共同操作同一个变量 n,如果两个线程都进行相同次数的 for 循环递增,问最后 n 的值