阿里巴巴2016前端工程师笔试题1总结
2017-07-30 08:15
387 查看
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; }
相关文章推荐
- 阿里巴巴2016前端开发工程师笔试一
- 阿里巴巴2016前端开发工程师笔试(二)
- 试卷: 阿里巴巴2016前端开发工程师笔试(一)
- 网易2016实习生前端笔试题部分总结
- 阿里巴巴2016前端开发实习生面试一面面经(总结)
- 阿里巴巴2015秋季校园招聘前端开发工程师在线笔试题及答案
- 阿里巴巴2016研发工程师笔试题
- 阿里巴巴2016研发工程师笔试题
- 阿里题目总结——阿里巴巴2015研发工程师A笔试
- 2015阿里巴巴前端实习生在线笔试考后总结
- 2017阿里巴巴秋招前端笔试题总结
- 阿里2016前端开发工程师笔试 - 布局之左侧自动宽度右侧固定宽度
- 2017盛大游戏2017前端工程师校招笔试题总结
- 阿里巴巴2015秋季校园招聘前端开发工程师在线笔试题及答案
- 阿里题目总结——阿里巴巴2010搜索研发C++工程师笔试卷
- 阿里题目总结——阿里巴巴2015研发工程师B笔试卷
- 阿里巴巴2015秋季校园招聘前端开发工程师在线笔试题及答案
- 【WEB】网易2017年前端工程师实习生招聘笔试编程题总结
- 阿里巴巴2016研发工程师笔试题(四)
- 面试总结三---2015百度校园招聘长沙站前端工程师笔试面试经历