千锋重庆|请收下这份面试攻略,web前端经典面试题总结整理

web前端面试应注意什么?下面就跟着千锋重庆web前端的小编一起来看看web前端经典面试题总结整理 。
1、CSS , JS代码压缩 , 以及代码CDN托管 , 图片整合 。
(1)CSS,JS代码压缩:
可以应用gulp的gulp-uglify , gulp-minify-css模块完成;可以应用webpack的UglifyJsPlugin压缩插件完成 。
千锋重庆|请收下这份面试攻略,web前端经典面试题总结整理
文章图片
(2)CDN:
内容分发网络(CDN)是一个经策略性部署的整体系统 , 包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件 。 主要特点有:本地Cache加速 , 镜像服务 , 远程加速 , 带宽优化 。 关键技术有:内容发布 , 内容路由 , 内容交换 , 性能管理 。 CDN网站加速适合以咨询为主的网站 。 CDN是对域名加速不是对网站服务器加速 。 CDN和镜像站比较不需要访客手动选择要访问的镜像站 。 CDN使用后网站无需任何修改即可使用CDN获得加速效果 。 如果通过CDN后看到的网页还是旧网页 , 可以通过URL推送服务解决 , 新增的网页和图片不需要URL推送 。 使用动态网页可以不缓存即时性要求很高的网页和图片 。 CDN可以通过git或SVN来管理 。
(3)图片整合
减少网站加载时间的最有效的方式之一就是减少网站的HTTP请求数 。 实现这一目标的一个有效的方法就是通过CSSSprites——将多个图片整合到一个图片中 , 然后再用CSS来定位 。 缺点是可维护性差 。 可以使用百度的fis/webpack来自动化管理sprite 。
2、如何利用webpack把代码上传服务器以及转码测试?
(1)代码上传:
可以使用sftp-webpack-plugin , 但是会把子文件夹给提取出来 , 不优雅 。 可以使用gulp+webpack来实现 。
(2)转码测试
webpack应用babel来对ES6转码 , 开启devtool:“source-map''来进行浏览器测试 。 应用karma或mocha来做单元测试 。
3、项目上线流程是怎样的?
(1)流程建议
-模拟线上的开发环境
本地反向代理线上真实环境开发即可 。 (apache , nginx , nodejs均可实现)
千锋重庆|请收下这份面试攻略,web前端经典面试题总结整理
文章图片
-模拟线上的测试环境
模拟线上的测试环境 , 其实是需要一台有真实数据的测试机 , 建议没条件搭daily的 , 就直接用线上数据测好了 , 只不过程序部分走你们的测试环境而已 , 有条件搭daily最好 。
-可连调的测试环境
可连调的测试环境 , 分为2种 。 一种是开发测试都在一个局域网段 , 直接绑hosts即可 , 不在一个网段 , 就每人分配一台虚拟的测试机 , 放在大家都可以访问到的公司内网 , 代码直接往上布即可 。
-自动化的上线系统
自动化的上线系统 , 可以采用Jenkins 。 如果没有 , 可以自行搭建一个简易的上线系统 , 原理是每次上线时都抽取最新的trunk或master , 做一个tag , 再打一个时间戳的标记 , 然后分发到cdn就行了 。 界面里就2个功能 , 打tag , 回滚到某tag , 部署 。
-适合前后端的开发流程
开发流程依据公司所用到的工具 , 构建 , 框架 。 原则就是分散独立开发 , 互相不干扰 , 连调时有hosts可绑即可 。
(2)简单的可操作流程
-代码通过git管理 , 新需求创建新分支 , 分支开发 , 主干发布
-上线走简易上线系统 , 参见上一节
-通过gulp+webpack连到发布系统 , 一键集成 , 本地只关心原码开发
【千锋重庆|请收下这份面试攻略,web前端经典面试题总结整理】-本地环境通过webpack反向代理的server
-搭建基于linux的本地测试机 , 自动完成build+push功能
4、工程化怎么管理的?
gulp和webpack
5、git常用命令
Workspace:工作区


推荐阅读