Closed amenzai closed 6 years ago
面试环节:
面试准备:
一面二面
// 新建事件实例 如果需要传递数据则需要CustomEvent var event = new Event('build');
// 添加监听函数 elem.addEventListener('build', function (e) { ... }, false);
// 触发事件 elem.dispatchEvent(event);
- Http协议类 - HTTP协议的主要特点 简单快速:URL对应一个资源 灵活:传个类型,就是请求对应文件类型的资源 无连接:连接一次就会断掉 无状态:不能区分两次连接的身份 - HTTP报文的组成部分 请求报文:请求行、请求头、空行、请求体 ![image](https://user-images.githubusercontent.com/20960902/37249106-a5f12974-251b-11e8-93aa-06e053884e44.png) 相应报文:状态行、响应头、空行、响应体 ![image](https://user-images.githubusercontent.com/20960902/37249117-ca6bb9cc-251b-11e8-9112-df63287947bf.png) - HTTP的方法 ![image](https://user-images.githubusercontent.com/20960902/37249118-d3ca48ee-251b-11e8-8662-372ede0b9894.png) - POST和GET的区别 ![image](https://user-images.githubusercontent.com/20960902/37249120-e53b2328-251b-11e8-8b6a-5fa9984f33db.png) 记住三到四个 - HTTP状态码 ![image](https://user-images.githubusercontent.com/20960902/37249137-7a01d52e-251c-11e8-9f82-efe1a256c5ca.png) ![image](https://user-images.githubusercontent.com/20960902/37249142-82e51264-251c-11e8-89e6-5a39153f7185.png) ![image](https://user-images.githubusercontent.com/20960902/37249150-ada5de20-251c-11e8-902e-72dac0c2c3d2.png) - 什么是持久连接 ![image](https://user-images.githubusercontent.com/20960902/37249158-d305ea3e-251c-11e8-97ea-365b92d79753.png) - 什么是管线化 ![image](https://user-images.githubusercontent.com/20960902/37249161-f2dae9fe-251c-11e8-85b0-3258f13e5a47.png) ![image](https://user-images.githubusercontent.com/20960902/37249166-21bb7ac2-251d-11e8-81c7-f5856635846b.png) - 原型链类 - 创建对象几种方法 ![image](https://user-images.githubusercontent.com/20960902/37249240-b7cae628-251e-11e8-9899-6ae53045efcb.png) - 原型、构造函数、实例、原型链 ![image](https://user-images.githubusercontent.com/20960902/37249245-d5b3b052-251e-11e8-975b-e79550efa0a0.png) - instanceof的原理 ![image](https://user-images.githubusercontent.com/20960902/37249253-2bee3e10-251f-11e8-9a56-a11ec3b80f68.png) - new运算符 ![image](https://user-images.githubusercontent.com/20960902/37249286-b163e338-251f-11e8-877b-7ad8820708d7.png) - 面向对象 - 类与实例 类的声明 生成实例 - 类与继承 如何实现继承 继承的几种方式 - 通信类 - 什么是同源策略及限制 - 前后端如何通信 - 如何创建Ajax - 跨域通信的几种方式 - 安全类 - CSRF 基本概念:跨站请求伪造 攻击原理 ![image](https://user-images.githubusercontent.com/20960902/37249852-7d4d4d18-252a-11e8-938d-7b7fd53d92d4.png) 防御措施:TOKEN验证、Referer验证(页面内来源验证)、隐藏令牌 - XSS 基本概念:跨域脚本攻击 攻击原理:不需要登录验证,根据合法渠道,注入脚本 防范措施: - 算法类 - 排序 ![image](https://user-images.githubusercontent.com/20960902/37250012-bf9aa14a-252d-11e8-8501-f848892783eb.png) ![image](https://user-images.githubusercontent.com/20960902/37250013-c70915d8-252d-11e8-8c0e-533f3744fed9.png) - 堆栈、队列、链表 ![image](https://user-images.githubusercontent.com/20960902/37250019-e402e790-252d-11e8-913b-5f8cf0f4eb25.png) - 递归 ![image](https://user-images.githubusercontent.com/20960902/37250020-ea562968-252d-11e8-8b5e-61bb6cf0014c.png) - 波兰式和逆波兰式 ![image](https://user-images.githubusercontent.com/20960902/37250025-08dc2298-252e-11e8-8517-dc606ee39b54.png) 先理解题目(问面试官给个提示,说自己知道用了什么技术点,自己说一下。。) **二面/三面** 面试技巧: - 知识面要广 - 理解要深刻 - 内心要诚实 - 态度要谦虚 - 回答要灵活 - 要学会赞美 1. 渲染机制 什么是DOCTYPE及作用 ![image](https://user-images.githubusercontent.com/20960902/37250178-af412a2c-2531-11e8-828c-66251ffb4509.png) 浏览器渲染过程 ![image](https://user-images.githubusercontent.com/20960902/37250192-00721abe-2532-11e8-9291-dad40fa29ab3.png) 重排Reflow 重绘 布局 2. JS运行机制 ![image](https://user-images.githubusercontent.com/20960902/37250312-8341e3dc-2534-11e8-83d3-b2329bd93f49.png) 3. 页面性能 ![image](https://user-images.githubusercontent.com/20960902/37250322-dd701ad6-2534-11e8-8677-974d1f67beb1.png) 缓存: ![image](https://user-images.githubusercontent.com/20960902/37250376-1e592d98-2536-11e8-99c0-8dd6fbe559c6.png) 4. 错误监控 ![image](https://user-images.githubusercontent.com/20960902/37250434-7bec1154-2537-11e8-8e61-1f7cb732d408.png) ![image](https://user-images.githubusercontent.com/20960902/37250470-66f77af8-2538-11e8-9581-ff00a1acdd1f.png) --- **三面四面** 面试技巧: - 准备要充分 - 描述要演练(模拟演练) - 引导找时机(引导说出自己优势,做过的项目啥的) - 优势要发挥 - 回答要灵活 考查能力: - 业务能力 - 主动描述或被动回答 ![5-1 mp4_20180806_111002 553](https://user-images.githubusercontent.com/20960902/43695152-738743fc-9969-11e8-9fe5-e2ba76c175f1.jpg) - 团队协作能力 ![up1](https://user-images.githubusercontent.com/20960902/43695482-91e8cec2-996b-11e8-92f3-03e8fccec462.jpg) - 事务推动能力 ![5-2 mp4_20180806_111758 024](https://user-images.githubusercontent.com/20960902/43695491-98908b84-996b-11e8-9c53-8328af8f466f.jpg) - 带人能力 ![5-2 mp4_20180806_111833 048](https://user-images.githubusercontent.com/20960902/43695504-a975cb3a-996b-11e8-8d1c-470993e3bdf4.jpg) - 其他能力 - 组织能力 - 学习能力 - 行业经验 --- **最终面** 面试技巧: - 乐观积极 - 主动沟通 - 逻辑顺畅 - 上进有责任心 - 有主张,做事果断 考察问题: - 职业竞争力 ![6-1 mp4_20180806_112528 128](https://user-images.githubusercontent.com/20960902/43695470-72fa6106-996b-11e8-8f4d-db462b0764dd.jpg) - 职业规划 ![6-2 mp4_20180806_112910 520](https://user-images.githubusercontent.com/20960902/43698843-a442ee1e-997e-11e8-8802-1a9938459bbf.jpg)
面试环节:
面试准备:
一面二面
// 添加监听函数 elem.addEventListener('build', function (e) { ... }, false);
// 触发事件 elem.dispatchEvent(event);