阿里2016前端面试题解析

需积分: 10 6 下载量 143 浏览量 更新于2024-09-08 收藏 570KB PDF 举报
"阿里2016前端开发工程师面试及答案" 面试是评估技术能力的重要环节,本资源包含了2016年阿里巴巴前端开发工程师面试的相关题目和答案,旨在帮助应聘者准备面试。以下是其中涉及的一些关键知识点: 1. 鼠标触发的事件: - `click`:鼠标点击事件 - `contextmenu`:右键菜单事件 - `mouseout`:鼠标离开元素事件 - `keydown`:键盘按键事件,不是由鼠标触发的 2. CSS布局: - 块级元素的实际宽度受多个因素影响,包括`width`、`border`、`padding`,但不包括`background`属性。背景属性只影响元素内部的视觉效果,不影响元素的宽度。 3. HTML最佳实践: - 应在页面顶部添加doctype声明,以确保浏览器以标准模式解析页面 - 不推荐使用`<font>`标签,因为它限制了样式控制,应使用CSS替代 - 使用`<table>`元素展示结构化数据如学生成绩表是合理的,但在布局中不推荐,应使用CSS布局 - 在`<head>`和`<body>`之间插入HTML代码是正常的做法 4. HTTP请求传输数据: - 存入IndexdDB和LocalStorage是在客户端存储数据,不用于传输 - 写入COOKIE可以携带小量数据,但通常不超过4KB,不适合传输大量数据 - 放在URL参数有限制,不适合大容量数据 - 写入Session是服务器端存储,不适合传输大量数据 - 使用POST方法适合传输大块数据 5. CSS定位: - `position:absolute;`:绝对定位,脱离正常文档流 - `position:fixed;`:固定定位,也脱离正常文档流 - `position:relative;`:相对定位,仍在正常文档流中 - `float:left;`:浮动元素,脱离正常文档流 6. JavaScript语言特性: - JavaScript实现继承主要基于原型链(prototype),而不是类式继承,如Java - 当JavaScript解析引擎查找对象属性时,会沿着原型链向上搜索,找不到则返回`undefined` - 给对象赋值时,如果对象已有该属性,则直接修改,否则添加新属性 7. JavaScript函数与对象: - 为了支持`a.name="name1"; b.name="name2"`,我们可以创建一个构造函数,并利用原型链: ```javascript function Obj(name) { this.name = name; } Obj.prototype.name = "name2"; var a = new Obj("name1"); var b = new Obj(); ``` 这些知识点涵盖了前端开发中的基础概念,包括事件处理、CSS布局、HTML规范、HTTP通信以及JavaScript的核心特性。理解和掌握这些内容对于前端开发工程师来说至关重要。