金九银十, 我来给你们送大厂面试题了

1,421 阅读4分钟

引言

什么,你说你简历都不知道怎么写,看面试题有什么用?

戳下面这个链接看看吧, github.com/jeoy/its-me

我就是拿着这个简历去面试的

对于项目的内容,欢迎star, 欢迎issue,欢迎PR

美团

一面

  1. app相关:灰度发布,如何保证稳定性
  2. 盒模型
  3. 手写css布局问题
  4. spa应用设计问题
  5. 路由相关
  6. vue数据绑定原理
  7. 多路复用
  8. ipv6

二面

聊项目内容,讲内存泄漏,词法作用域和什么时候闭包会引起泄漏(GC机制相关)

讲了最近自己在做的一点开源, 然后我(机智)的聊到了我发现的一个坑,并且发了stackoverflow, 贴了jsfiddle, 让面试官打开看...

issue地址 面试官看完表示很有趣,他也不知道。

三面

聊项目内容:

  • 讲react-native中嵌入webview可能存在的性能问题,通信方式。
  • 多项目管理存在的问题,后端接口不分web和mobile的话, 前端web和mobile出现了model不一致,后端如何做接口兼容。

用过redis吗, 简单写一个LRU

字节跳动

上来先是纸上写题目

  1. 实现一个高度为50%的垂直居中样式。
  2. arguments是不是数组,怎么转数组
  3. 隐式转换写输出题
  4. 经典的那个asyn await和promise输出题,要详细解释过程。
  5. 写截流函数,问如果 thFn = throttle(obj.fn), thFn()这种调用方式如何保证this.
  6. 实现一个带继承方案的bind,就是bind输入一个构造函数A,生成一个新的构造函数B,B new出来的对象需要继承A的属性和方法
  7. 实现k数之和,找出一个解就行,并说出时间空间复杂度

问答

  1. cookie作用是?cookie是如何形成的,使用cookie注意什么问题
  2. 有哪些http缓存策略,为什么要用这么多方式和字段控制
  3. 进程和线程,多进程如何通信 (node相关,pipe管道,共享内存等)

后续转到了数据部门

数据部门

一面

  1. 一个构造函数和原型链输出题,类似于有new A().fn(); new A().fn()这种的,

  2. 一个渲染线程和js主线程执行顺序问题,改变背景色然后while循环再改变背景色,看到效果是怎么样的。

  3. for循环输出setTimeout,promise啥的混到一起的输出顺序问题,然后问了任务队列和事件循环问题,问了有哪些微任务,包括node的,setImmediate是不是微任务

  4. 截流防抖,应用场景

  5. 如何排查内存泄漏问题,闭包概念,原型,原型链概念, 一个作用域对象里有哪些东西

  6. new 一个对象执行了什么操作

  7. es6的新特性用了哪些

  8. 然后问了js原型模式和c的class区别,问了静态对象和方法如何实现

  9. GC机制

二面

  1. 讲对promise的理解,promise.all功能,存在问题,如何封装改进
  2. promise.race功能,应用场景
  3. 实现一个promise截流器,每次只并行发送n个请求。
  4. 解释BFC以及作用
  5. http状态码,问了很多(307, 504这种),然后问了http缓存。
  6. echarts 实现原理,底层canvas api
  7. canvas如何画曲线,(需要绑定哪些事件),用户光标移动太快怎么办, 只捕捉了间歇的点,如何画平滑的曲线
  8. 如何判断一个点是否在曲线上(图形里)

三面

  1. 聊了一些非技术的
  2. 如何判断一张画布上有多少个图形(三角形,多边形,圆)这种,并求出他们的面积
  3. echarts的渲染流程

项目相关

  1. 讲解了一下图表颜色字段不同聚合方式的配置实现
  2. 多端实现提取了哪些公共组件进行复用,哪些部分不太好做
  3. 单元测试怎么做,css测试怎么做,ui自动化测试

Tencent

一面

上来先是纸上写题目

  1. 原型链调用输出问题,类似于有new A().fn(); new new A().fn()这种的,
  2. parseInt那个

问答

  1. token有什么好处(相比cookie和CSRF攻击)
  2. 解释web和node的事件循环
  3. 解释webpack热更新原理

二轮技术总监

  1. 聊项目经理,聊业务前景
  2. 写算法题
    • I__am___jon___snow 这种字符串反转,单词不反转
    • 判断一个二叉树是不是查找树,写完用case过一遍。

三轮是PM

交叉面,没有聊技术

GM面

是一个单独大办公室的大佬,随便聊,没技术

阿里

这个太早了,写的时候很多问题记不清了。

一面

问答

  1. promise,async await的区别
  2. 事件循环,任务队列
  3. 继承的实现,如何实现类的方法。
  4. 纸上写题,一个dfs二叉树的题
  5. 写题,判断两个矩形区域的相交区域(excel那种形式,给[A1, D4] , [B2, D6]这种)

二面

  1. 聊了项目
  2. 聊了正在做的开源,问了一下技术实现
  3. 纸上写题,比较两个对象是不是相等,(所有的key value都一样)

三面

没有聊技术,说了hrbp很麻烦