本文是关注微信小程序的开发和面试问题,
由基础到困难循序渐进,
适合面试和开发小程序。
并总结 vue React html css js 经典面试题 集各种算法和插件、前端视频源码资源于一身的文档,优化项目,在浏览器端的层面上提升速度,帮助初中级前端工程师快速搭建项目。
参考答案https://www.kancloud.cn/lemon-m/js-html-css
Vue 面试题
生命周期函数面试题
1. 什么是 vue 生命周期
2.vue 生命周期的作用是什么
3. 第一次页面加载会触发哪几个钩子
4. 简述每个周期具体适合哪些场景
5.created 和 mounted 的区别
6.vue 获取数据在哪个周期函数
7. 请详细说下你对 vue 生命周期的理解?vue 路由面试题
1.mvvm 框架是什么?2.vue-router 是什么? 它有哪些组件
3.active-class 是哪个组件的属性?4. 怎么定义 vue-router 的动态路由? 怎么获取传过来的值
5.vue-router 有哪几种导航钩子?
6.$route 和 $router 的区别
7.vue-router 响应路由参数的变化
8.vue-router 传参
9.vue-router 的两种模式
10.vue-router 实现路由懒加载(动态加载路由)vue 常见面试题
1.vue 优点
2.vue 父组件向子组件传递数据?3. 子组件像父组件传递事件
4.v-show 和 v -if 指令的共同点和不同点
5. 如何让 CSS 只在当前组件中起作用
6.<keep-alive></keep-alive> 的作用是什么?
7. 如何获取 dom
8. 说出几种 vue 当中的指令和它的用法?9. vue-loader 是什么?使用它的用途有哪些?10. 为什么使用 key
11.axios 及安装
12.axios 解决跨域
13.v-modal 的使用
14.scss 的安装以及使用
15. 请说出 vue.cli 项目中 src 目录每个文件夹和文件的用法?16. 分别简述 computed 和 watch 的使用场景
17.v-on 可以监听多个方法吗
18.$nextTick 的使用
19.vue 组件中 data 为什么必须是一个函数
20.vue 事件对象的使用
21 组件间的通信
22. 渐进式框架的理解
23.Vue 中双向数据绑定是如何实现的
24. 单页面应用和多页面应用区别及优缺点
25.vue 中过滤器有什么作用及详解
26.v-if 和 v -for 的优先级
27.assets 和 static 的区别
28. 列举常用的指令
29.vue 常用的修饰符
30. 数组更新检测
31.Vue.set 视图更新
32. 自定义指令详解
33.vue 的两个核心点
34.vue 和 jQuery 的区别
35 引进组件的步骤
36.Vue-cli 打包命令是什么?打包后悔导致路径问题,应该在哪里修改
37. 三大框架的对比
38. 跨组件双向数据绑定
39.delete 和 Vue.delete 删除数组的区别
40.SPA 首屏加载慢如何解决
41.Vue-router 跳转和 location.href 有什么区别
42. vue slot
43. 你们 vue 项目是打包了一个 js 文件,一个 css 文件,还是有多个文件?44.vue 遇到的坑,如何解决的?45.Vue 里面 router-link 在电脑上有用,在安卓上没反应怎么解决?46.Vue2 中注册在 router-link 上事件无效解决方法
47.RouterLink 在 IE 和 Firefox 中不起作用(路由不跳转)的问题
48.axios 的特点有哪些
49. 请说下封装 vue 组件的过程?vuex 常见面试题
1.vuex 是什么?怎么使用?哪种功能场景使用它?2.vuex 有哪几种属性
3. 不使用 Vuex 会带来什么问题
4.Vue.js 中 ajax 请求代码应该写在组件的 methods 中还是 vuex 的 actions 中?5.vuex 一个例子方法
6.Vuex 中如何异步修改状态
7.Vuex 中 actions 和 mutations 的区别
ES6 面试题
ES6 新增方法面试题
1.let const var 比较
2. 反引号(`)标识
3. 函数默认参数
4. 箭头函数
5. 属性简写
6. 方法简写
7.Object.keys()方法,获取对象的所有属性名或方法名
8.Object.assign ()原对象的属性和方法都合并到了目标对象
9.for...of 循环
10.import 和 export
11.Promise 对象
12. 解构赋值
13.set 数据结构(可用于快速去重)14.Spread Operator 展开运算符(...)
15. 字符串新增方法
ES6 数组面试题
1.forEach()
2.map()
3.filter()
4.reduce()
5.some()
6.every()
7.all()方法
ES6 编程题
1. 使用解构,实现两个变量的值的交换
2. 利用数组推导,计算出数组 [1,2,3,4] 每一个元素的平方并组成新的数组。3. 使用 ES6 改下面的模板
4. 把以下代码使用两种方法,来依次输出 0 到 9?
react 面试题
react 生命周期面试题
1.react 生命周期函数
2.react 生命周期中,最适合与服务端进行数据交互的是哪个函数
3. 运行阶段生命周期调用顺序
4.shouldComponentUpdate 是做什么的,(react 性能优化是哪个周期函数?)5. 指出 (组件) 生命周期方法的不同
react 基础面试题
1.React 中 keys 的作用是什么?2.React 中 refs 的作用是什么?3.React 中有三种构建组件的方式
4. 调用 setState 之后发生了什么?5.react diff 原理(常考,大厂必考)6. 为什么建议传递给 setState 的参数是一个 callback 而不是一个对象
7. 除了在构造函数中绑定 this,还有其它方式吗
8.setState 第二个参数的作用
9.(在构造函数中)调用 super(props) 的目的是什么
10. 简述 flux 思想
11. 在 React 当中 Element 和 Component 有何区别?12. 描述事件在 React 中的处理方式。13.createElement 和 cloneElement 有什么区别?14. 如何告诉 React 它应该编译生产环境版本?15.Controlled Component 与 Uncontrolled Component 之间的区别是什么?react 组件面试题
1. 展示组件 (Presentational component) 和容器组件 (Container component) 之间有何不同
2. 类组件 (Class component) 和函数式组件 (Functional component) 之间有何不同
3.(组件的)状态 (state) 和属性 (props) 之间有何不同
4. 何为受控组件(controlled component)
5. 何为高阶组件(higher order component)
6. 应该在 React 组件的何处发起 Ajax 请求
7.react 中组件传值
8. 什么时候在功能组件 (Class Component) 上使用类组件(Functional Component)?9. 受控组件 (controlled component) 与不受控制的组件 (uncontrolled component) 有什么区别?10.react 组件的划分业务组件技术组件?redux 面试题
1.redux 中间件
2.redux 有什么缺点
3. 了解 redux 么,说一下 redux 把
react 性能比较面试题
1.vue 和 react 的区别
2.react 性能优化的方案
3.React 项目用过什么脚手架
4. 介绍一下 webpack webpack
5. 如果你创建了类似于下面的 Twitter 元素,那么它相关的类定义是啥样子的?6. 为什么我们需要使用 React 提供的 Children API 而不是 JavaScript 的 map?
js 面试题
1. 简述同步和异步的区别
2. 怎么添加、移除、复制、创建、和查找节点
3. 实现一个函数 clone 可以对 Javascript 中的五种主要数据类型(Number、string、Object、Array、Boolean)进行复制
4. 如何消除一个数组里面重复的元素
5. 写一个返回闭包的函数
6. 使用递归完成 1 到 100 的累加
7.Javascript 有哪几种数据类型
8. 如何判断数据类型
9.console.log(1+'2')和 console.log(1-'2')的打印结果
10.Js 的事件委托是什么,原理是什么
11. 如何改变函数内部的 this 指针的指向
12. 列举几种解决跨域问题的方式,且说明原理
13. 谈谈垃圾回收机制的方式及内存管理
14. 写一个 function,清除字符串前后的空格
15.js 实现继承的方法有哪些
16. 判断一个变量是否是数组,有哪些办法
17.let,const,var 有什么区别
18. 箭头函数与普通函数有什么区别
19. 随机取 1 -10 之间的整数
20.new 操作符具体干了什么
21.Ajax 原理
22. 模块化开发怎么做
23. 异步加载 Js 的方式有哪些
24.xml 和 json 的区别
25.webpack 如何实现打包的
26. 常见 web 安全及防护原理
27. 用过哪些设计模式
28. 为什么要同源限制
29.offsetWidth/offsetHeight,clientWidth/clientHeight 与 scrollWidth/scrollHeight 的区别
30.javascript 有哪些方法定义对象
31. 说说你对 promise 的了解
32. 谈谈你对 AMD、CMD 的理解
33.web 开发中会话跟踪的方法有哪些
34. 介绍 js 有哪些内置对象?35. 说几条写 JavaScript 的基本规范?36.javascript 创建对象的几种方式?37.eval 是做什么的?38.null,undefined 的区别?39.[“1”,“2”,“3”].map(parseInt) 答案是多少?40.javascript 代码中的”use strict”; 是什么意思 ? 使用它区别是什么?41.js 延迟加载的方式有哪些?42.defer 和 async
43. 说说严格模式的限制
44.attribute 和 property 的区别是什么?45.ECMAScript6 怎么写 class 么,为什么会出现 class 这种东西?
46. 常见兼容性问题
47. 函数防抖节流的原理
48. 原始类型有哪几种?null 是对象吗?49. 为什么 console.log(0.2+0.1==0.3) //false
50. 说一下 JS 中类型转换的规则?51. 深拷贝和浅拷贝的区别?如何实现
52. 如何判断 this?箭头函数的 this 是什么
53.== 和 === 的区别
54. 什么是闭包
55.JavaScript 原型,原型链 ? 有什么特点?56.typeof()和 instanceof()的用法区别
57. 什么是变量提升
58.all、apply 以及 bind 函数内部实现是怎么样的
59. 为什么会出现 setTimeout 倒计时误差?如何减少
60. 谈谈你对 JS 执行上下文栈和作用域链的理解
61.new 的原理是什么?通过 new 的方式创建对象和通过字面量创建有什么区别?62.prototype 和 proto 区别是什么?63. 使用 ES5 实现一个继承?64. 取数组的最大值(ES5、ES6)65.ES6 新的特性有哪些?66.promise 有几种状态, Promise 有什么优缺点 ?
67.Promise 构造函数是同步还是异步执行,then 呢 ?promise 如何实现 then 处理 ?
68.Promise 和 setTimeout 的区别 ?
69. 如何实现 Promise.all ?
70. 如何实现 Promise.finally ?
71. 如何判断 img 加载完成
72. 如何阻止冒泡?73. 如何阻止默认事件?74.ajax 请求时,如何解释 json 数据
75.json 和 jsonp 的区别?
76. 如何用原生 js 给一个按钮绑定两个 onclick 事件?77. 拖拽会用到哪些事件
78.document.write 和 innerHTML 的区别
79.jQuery 的事件委托方法 bind、live、delegate、on 之间有什么区别?80. 浏览器是如何渲染页面的?81.$(document).ready()方法和 window.onload 有什么区别?82. jquery 中 $.get()提交和 $.post()提交有区别吗?83. 对前端路由的理解?前后端路由的区别?84. 手写一个类的继承
85.XMLHttpRequest:XMLHttpRequest.readyState; 状态码的意思
浏览器 /html/css 面试题
1. 什么是盒模型
2. 行内元素有哪些?块级元素有哪些?空 (void) 元素有那些?行内元素和块级元素有什么区别?3. 简述 src 和 href 的区别
4. 什么是 css Hack
5. 什么叫优雅降级和渐进增强
6.px 和 em 的区别
7.HTML5 为什么只写 <!DOCTYPE HTML>
8.Http 的状态码有哪些
9. 一次完整的 HTTP 事务是怎么一个过程
10.HTTPS 是如何实现加密
11. 浏览器是如何渲染页面的
12. 浏览器的内核有哪些?分别有什么代表的浏览器
13. 页面导入时,使用 link 和 @import 有什么区别
14. 如何优化图像,图像格式的区别
15. 列举你了解 Html5. Css3 新特性
16. 可以通过哪些方法优化 css3 animation 渲染
17. 列举几个前端性能方面的优化
18. 如何实现同一个浏览器多个标签页之间的通信
19. 浏览器的存储技术有哪些
20.css 定位方式
21. 尽可能多的写出浏览器兼容性问题
22. 垂直上下居中的方法
23. 响应式布局原理
25. 清除浮动的方法
26.http 协议和 tcp 协议
27. 刷新页面,js 请求一般会有哪些地方有缓存处理
28. 如何对网站的文件和资源进行优化
29. 你对网页标准和 W3C 重要性的理解
30.Http 和 https 的区别
31.data- 属性的作用
32. 如何让 Chrome 浏览器显示小于 12px 的文字
33. 哪些操作会引起页面回流(Reflow)34.CSS 预处理器的比较 less sass
35. 如何实现页面每次打开时清除本页缓存
36. 什么是 Virtual DOM, 为何要用 Virtual DOM
37. 伪元素和伪类的区别
38.http 的几种请求方法和区别
39. 前端需要注意哪些 SEO
40.<img> 的 title 和 alt 有什么区别
41. 从浏览器地址栏输入 url 到显示页面的步骤
42. 如何进行网站性能优化
43. 语义化的理解
44.HTML5 的离线储存怎么使用,工作原理能不能解释一下?45. 浏览器是怎么对 HTML5 的离线储存资源进行管理和加载的呢
46.iframe 有那些缺点?47.WEB 标准以及 W3C 标准是什么?
48.Doctype 作用? 严格模式与混杂模式如何区分?它们有何意义?
49.HTML 全局属性 (global attribute) 有哪些
50.Canvas 和 SVG 有什么区别?51. 如何在页面上实现一个圆形的可点击区域?52. 网页验证码是干嘛的,是为了解决什么安全问题
53. 请描述一下 cookies,sessionStorage 和 localStorage 的区别?
微信小程序开发(持续更新)
初识小程序
1. 注册小程序
2. 微信开发者工具
3. 小程序与普通网页开发的区别
4. 小程序尺寸单位 rpx
5. 样式导入(WeUI for)6. 选择器
7. 小程序 image 高度自适应及裁剪问题
8. 微信小程序长按识别二维码
9. 给页面加背景色
10. 微信小程序获取用户信息
11. 代码审核和发布
12. 小程序微信认证
13. 小程序申请微信支付
14. 小程序的目录解构及四种文件类型
15. 小程序文件的作用域
16. 小程序常用组件
1.view
2.scroll-view
3.swiper 组件
4.movable-view
5.cover-view
6.cover-image
小程序基础
17. 授权得到用户信息
18. 数据绑定
19. 列表渲染
20. 条件渲染
21. 公共模板建立
22. 事件及事件绑定
23. 引用
24. 页面跳转
1.wx.switchTab
2.wx.reLaunch
3.wx.redirectTo
4.wx.navigateTo
5.wx.navigateBack
25. 设置 tabBar
26. 页面生命周期
27. 转发分享
小程序高级
28.request 请求后台接口
29.http-promise 封装
30.webview
31. 获取用户收货地址
32. 获取地里位置
33. 自定义组件
34. 微信小程序支付问题
小程序项目实战
35. 微信小程序本地数据缓存
36. 下拉刷新和下拉加载
37. 列表页向详情页跳转(动态修改 title)38. 客服电话
39. 星级评分组件
40. 小程序插槽的使用 slot
41. 模糊查询
42.wxs 过滤
43. 小程序动画
44. 列表根据索引值渲染
45. 小程序动态修改 class
46. 小程序常用框架
47. 参数传值的方法
48. 提高小程序的应用速度
49. 微信小程序的优劣势
50. 小程序的双向绑定和 vue 的区别
51. 微信小程序给按钮添加动画
52. 微信小程序的 tab 按钮的转换
53. 微信小程序引进 echarts
54.APP 打开小程序流程
55. 小程序解析富文本编辑器
前端资源
1.vue 教学视频
01.Vue 电商 实战
02.Vue 实战
03.vue.js 音乐播放器实战
04.vue 新闻客户端实战
05. vue 实战 团购网
06.vue 实战 移动端音乐 App
07. vue+Node.js+MongoDB 全栈打造商城系统
08.Vue+Node+MongoDB 高级全栈
09.vue.js 外卖实战
10. 其他培训机构 vue 教学视频
2. 微信小程序开发视频
01. 2018 最新小程序开发教程
02.Java 仿抖音项目实战
03.mpvue 小程序开发实战
04. 微信小游戏入门开发与实战
05. 最新豆瓣电影 + 贪吃蛇项目
06. 服务器部署 +SSL 证书安装教程
07. 后台讲解单独
08. 小程序 APi 教程
09. 零基础开始搭建微信小程序 CMS 后台教程
10. 企业类小程序开发实战视频教程
11. 微信小程序组价化开发视频教程
12.ThinkPHP5.0+ 小程序商城构建全栈应用
13.Vue.js 后台接口微信小程序入门与项目实战教程
14.Node.js 快速开发微信公众号视频教程
3.Linux 教学视频
4.349 套自适应模板
5. 黑马 python 全课程讲解
6. 你不知道的 js 电子书
7.PHP 课程全讲解
8. 珠峰培训视频
9. 小甲鱼零基础入门 python
10. 机器学习
11.React 视频学习资源
前端算法
js 算法(基础)数组去重
冒泡排序
快速排序
递归
算法进阶(趣味)数组输出 A[i]*i
二进制求 1 有多少个
快速求最大值最小值
reduce 累加器
快速反转
数组旋转
二分查找
高阶函数接收
冒泡排序(高级)保留前三后四位字符(手机号 * 格式)
工作中常用插件
轮播图插件 swiper
二级城市插件
三级城市插件
SuperSlide(文字滑动效果)手风琴效果(纯 js)视频播放插件
弹层插件
百度编辑器(大型)ACE 编辑器(轻巧)上传图片(裁剪功能)页面加载效果插件(初次加载)全选、反全选各种效果
京东楼层效果
懒加载