笔者是在今年春招面试的头条教育线,顺利拿到了offer,把还记得的东西写下来,供大家参考一下。

一面

  • tcp 和 udp 的区别和使用场景?
  • quic 基于 udp 怎么保证可靠性?
  • 讲一下同源策略和跨域方案?CORS 的几个头部是什么?
  • 讲一下 react fiber?
  • vue 双向绑定原理?
  • redux 和 mobx 的区别和使用场景?
  • typeof null?null instanceof Object?
  • typeof 可以判断哪些类型?instanceof 做了什么?
  • 实现一个 bind 函数
  • 求数组里面最大连续项的和
  • event loop

二面

  • 怎么优化 h5 的加载速度?
  • 离线包怎么更新?怎么知道需要打开哪个离线包?
  • js bridge 通信原理?
  • 怎么实现 h5 页面秒开?
  • 明明不是同一个语言,为什么 js 和 native 可以通信?
  • 怎么实现 js bridge 跨多个 app 共用?
  • grpc 相比 http 的优势?
  • rpc 的调用流程?前端怎么调用 grpc 的?
  • 为什么要用 grpc?
  • 服务发现为什么用 ip,而不用域名?
  • 怎么做 DNS 预解析?
  • 怎么实现移动端的布局?
  • iOS 下软键盘输入框遮挡遇到过问题么?怎么解决顶不起来的问题?
  • 实现两个大数相加
  • 求一个数组最大子项的和,要求这些子项在数组中的位置不是连续的
  • 常用的 react hooks 方法
  • useState 怎么做缓存的?
  • react fiber 是什么?
  • 怎么解决 useState 闭包的问题?
  • useReducer 比 redux 好在哪里?

三面

  • 做过哪些公共组件?DatePicker 怎么实现的?难点在哪里?
  • 组件封装有哪些原则?
  • 组件数据和 UI 怎么分离?
  • 有没有做过一些提高工作效率的东西?
  • 有没有了解过拖拽?觉得它有哪些难点?
  • 有没有做过优化相关的?webpack 做了哪些优化?
  • cache-loader 和 hard-source-webpack-plugin 的区别是什么?
  • 最近遇到的比较难的项目是什么?你们服务是怎么部署的?
  • Puppeteer 可以用来做什么?

刷过的题目

下面是我花了将近一个月的时间整理的一份面试题库。这些面试题,包括我本人自己去面试遇到的,还有在面试之前刷过的题目,我都统一的整理了一下,希望对大家有用。

HTML&CSS

  • 你是怎么理解HTML语义化
  • 你用过哪些HTML5标签
  • metaviewport是做什么用的,怎么写?
  • label标签的作用
  • 行内元素有哪些?块级元素有哪些?空(void)元素有那些?
  • a标签中如何禁用href跳转页面或定位链接
  • canvas在标签上设置宽高和在style中设置宽高有什么区别
  • 介绍一下CSS的盒子模型
  • CSS选择符有哪些?
  • CSS3新增伪类有哪些
  • 什么是cssHACK?
  • Less/Sass/Scss的区别
  • 请解释一下CSS3的flexbox(弹性盒布局模型),以及适用场景?
  • ......

JavaScript

  • 请解释什么是事件委托/事件代理
  • Javascript如何实现继承?
  • 函数执行改变this
  • babel编译原理
  • 函数柯里化
  • 说一下类的创建和继承
  • 说说前端中的事件流
  • 如何让事件先冒泡后捕获
  • 说一下图片的懒加载和预加载
  • js的new操作符做了哪些事情
  • 改变函数内部this指针的指向函数(bind,apply,call的区别)
  • Ajax解决浏览器缓存问题
  • ......

VUE

  • vue.js的两个核心是什么?
  • vue的双向绑定的原理是什么?
  • vue生命周期钩子函数有哪些?
  • 请问v-if和v-show有什么区别?
  • vue常用的修饰符
  • 什么是vue生命周期
  • 数据响应(数据劫持)
  • virtualdom原理实现
  • Proxy相比于defineProperty的优势
  • vue中key值的作用
  • ......

数据结构与算法

  • 哈希
  • ⼆叉树
  • 链表
  • 数组
  • 排序
  • 堆与栈
  • ⾼级算法
  • 动态规划

完整版面试题资料免费分享,只需你点赞支持,动动手指点击此处就可免费领取了

04-16 23:43