作为前端 一定要搞懂

221 阅读3分钟

作为前端 一定要搞懂

一些常见面试题一定要搞懂:

从输入 url 到展示的过程

  • 怎么解决跨域问题
  • CORS跨域的原理
  • token一般可以存放在哪里的?分别有什么好处
  • token会不会被伪造?
  • 前后端如何验证一个用户是否下线了

JS

  • 说一下promise
  • Promise.all中如果有一个抛出异常了会如何处理
  • Promise.all()是并发的还是串行的?
  • Promise为什么能链式调用
  • 写过原生的自定义事件吗
  • 所有的事件都有冒泡吗?
  • 描述下原型链
  • 描述一下this
  • typeof和instanceof的区别
  • 什么是作用域链
  • 什么是防抖节流
  • 什么是重绘重排
  • 函数柯里化
  • 闭包
  • 递归
  • 事件循环机制
  • return 、break和continue的区别和作用
  • forEach map filter 这些循环哪个可以在循环的过程中终止循环
  • js里面哪个循环速度最快
  • new运算符的执行过程
  • 改变this的方式
  • this的指向
  • 讲讲AST语法书
  • 存储有哪些 分别有什么优点和缺点
  • 什么是垃圾回收机制
  • 垃圾回收是发生在什么时候?
  • 什么是内存泄露 怎么避免
  • 宏任务和微任务
  • 你知道 typeof null为什么是 object 吗?
  • Vue中hash模式和history模式的区别
  • null和undefined的区别
  • 数组去重 有哪些方法
  • 实现一个一组异步请求按顺序执行你有哪些方法?
  • setTimeout的执行原理
  • 如何在前端实现一个图片压缩
  • JSONP的实现原理

CSS

  • 盒模型
  • 盒模型及如何转换
  • BFC
  • 水平垂直居中有哪些方法
  • rem和em的区别

Ajax

  • 4个步骤

ES6

  • promise 表达的
  • 导入导出 容易搞混淆
  • 说下 es6 的 class
  • CommonJS和ES6模块的区别
  • 平常工作中ES6+主要用到了哪些?

Node

  • nodejs Buffer缓冲区
  • node原理

Vue

  • vue的声明周期
  • 哪个声明周期可以获取到DOM元素
  • vue3 和vue2有什么不同 ?优缺点试什么 ?
  • MVVM 表达
  • Vue的响应式原理
  • virtual dom 原理实现
  • Proxy 相比于 defineProperty 的优势
  • 自定义写个v-loading
  • this.$nextTick原理
  • watch跟computed的区别
  • $map
  • $set
  • diff算法
  • Object.definedProperty 和 Proxy
  • keep-alive 有啥用
  • vue组件之间的通信方式有哪些
  • Vue中computed和methods的区别
  • 不使用框架如何实现组件按需加载以及原理

webpack

  • webpack 原理
  • webpack打包机制
  • 热更新的理解
  • Plugin和 loader 相同和不同点
  • vite原理
  • 反向代理知道吗?

正则表达式

  • 正则里的非如何实现的

算法

  • 冒泡排序算法和数组去重
  • 二叉树

小程序

  • 登录流程
  • 支付流程
  • 购物车怎么做的
  • 白名单 (后端弄)
  • 静默登录(后端弄)

http

  • http1.0 http1.1 http1.2
  • 三次握手
  • 四次挥手
  • 为什么不是一次两次握手,三次挥手?
  • TCP和UDP
  • 在项目中如何把http的请求换成https
  • https的加密方式

前端安全方面

  • 前端安全方面?XSS?CSRF?
  • XSS攻击以及如何预防?

项目优化

  • 项目做过哪些优化?
  • 首屏白屏怎么解决