1、闭包,说下,应用场景
2、ajax是什么对象
3、es6用到了哪些?
ECMAScript6是JavaScript语言的下一代标准。
2、let和const
js以前是函数作用域,
let是块级作用域,不能重复申明,打破局面向后台语言发展趋势。
const代表常量,必须定义时初始化不可改变。
3、箭头函数
一种函数的简写,使用括号包裹参数,跟随一个 =>,紧接着是函数体

vuw的axios
基于http客户端的promise,面向浏览器和nodejs
map箭头函数
使用vue本身就需要用到es6常用的知识点
现有项目用到的技术
vue + vue-router + vux +vuex + axios + less + webpack
Promise是怎么用的
http://es6.ruanyifeng.com/
webpack基于node.js实现的
webpack的相关操作是nodejs
axios是跟vue配套使用的,小、方便

比特币是一种网络 数字货币
区块链 本质到实现原理
信任问题:金融机构,数据孤岛,数字资产成本高
区块链的加密 公开且不可篡改的特性
数据只能增 查不能删改
双重支付
确定交易顺序的数据结构就是区块链。
“区块链”中的“区块”,指的是在同一段时间内的交易信息及相关数据的集合。“链”就是把区块按产生的先后顺序连接在一起。
区块链技术的本质是通过公开的、加密的不可篡改的技术手段,为解决多方信任问题提供了一个方案。现在区块链技术离可大规模应用,还有很长的一段路要走。其中最关键原因是每秒确认交易的笔数太少、确认交易的时间又太长[5]。但是,换个角度思考一下,问题即机会。现在的区块链就像 98 年的互联网,未来充满挑战,也充满希望。

精通javascript, HTML5,CSS3,Websocket等前端相关技术;
精通一种前端框架,如Vue.js, react.js, Jquery, backbonejs, Angularjs等;
了解各种常用工具,如Firebug,YSlow,JSLint,YUI compressor等;
5.熟悉 Node.js,了解 Node.js 的运行机制;

闭包
一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中
应用场景:setTimeout,回调函数,封装函数
函数嵌套函数函数内部可以引用外部的参数和变量参数和变量不会被垃圾回收机制回收

websocket是HTML5的一个新协议,持久化的协议,长连接,服务端及时向客户端传递信息,
实现浏览器和客户端双工通信。
HTTP是用于传输如HTML文件,图片文件,查询结果的应用层协议
https 隐私数据加密传输

如何解决跨域问题?
XmlHttpRequest请求当前源(域名、协议、端口)的资源
通过script标签实现跨域请求,然后在服务端输出JSON数据并执行回调函数
优点兼容性好,简单易用,支持浏览器与服务器双向通信。缺点只支持get请求

webpack的看法
模块打包工具,管理模块依赖,编译输出所需静态文件

作用域
作用域链的变量只能向上访问,变量访问到window对象即被终止,
不能向下访问

ajax对象
创建XMLHttpRequest对象,异步调用对象

常见web安全及防护原理
用户输入校验,正则等
加密机密文件不要明文存放,hash掉密码敏感信息
不要使用动态拼装SQL
不要使用管理员权限的数据库连接

前端工程师价值
简化用户使用,交互技术支持
浏览器兼容问题,提高浏览器速度
为跨平台webkit渲染引擎插件应用提供支持
展示后台数据接口

ES6
箭头函数,遍历循环,promise对象let增加了块级作用域,
const命令
backbone具有依赖性,依赖underscore.js。Backbone + Underscore + jQuery(or Zepto)

Cookie的弊端
方便扩展可用性强
缺点数量长度限制安全性问题,有些计数器保存服务器
session是放服务器上登陆信息,占用性能
https://segmentfault.com/a/1190000012315822

对nodejs 的理解
开发web服务端的技术
非阻塞,事件驱动
高并发,多异步请求
把浏览器的解释器封装起来作为服务器运行平台

vue双向绑定原理
采用数据劫持,监听回调,Object.defineProperty()的setter和getter

vue 面试题
vue-router怎么获取动态参数
router在index.js文件下,对path属性/:id ,使用router对象的params.ids

v-model怎么使用,vue标签怎么绑定事件
双向绑定,v-class,v-for,v-if,v-on,v-show
vue的model层的data属性。
绑定:@click=doBtn()

axios是什么?
请求后台资源模块,config/index.js
然后.get或.post。返回在.then函数中如果成功
失败.catch

vuex
一种开发框架,类似java的spring
框架中状态管理store,….. export
登陆,加入购物车

mvvm
model。view。viewModel

4中vue指令
v-if判断v-for循环展示v-bind绑定属性v-model双向绑定

vue生命周期
创建,载入,更新,销毁created,

vue组件
Vue.component方法注册组件
Vue.extend方法创建一个组件

vue.cli项目中src目录
assets文件夹是放静态资源;
components是放组件;
router是定义路由相关的配置;
view视图;app.vue是一个应用主组件;
main.js是入口文件

vue好处
双向绑定,组件化开发,
数据信息量比较多的适合vue开发
手机web和app应用多端共用一套界面

es 的promise
是一个对象,异步操作
promises.then catch

数组去重
es6 new set
遍历 添加新数组,indexOf()判断值是否存在,已存在就不添加

Promise的使用场景
Promise的使用场景:ajax请求,回调函数,复杂操作判断。
Promise是ES6为了解决异步编程所诞生的。
异步操作解决方案:Promise、Generator、定时器(不知道算不算)、还有
ES7的async

vue-router
定义:path:’a/:value’ 获取:this.$route.params.value。

父子传参
父组件传参给子组件通过props