您的位置:首页 > 职场人生

前端面试题整理(1)

2017-04-10 00:00 330 查看
摘要: 面试

1、除了jsonp,你还了解哪些跨域解决办法?

答:1、使用HTML5中新引进的window.postMessage方法来跨域传送数据

2、浏览器的API web sockets,只有在支持web socket协议的服务器上才能正常工作。

3、直接交给后台,后台不存在跨域情况

2、关于node你了解多少,node依赖于什么?

答:Node是一个JavaScript的运行环境(平台),核心--单线程、事件驱动、非阻塞I/0,里面只要出现有异步操作对应的API就会有对应的回调函数作为参数,依赖于什么?

3、以前做的APP用什么打包的?(日后工作碰到再了解)

答:1、PhoneGap Build Service 打包

2、android SDK +eclispe 打包

4、向后端拿数据时候有相关权限吗?怎么设定(这问题问得好像很有深度)

答:如果要做ajax请求后台数据,必须的url路径,可选的对象参数,另一种就是服务端写好接口,前端用php进行模版渲染。 一般都是和后端人员商量前端页面需要什么数据让他提供什么接口及返回类型

5、网络协议websocket?

答:WebSocket协议是一种双向通信协议,也是基于TCP通信原理通过握手与服务器进行通信,通过长轮询可以作实时通信,过往的http需要每次发送请求才能返回信息。

6、es6语法,箭头函数为了解决什么?

答:偷懒少些function,代码更简洁,this的指向直接向上级找,省略了return

7、说说react和react-native你所了解的

答:同样的 react virtual dom 作为 数据驱动,react.js 以浏览器 DOM 作为后端,react native 以 iOS 或 Android 原生控件作为后端。MVVM思想、组件式开发、Dom diff算法、生命周期(实例化阶段、存在阶段和销毁阶段)

8、你用了MVC思想开发之后有什么感觉?

答:数据和视图的分离,让开发者可以专注业务逻辑一块,减少了dom操作,

如果修改指定区域可以快速定位到指定模块修改对应的数据逻辑或者视图展示,而且这种低耦合,高内聚的模块联系,就不必牵一发动全身的尴尬局面。

9、实际工作上怎么处理兼容性问题?

答:通过HTML5的底层框架来屏蔽不同浏览器的兼容问题,所有的HTML5应用在框架之上来开发。像国外的Bootstrap、jQuery UI等都是很好的UI框架,Modernizr.js也是解决浏览器不兼容个h5,css3的问题

10、你遇到bug,怎么解决

答:浏览器都自带控制台,通过看控制台的错误去具体判断什么类型的错误,如果控制台不报错,但又达不到想要的结果,通过打断点去进一步细查代码中哪里有误,要么就换个思路去处理。

11、你的学习途径,如何系统学?

12、以前的项目怎么打包上线的

答:通过自动化编译工具,把文件进行合并,压缩等操作,达到通过少量的 HTTP 请求获取到所需要的前端资源了, 节省流量, 加快页面加载速度。

13、组件和模块的区别?

答:模块一般说的是功能,一个功能作为一个模块。比如注册功能,整个这个流程是一个模块。编程模块化有助于并行开发,相互不影响,能单独进行功能测试,所
有模块都开发完成后,在集成到一起进行集成测试,然后交付。现在模块化开发很流行,一个团队开发,基本上一个人负责一块,最后再组合到一起。组件化则
更接近编码,将页面拆分成几个多个可服用的组件。组件是单一功能的代码片段,可以通过参数来显示出不同的状态,建议稍微看下react,组件化做的很详细
。组件化就类似于积木一样,开发的最后结果是最终程序,但实际上是开发的单个积木零件,最后组合到一起。组件化能提高代码的复用率,但感觉后期维护性
不那么好。一旦需求变更,可能需要做较大改动。

14、websocket localstorage 你是用在什么地方

答:websocket用于实时通信,后者用法类似cookie

参考链接(http://www.zhangxinxu.com/wordpress/2011/09/html5-localstorage

15、cookie是什么?

浏览器每次请求都会在请求头里带上一个cookie给服务器,服务器拿到cookie识别具体信息是否第一次登陆等操作,再把响应头返回给浏览器让浏览器去渲染页
面,一般用在用户登录是否自动登录,存取购物车商品信息用作支付时辨别。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面试