1. 你使用过哪些前端框架/类库,其各有什么优缺点?
-
用过的框架类库:React, Vue, JQuery
-
Vue 特点:
-
响应式数据,渐进式框架,完善的生态圈
-
组件化:一个文件就是一个组件,模块化,虚拟DOM
-
面向数据编程
-
React特点:
-
函数式编程,jsx语法,单项数据刘
-
模块化,虚拟DOM
-
解决副作用,状态机,受控组件
-
缺点:
-
需要和全家桶一起使用才能发挥优势,使用单个 react库效应不如 Vue好
-
技术选型复杂,webpack依赖程度高
-
jQuery特点:
-
简化DOM操作,Ajax请求,动画操作
-
链式调用,plugins扩展
-
缺点:修改DOM耗费性能,引起浏览器重绘和回流
2 如果需要使用你熟悉的技术封装一套前端的框架,你怎么规划?
- 自动化工具配置
- 响应式单项数据流,状态管理
- 组件化,模块加载,插件机制
- 模块化遵循的原则
- 事件机制,生命周期处理
3 前端代码怎么打包发布,你怎么理解工程化?在“工程化”过程中需要注意些什么?
- 代码规范化,文档规范,约定大约配置:工具约定,文档约定
- 组件封装:受控组件,组件数据流和接口
- webpack工具链配置,静态资源管理
- 代码周期性的重构
4 前端性能优化需要考虑哪些方面?
- 静态资源优化:减少静态资源的大小
- 优化图片,css, js
- 精简DOM结构
- API接口优化:使用缓存
- 页面渲染速度优化
5 你怎么看待前后端协作,scrum是一种什么模式?
- 前后端协作:明确边界范围,约定大于配置
- 中台配置,公共组件库
- scrum不一定是敏捷
- scrum是迭代式增量软件开发过程,常用于敏捷软件开发
- 太过在意和追求 scrum规定的那些细节和流程会适得其反
- 敏捷开发不是按照清单裁剪,要考虑到真实公司的资源和当前环境的受限方式
- 根据当前受限方式进行资源整合和优化,合适的才是最好的
6 用熟悉的前端框架或原生JavaScript 实现一个弹出框,弹框需要同时具备以下四点:
- 关闭和确认按钮
- 弹框宽度600px, 高度不固定,最大高度500px,水平垂直居中
- 弹框中间展示一个固定头部的table, table中每页上下滚动显示30条数据
- 打开 review文件夹,运行文件
cd review
npm install -g @vue/cli @vue/cli-service-global
vue serve App.vue