阿里2017暑期前端实习面试总结
2017-03-23 13:44
621 查看
阿里2017暑期前端实习面试总结
还没准备好呢,第一个面的就是阿里,主要问了JS基础的问题。基本都没答上来= =。只能事后诸葛亮,把这些问题的答案整理一下了。
1. 描述一下构造函数,为什么需要构造函数?
/*形如这样的是构造函数=*/ function Person(name){ this.getName = function(){ return name; } this.setName = function(value){ name = value; } }
注意事项:
1.构造函数必须要用new调用。
/*当作构造函数使用*/ var person = new Person("Jack"); person.getName(); //Jack /*作为普通函数,添加到window*/ Person("Jack"); window.getName(); //Jack
2.构造函数名的首字母应该大写,避免和普通函数混淆。
3.构造函数的缺点:针对每个实例都会创建同样的一组新方法。
为什么要使用构造函数?
构造函数创建的所有对象可以共享相同的原型。这意味着同一个构造函数创建的所有对象都继承自一个相同的对象,因此它们都是同一个类的对象。所以构造函数是实现继承的必经之路。
2. 用构造函数可以解决哪些问题?
3. 构造函数是如何继承的?
通过原型链继承。比如我们有一个构造函数Person(),那么Person.prototype指向了它的原型对象,而原型对象的构造函数属性即Person.prototype.constructor又指回了Person。
在Person中,可以调用原型对象里的方法,也可以通过在构造函数中编写方法来重写。
4. LESS和SASS对比有什么优缺点?
SASS:社区成熟,功能比LESS更强大,提供更多特性。Sass是基于Ruby的,是在服务器端处理的。LESS:受SASS启发而开发出来的,使用的CSS语法,学习成本低,Bootstrap就是使用LESS编写的。LESS是基于JavaScript运行,所以LESS是在客户端处理。但是SASS和LESS都可以通过在本地编译成CSS文件后导入。
STYLUS:2010年产生,来自Node.js社区,主要用来给Node项目进行CSS预处理支持,功能强壮,和js联系紧密,但人气较低。
5. 用原生JS实现一个DOM选择器。
/* 该类选择器的实现方法,首先创建一个空的数组classobj,用来存放获取到的DOM节点。 classint变量用来进行索引的表示,方便数组操作。我们利用getElementsByTagName(“*”) 方法获取了这个页面上的所有DOM节点(*表示匹配所有)。 取出了所有DOM节点,我们就可以进行判断了。循环遍历取到的每一个节点,如果它的 nodeType是1(元素节点),则利用getAttribute(“class”)方法获取节点的class属性值, 并与传递进来的class参数进行比对,如果相同,说明是我们想要的节点,存入事先定义好的数组 中。最后返回该数组即可。 */ function getElementsByClass(classnames){ var classobj = newArray(); var classint = 0; var tags =document.getElementsByTagName("*"); for(var i in tags){ if(tags[i].nodeType == 1){ if(tags[i].getAttribute("class") == classnames){ classobj[classint] = tags[i]; classint++; } } } return classobj; }
6. 有没有了解闭包。
简单地说,闭包是指有权访问另一个函数作用域中变量的函数。闭包的常见方式,就是在一个函数内部创建另一个函数,内部函数访问了外部函数中的变量。建议:掌握好JS基础,可以学node.js入手。前端日新月异的发展都只是表象,内在都是原生的JS与浏览器进行沟通,现在很多实习生都是学习和使用大量的框架,但是很少有人去了解背后的原理,所以掌握好JS基础非常重要。
总结:好好学习JS基础。
相关文章推荐
- 2017年腾讯、阿里暑期前端实习面试总结
- [置顶] 2017腾讯暑期实习生从笔试到面试总结(附带华为、阿里面试经历)
- 2017 实习面试问题总结(阿里、头条、美团、cvte、乐视、华为)
- 2017阿里实习校招-前端技术视频面试体会
- 谈谈阿里实习生招聘面试经历及经验总结(回忆版)--前端开发
- 腾讯2015暑期实习电话面试总结
- 暑期实习面试总结
- 2017暑期实习招聘-产品经理-阿里云(技术型平台经理)(2)-电话面试
- 阿里巴巴2015暑期实习面试经历(前端开发)
- 阿里实习转正面试收获总结
- 阿里,华为,腾讯,小米2017实习面试经历
- 阿里暑期实习一面总结
- 北京前端实习面试总结2015
- 前端实习面试总结(4.14大连腾讯)
- 2013微软暑期实习笔试&面试总结
- 摩根史丹利2015暑期实习电话面试总结
- 百度前端研发实习岗面试总结
- 第一次实习面试总结(阿里电面&外汇管理局现场面)
- 微软暑期实习面试总结