【笔记-面试】《imooc -前端跳槽面试技巧》、《imooc- 揭秘一线互联网企业 前端javaScript高级面试》、《imooc-前端javascript面试技巧》

20190204:《imooc -前端跳槽面试技巧》

第01章 课程介绍

01-01 课程导学

一、一面知识点
1、面试技巧 页面布局类
2、css盒模型dom事件类
3、http协议类 原型链类
4、面向对象类 通信类
5、前端安全类 前端算法类
二、二面
1、面试技巧
2、渲染机制类
3、js运行机制
4、页面性能
5、错误监控
三、三面
1、面试技巧
2、业务能力
3、团队协作能力
4、带人能力
四、终面
1、面试技巧
2、职业竞争力
3、职业规划

第02章 面试准备

2-02 职位分析(JD)(一)

一、京东金融是京东最赚钱的软件开发部门。
3、代码易读易可维护。
4、用户体验,用户研究等相关知识有深入的了解和实践经验。
5、web前端技术有兴趣,github,博客前沿技术。
6、sass、less等css预编译语言。(sass看一下)
7、了解、熟悉、精通。构建工具,推荐gulp。
8、grunt和gulp的区别。
9、面向对象,类,原型链
10、系统化设计:模块化设计,前后端分离
11、动画:dom动画,SVG的path
12、gpu加速,css的属性有哪些是能提高性能的?
13、web标准
14、js异常:js运行异常,资源加载错误(资源可用性、可访问性)

2-03 职位分析(JD)(二)

一、



二、怎么提升网站性能,dns预解析

三、application
1、local storage
2、字体,自定义字体,字体图标

2-05 业务分析或实战模拟(二)

一、async

(2)全局define函数

define(['./a-util.js'], function(aUtil) {
	return {
		printDate: function(date) {
			console.log(aUtil.aGetFromatDate(date));
		}
	}
})

(3)全局require函数

// main.js
require(['./a.js'], function(a) {
	var date = new Date();
	a.printDate(date);
})

(4)依赖js会自动、异步加载
2、commonJS
二、全局变量
1、全局变量很容易造成污染
2、js引用的顺序,和引用的条件(a.js应用了a-util.js,但是不知道还需要依赖util.js)。

7-08

一、CommonJs
1、nodejs模块化,现在被大量用于前端,原因:
(1)前端开发依赖的插件和库,都可以从npm中获取。
(2)构建工具的高度自动化,使用npm的成本非常低。
2、commonjs不是异步加载js,而是同步一次性加载出来。
3、服务器端不存在同步、异步的问题。
二、amd、cmd
1、amd推崇依赖前置。
amd在定义模块的时候要先声明其依赖的模块。
2、cmd推崇就近依赖。
cmd只要依赖的模块在附近就行了。

7-10

一、webpack.config.js中
context: path.resolve(__dirname, ‘./src’); // 找到该目录

7-13 构建工具-压缩

一、webpack.config.js中

module.exports = {
	context: ,
	entry: {},
	output: {},
	plugins: [
		new webpack.optimize.UglifyJsPlugin(); // 文件压缩
	]
}

7-14 上线回滚-上线回滚流程

一、上线流程要点
1、将测试完成的代码提交到git版本库的master分支。
2、将当前服务器的代码全部打包并记录版本号,备份。
3、将master分支的代码提交到线上服务器,生成新版本号。
二、回滚流程要点
1、将当前服务器的代码打包并记录版本号,备份。
2、将备份的上一个版本号解压,覆盖到线上服务器,并生成新的版本号。
三、
1、ls:文件名字
ll:文件列表
pwd:文件目录
cd … :返回上级目录
rm -rf a :删除文件a
vi a.js:创建a文件
cp a.js a1.js :将a.js拷贝成a1.js,放在当前目录
mv a1.js src/a1.js 将a1.js移到src下
cat a.js // 打印a.js内容
head a.js // 看头部部分
tail a.js // 看文件的尾部部分
head -n 1 a.js // 看头部第一行
tail -n 2 a.js // 看倒数第一二行
grep ‘2’ a.js // 搜出带2的一行

第08章 运行环境

8-01

一、题目
1、从输入url到html的详细过程
2、window.onload和DOMContentLoaded的区别

// 同window.onload
window.addEventListener('load', function() {
	// 页面全部资源加载完才会执行,包括图片、视频等。
})
document.addEventListener('DOMContentLoaded', function() {
	// dom渲染完即可执行,此时图片、视频可能还没有加载完
})

二、知识点
1、加载资源的形式
2、加载一个资源的过程
3、浏览器渲染页面的过程
三、加载资源的形式
1、输入url(或跳转页面)加载html
http://coding.m.imooc.com
2、加载html中的静态资源

3、减少dom查询,对dom查询做缓存。

// 未缓存dom查询
var i;
for (i = 0; i < document.getElementsByTagName('p').length; i++) {\
	// todo
}
// 缓存了dom查询
var pList = document.getElementByTagName('p');
var i;
for (i = 0; i < pList.length; i++) {
 // todo
}

4、减少dom操作,多个操作尽量合并在一起执行。

var frag = document.createDocumentFragment(); // 片段,循环插入dom,改成先插入到片段,再append到文档流

5、事件节流

var textarea = document.getElementById('text');
var timeoutId;
textarea.addEventListener('keyup', function() {
	if(timeoutId) {
		clearTimeout(timeoutId);
	}
	timeoutId = setTimeout(function() {
		// 触发change事件
	}, 100)
})

6、尽早执行操作(如DOMContentLoaded)

8-07

一、xss
1、前端替换关键字,如替换<为< > 为>
2、后台替换。

8-09

一、简历
1、简洁明了,重点突出项目经理和解决方案。
有什么问题,用什么解决
技术栈
二、博客,个人博客放在简历,并且定期维护更新博客。
三、个人的开源项目放在简历中,并维护开源项目。
四、简历不要造假,保持能力和经历上的真实性。

你可能感兴趣的:(interview,html,css,js,面试,html5)