# 一九年面试小记

一九年面了阿里,头条的前端(含node)岗位以及阿里,作业帮的后端岗位,技术部分面试全部通过。大致记录如下

  • 简单的自我介绍与项目经验
  • 一道 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粘包
  • 如何设计一个消息队列,要注意什么地方

扫码关注公众号全栈成长之路,并发送

即可在关注期间无限制浏览本站全部文章内容

你也可以在文章关于回复公众号扫码解锁全站的技术实现中获得解锁代码,永久解锁本站全部文章

Last Updated: 12/6/2019, 4:10:50 PM