很全的前端面试知识点

h5

  • 常见的浏览器内核,引擎
  • 浏览器的页面加载过程
  • 浏览器渲染机制
  • localStorage/sessionStorage/cookie
  • geolocation 地理位置
  • history 新api
  • webworker
  • indexDB
  • websocket
  • canvas svg

css3

  • box-shadow
  • border-radius
  • rem
  • flex
  • animaion
  • transition
  • gradient
  • calc
  • p:nth-child
  • rem布局
  • flex布局

js

  • 浏览器内核、引擎\webkit内核
  • v8 引擎和垃圾回收机制
  • 数组有哪些方法
  • object有哪些方法
  • 基本数据类型,几种 5种 string number(NaN也是) boolean undefined null(es6 symbol)
  • NaN === NaN parseInt(null) // NaN parseInt(undefined) // NaN
  • 判断对象某个属性存在 hasOwnProperty
  • string substr subtring(end非负) slice 区别
  • forEach map reduce filter some
  • 创建对象的方式
  • 闭包
  • 同步和异步的区别
  • this的理解
  • 原型链 prototype _proto_
  • 继承,原型链继承,构造函数继承,组合继承,寄生组合继承
  • jsonp原理(手写)
  • 判断是一个数组
  • 深拷贝
  • dom操作 创建dom元素 删除dom元素
  • jquery 你觉得jquery有哪些好处 还用过什么工具库
  • js规范 amd commonjs esm umd
  • requirejs
  • 怎么写jq插件
  • 怎么给数组原型添加方法
  • 怎么合并两个对象
  • chart 画图
  • js 执行顺序 变量提升
  • bind call apply 的理解(document.getElementById bind 实现)
  • 函数柯里化
  • 事件委托 事件理解
  • js 实现拖拽
  • 事件循环
  • get post的区别

es6 、typescript

  • es6用法
  • 使用场景
  • 箭头函数 this ,函数默认值
  • 数组去重
  • Object.assign Object.is
  • 创建10000个数组 new Array(10000).fill(0)
  • Set使用
  • Map 使用
  • promise promise的演化 回调地狱
  • async await
  • proxy 使用 好处
  • reflect 使用 好处
  • commonjs 和 es6 模块有什么区别
  • ts的使用

react

  • 谈谈对react的理解,react主要的技术特点
  • 声明周期过程,顺序,作用
  • React 中 keys 的作用是什么
  • render 里可以setState么
  • vdom的实现,优势,缺点
  • 生命周期挂载和更新
  • context 使用
  • ref使用
  • react 无状态组价
  • 按需加载
  • redux 使用、原理 / mobx 同样
  • react-native flutter 经验
  • react props 改变执行的钩子函数
  • **函数式编程和面向对象 **
  • 高阶函数 高阶组件
  • hooks
  • 服务端渲染

vue

  • v-show和v-if 区别
  • vue 的data为什么是函数 不是对象
  • vue mixin 混入
  • vue两种路由的区别
  • angular vue react 的双向绑定原理
  • vue 指令 和 vue 组件 区别
  • 组件之间通信
  • 挂载和更新的生命周期
  • 谈谈对vue的理解
  • 组件库 mint-ui element-ui iview
  • 生命周期
  • keep-alive
  • 内置过滤器 大小写 首字母大写
  • vuex
  • {{}} 是怎么编译的
  • vue 插件 vue.use插件
  • mvc mvvm
  • 小程序

angular

  • 讲一下angular理解,用的哪个版本 1.2.3.4.5 ?
  • angular的数据双向绑定实现
  • ng-if和ng-show
  • factory、service 和 provider 是什么关系?
  • 自定义指令

nodejs

  • node 常用模块
  • http https的区别
  • express koa
  • npm常用命令
  • 本地安装和全局安装的区别
  • npm 脚本 npm run dev
  • 线程与进程的区别

others

  • 怎么维护代码的(git svn)
  • 提交代码的顺序
  • 常用shell命令 mv mkdir touch rm
  • merge rebase cherry-pick
  • webpack 是什么
  • webpack loader 和 webpack 插件
  • gulp流工作
  • 最新版的webpack的功能
  • webpack优化
  • 自己打架一个脚手架
  • http2.0
  • js 优化
  • 设计模式
  • 简单算法 深拷贝、 数组降维 、快速排序。。。
  • nginx用过没
  • 用过测试框架 mocha jest
  • react-native flutter的了解
  • WebView和原生是如何通信
  • electron
  • graphQL
  • 设计模式
  • react-fiber
  • react的异步渲染
  • 常用设计模式
  • 垃圾回收机制
  • 内存栈和堆

你可能感兴趣的:(javascript,面试,javascript)