本帖最后由 逆风TO 于 2018-5-23 15:12 编辑
公司名称:艾飞能源西安分部 公司地址:西安市雁塔区沣惠南路34号摩尔中心B幢2301 公司规模:中等规模 人事面试中规中矩,看样子人家是真心招人,以下为技术面试环节相关问题整理: l Q:行内元素的padding、margin是否无效? A:行内元素的padding-top、padding-bottom、margin-top、margin-bottom属性设置是无效的; 行内元素的padding-left、padding-right、margin-left、margin-bottom属性设置是有效的; 行内元素的padding-top、padding-bottom从显示的效果上是增加的,但其实设置的是无效的。并不会对他周围的元素产生任何影响。 l Q:对ES678了解吗?如果了解请列举 A:ES6中新增的特性: 箭头操作符(箭头函数) 类的支持(class关键字) 增强的对象字面量 字符串模板 let与const 关键字 模块
l Q:闭包是什么,有什么特性,对页面有什么影响
A:闭包是一个封闭的隔离的空间,在js中表现为函数所构成的外部无法访问的区域,当函数被外部引用时,就创建了该函数的闭包 闭包的实质是一个函数,是一个用于返回局部变量值的函数,因为在全局中,受JavaScript链式作用域结构的影响,父级变量中无法访问到子级的变量值,为了解决这个问题,才使用闭包这个概念。 闭包的特性: ①.封闭性:外界无法访问闭包内部的数据,如果在闭包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口; ②.持久性:一般的函数,调用完毕之后,系统自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包结构依然保存在 系统中,闭包中的数据依然存在,从而实现对数据的持久使用。 优点: ① 减少全局变量。 ② 减少传递函数的参数量 ③ 封装; 缺点: 使用闭包会占有内存资源,过多的使用闭包会导致内存泄露等.
l Q:解决跨域的问题解决方案有哪些? A: jsonp web服务器反向代理 服务端代码加入特定http响应头
l Q:简述一下jsonp跨域的原理 A:具体是通过动态创建script标签,然后通过标签的src属性获取js文件中的js脚本,该脚本的内容是一个函数调用,参数就是服务器返回的数据,为了处理这些返回的数据,需要事先在页面定义好回调函数.
l Q:谈谈This对象的理解 A:this是js的一个关键字,随着函数使用场合不同,this的值会发生变化。 但是有一个总原则,那就是this指的是调用函数的那个对象。 this一般情况下:是全局对象Global。 作为方法调用,那么this就是指这个对象
l Q:请说出vue.cli项目中src目录每个文件夹和文件的用法? A:assets文件夹是放静态资源;components是放组件;router是定义路由相关的配置;view视图;app.vue是一个应用主组件;main.js是入口文件
l Q:谈谈angularjs最核心的东西 A:最为核心的是: MVC 模块化 自动化双向数据绑定 语义化标签、依赖注入等等
l Q:vue/angular单页应用有哪些优缺点? A: 优点: 速度:更好的用户体验,让用户在web app感受native app的速度和流畅, MVC:经典MVC开发模式,前后端各负其责。 ajax:重前端,业务逻辑全部在本地操作,数据都需要通过AJAX同步、提交。 路由:在URL中采用#号来作为当前视图的地址,改变#号后的参数,页面并不会重载。 分离前后端关注点,前端负责界面显示,后端负责数据存储和计算,各司其职,不会把前后端的逻辑混杂在一起; 减轻服务器压力,服务器只用出数据就可以,不用管展示逻辑和页面合成,吞吐能力会提高几倍; 同一套后端程序代码,不用修改就可以用于Web界面、手机、平板等多种客户端; 缺点: SEO问题,现在可以通过Prerender等技术解决一部分; 前进、后退、地址栏等,需要程序进行管理; 书签,需要程序来提供支持;
|