阿里巴巴2016前端工程师笔试题1总结
来源:互联网 发布:网络架构工程师干什么 编辑:程序博客网 时间:2024/06/05 16:40
1.浏览器在一次 HTTP 请求中,需要传输一个 4097 字节的文本数据给服务端,可以采用那些方式?
正确答案为: post
常见的存储方式有六种:IndexDB/Cookie/get请求/post请求/Session/Storage
IndexdDB 是 HTML5 的本地存储,把一些数据存储到浏览器(客户端)中,当与网络断开时,可以从浏览器中读取数据,用来做一些离线应用。
Cookie 通过在客户端 ( 浏览器 ) 记录信息确定用户身份,最大为 4 kb ,也就是4096B 一般4095B
get 方法,从服务器上获取数据,大小不能大于 2 kb 。
Session 是服务器端使用的一种记录客户端状态的机制 。
post 是向服务器传送数据,数据量较大。
Storage 是 HTML5 的本地存储,将数据保存在客户端中
2.在JS语言特性中,有很多方面和其他的编程语言不太一样,比如,javascript的语言实现继承机制的核心是prototype原型机制,javascript解析器在读取一个Object的属性值时,会沿着_proto_原型链向上查找,如果最终没有找到该属性,则该属性值为undefined;如果找到则返回对应的结果。
3.填写内容让一下代码支持: a.name=”name1”; b.name=”name2”
function obj(name){ (1) }obj. (2) = "name2";var a = obj("name1");var b = new obj;
正确结果为:
1: if(name){ this.name = name; } return this;2. prototype.name;
通过obj(‘name1’)调用,返回this引用,并传给a, 此时a等于window对象,即可输出属性name值
new操作, new obj 等价于 new obj() ,实例化一个对象,这时this指向obj,要拿到b.name的值,需要保证name属性存在,属性查找原则是先查找当前实例有没有属性,如果有就直接使用,如果没有就到原型上面找,再没有就接着原型链一步一步,这里为了和a.name作属性区别,使用了if(name)有条件地构建this的属性name。所以,现在实例name属性提供给a使用,原型上的name提供给b使用。
4.请实现一个fibonacci函数,要求其参数和返回值如下所示:
/** *@desc: fibonacci *@param: count {Number} *@return: result {Number} 第count个fibonacci值,计数从0开始 fibonacci数列为:[1, 1, 2, 3, 5, 8, 13, 21, 34 …] 则getNthFibonacci(0)返回值为1 则getNthFibonacci(4)返回值为5 */function getNthFibonacci(count) {}
此题应该避免使用递归的方法,因为当count较大时,递归的方法耗时较长。故考虑使用迭代法,可以使用数组记录每一项。但此题只需要用到前面两项,从节约空间的角度讲不需要开辟数组。
使用数组的答案:
var obj = [];obj[0] = 1;obj[1] = 1;for(var i=2; i<=count; i++){ obj[i] = obj[i-1]+obj[i-2];}return obj[count];
不使用数组的最佳答案:
function getNthFibonacci(count) { if(count<0) return 0; if(count<=1) return 1; var first = 1; var second = 1; var third = 0; for(var i = 2; i <= count; i++) { third = first + second; first = second; second = third; } return third;}
阅读全文
0 0
- 阿里巴巴2016前端工程师笔试题1总结
- 阿里巴巴2016前端开发工程师笔试一
- 阿里巴巴2016前端开发工程师笔试(二)
- 2014年阿里巴巴前端工程师笔试题
- 阿里巴巴前端工程师面试总结
- 阿里巴巴2016研发工程师笔试题
- 阿里巴巴2016研发工程师笔试题
- 阿里巴巴2011前端工程师笔试卷
- 阿里巴巴2011前端工程师笔试卷
- 搜狗2015前端工程师笔试题总结
- 牛客网前端工程师评估笔试题总结
- 2017阿里巴巴秋招前端笔试题总结
- 阿里巴巴2016研发工程师笔试题(四)
- 阿里巴巴2015秋季校园招聘前端开发工程师在线笔试题及答案
- 阿里巴巴2015秋季校园招聘前端开发工程师在线笔试题及答案
- 阿里巴巴2014 3.29 研发工程师笔试题
- 2014 阿里巴巴系统工程师笔试题 北京
- 2015年阿里巴巴研发工程师笔试题
- node入门
- CodeForces
- CSU 1974:神奇药水(水?)
- Linux编程学习之进程间通信篇-进程间通信概述
- c#使用wpd读取便携式设备信息二
- 阿里巴巴2016前端工程师笔试题1总结
- C语言关键字 union基本知识
- TensorFlow(二)实现Softmax Regression 识别手写数字
- 506
- bootstrap登陆页面设计
- bzoj 2565 最长双回文串 马拉车
- 日志同步与时间同步
- SpringMVC4.3+ hibernate5 整合EhCache 二级缓存 给予java-config
- 发现一个很好的博客,连接是博客中一篇写三种梯度下降发的文章,收藏