关于开发环境
1.面试官想通过开发环境了解面试者的经验
2.开发环境,最能体现工作产出的效率
3.会以聊天的形式为主,而不是出具体的问题
1.IDE(写代码的效率)
(1)webstorm
(2)Sublime
免费,隔一段时间让你买提示框
轻量级 快速打开
(3)Vscode
微软轻量级
简化版
(4)Atom
github自己开源的编辑器
插件,非常重要
sublime常用插件。。。
如果走大牛,webstorm
普通 用sublime
小清新,个性 vscode,atom
如果面试,最好有一个用的熟悉,其他都会一点
快捷键
千万不要说你用DW或者notpad++
不做.net 也不要用visual Studio
不做java 也不要用eclipse
2.Git(代码版本管理,多人协作开发)
(1)正式项目都需要代码版本管理
(2)大型项目需要多人协作开发
(3)Git ,linux是一个作者
网络git服务器,如coding.net github.com
一般公司代码非开源,都有自己的GIT服务器
搭建git服务器无需你了解太多
git的基本操作必须很熟练
git常用命令
Git add. 所有修改的都提交
Git checkout xxx 发现自己改错了还原回去
Git commit -m “xxx” 先提交本地仓库,-m加备注
Git push origin master 提交远程仓库
Git pull origin master 下载下来
Git branch 多人开发,分支
Git checkout -b xxx/git checkout xxx
Git merge 合并
3.JS模块化
本身就是一个面试的问题
使用模块化
AMD
CommonJS
知识点:
(1)不适用模块化的情况
(2)使用模块化
用谁引用谁 没必要全局变量 污染其他变量
你不需要知道他引用了谁 他自己知道引用了谁
(3)AMD
异步模块定义的规范
1.require.js
2.全局define函数
3.全局require函数
4.依赖JS会自动,异步加载
Data-main 入口
直接引用一个,其他都自动异步引用
(4)CommonJS
nodejs 模块化规范,现在被大量前端使用,原因:
前端开发依赖的插件和库,都可以从npm中获得
构建工具的高度自动化,使得npm的成本非常低
CommonJS不会异步加载JS,而是同步一次性加载出来。
需要构建工具支持
一般和NPM一起使用
AMD和COMMONJS的使用场景
需要异步加载JS,就使用AMD
使用了NPM以后建议使用COMMONJS
构建工具
Grunt
Gulp
Fis3
Webpack
_________________________________________________________________---
Webpack 模块化打包 压缩上线
4.打包工具
Webpack
5.上线回滚的流程
不会有具体的问题,交流询问的方式
(1)上线和回滚的基本流程:
I.是非常重要的开发环节
II.各个公司的具体流程不同
III.由专门的工具后者系统完成,我们无需要关心细节
IV.如果你没有参与过,面试时也要说出要点
V.只讲要点,具体实现无法讲解。
VI.将测试完成的代码提交到git版本库的master分支
VII.将当前服务器的代码全部打包并记录版本号,备份
VIII.讲master分支的代码提交覆盖到线上服务器,生成新版
回滚流程要点:
I.将当前服务器的代码打包并记录版本号,备份
II.讲备份的上一个版本号解压,覆盖到线上服务器,并生成新的版本号
III.
(2)linux基本命令
I.服务器使用linux居多,server版,只有命令行
II.测试环境要匹配线上环境,因此也是linux
III.经常需要登录测试机来自己配置,获取数据