前端基础面试题

290 阅读2分钟

一、前端基础

  • JS
  • Sass、Less
  • 浏览器和HTTP协议
  • React、Hook、Redux、Antd、Next
  • Vue、Vuex、Nuxt
  • SSR
  • 网络性能优化/安全

1、JS

  • 1.1 箭头函数和普通函数有哪些区别?
  • 1.2 简述一下闭包的概念,实现闭包的方式有哪些?闭包的优缺点?
  • 1.3 交替替换两个普通变量的值,除了用第三个中间变量,还可以用什么方式?
  • 1.4 使用Object.assign()需要注意什么?
  • 1.4 怎么实现一个深拷贝?
  • 1.5 说说你对对Generator函数的理解?
  • 1.6 谈谈你对原型链的理解?
  • 1.7 Fetch和axios的区别?
  • 1.8 什么是函数柯里化?
  • 1.9 promise、generator、async/await怎么使用,有什么区别?
  • 1.10 apply/call/bind 有什么区别?
  • 1.11 js数组去重,能用几种方法实现?
  • 1.12 js事件循环 event loop?(也叫JS的执行机制)
  • 1.13 js如何处理防抖和节流?
  • 1.14 for(var i=0;i<3;i++){setTimeout(()=> console.log(i), 0)} 循环中,使用var和let的区别?

2、Sass、Less

  • 2.1 平常都用到他们提供的哪些语法功能?

3、浏览器和HTTP协议

  • 3.1 简述一下三次握手?

4、React、Hook、Redux、Antd、Next

  • 4.1 React的生命周期有哪些?
  • 4.2 setState是同步还是异步?setState时,react做了什么?
  • 4.3 谈一谈你对高级组件的理解?
  • 4.4 你是如何控制组件按需刷新的?
  • 4.5 React中diff算法的原理?
  • 4.6 说说你对React的渲染原理的理解
  • 4.7 什么渲染劫持
  • 4.8 你对Hook是理解和使用?
  • 4.8 useMemo和useCallback 的区别?
  • 4.9 React类组件 和 Hook 性能优化?
  • 4.10 Redux的工作原理?
  • 4.11 Antd有用过吗?
  • 4.12 Next了解过吗?

5、Vue、Vuex、Nuxt

  • 5.1 你对MVVM的理解?
  • 5.2 你平常用到的生命周期钩子?
  • 5.3 Vue是如何实现数据双向绑定的?
  • 5.4 Vue虚拟DOM的实现原理?
  • 5.5 vue 中的性能优化?
  • 5.6 计算属性的缓存和方法调用的区别?
  • 5.7 Vue 组件中 data 为什么必须是函数?
  • 5.8 Vuex的工作原理
  • 5.9 vue-router 实现原理? // hash模式、history模式
  • 5.10 插槽、具名插槽、作用域插槽?
  • 5.11 响应式原理?
  • 5.12 keep-alive 的使用场景?
  • 5.13 vue 数据双向绑定的原理?

6、SSR

  • 6.1 什么是SSR?SSR和CSR有什么区别?

7、网络性能优化/安全

  • 7.1 你之前项目都是如何做前端鉴权的?
  • 7.2 xss?SOL注入?

二、后端基础

  • Node
  • SQL
  • Linux

1、Node

  • 1.1 node事件循环?
  • 1.2 koa的洋葱模型?

2、SQL

3、Linux

三、跨平台

1、React Native

2、Flutter

3、Weex

四、小程序

五、打包工具

1、Webpack

  • 1、如何利用Webpack进行前端性能优化?
  • 2、Loader 和Plugin的区别

六、项目管理

1、Git

1.1 git 版本回退和查看远程分支用什么命令?

七、Docker