19年阿里,头条的前端(含node)岗位的面试题

303 阅读2分钟
  • 简单的自我介绍与项目经验
  • 一道 setTimeout/Promise 输出顺序问题的题
  • 什么是事件循环
  • async 与 generator 的关系以及实现原理
  • react 和 vue 有什么区别
  • vue 的双向绑定怎么实现的,在 3.0 后呢
  • react 的生命周期是什么
  • react 中的 key 用来做什么
  • 有没有看过 fiber 的代码,原理是什么
  • 什么是 virtual DOM
  • webpack 的原理是什么,loader 和 plugin 的作用是什么
  • 如何使用 webpack 优化体积
  • 网站性能优化有哪些方面
  • 有没有了解过 shell
  • 如何替换一个文件中的内容
  • 对一个文件如何只查看特定行的内容
  • 你们的 node 的服务端应用如何部署
  • docker 部署有什么好处
  • 部署时如何利用服务器的多核
  • 你们有没有对服务端的异常进行监控
  • 你如何看待前端和后端
  • 如何查看一个 node 的服务端应用的内存和CPU
  • 当服务端的内存发生了 OOM 问题如何排查
  • 如何监控某个进程的内存和 CPU
  • 当一个云主机的内存占用过大,如何找到内存占用最大的进程
  • 数据库索引中为什么要用 Btree
  • 如何优化 SQL
  • 如何监控数据库的慢查询
  • 当一个地址从输入到展示在浏览器中有哪些步骤
  • TCP 的三次握手是什么
  • TCP 为什么要三次握手
  • TCP 与 UDP 的区别是什么,既然 TCP 是可靠的,那它有啥缺点
  • 如何在 linux 中拿到 TCP 的状态
  • TCP 的拥塞控制是怎么做的
  • 什么是 ARP 欺骗
  • 什么是防抖和节流
  • 写一段关于防抖的代码
  • graphql 有什么好处和劣势
  • 你遇到过哪些 OOM 的事例,都是什么问题,以及如何解决的
  • 什么是 serverless,如何看待它的发展
  • 服务端渲染的原理是什么
  • 服务端渲染会遇到哪些问题,与客户端渲染如何取舍
  • 除了服务端渲染,还有哪些做 SEO 的方案
  • react hooks 有什么好处
  • 如何做 tracing
  • 如果给 log 都加上 requestId,应该怎么做
  • async hooks 是用来干嘛的
  • 如何设计一个高并发系统
  • 对数据库做过什么优化
  • 有没有看过 libuv 代码
  • 什么是IO多路复用
  • redis 的使用场景有哪些
  • 你们的 qps 是多少
  • 你们业务跑了多少台机器
  • 如果优化你们的 qps
  • 如何做弹性扩容
  • 如何设计一个短网址服务
  • rpc 与 rest 相比有什么优势与劣势
  • 什么是TCP粘包
  • 如何设计一个消息队列,要注意什么地方