amenzai / myDiary

Record what you do every day
4 stars 0 forks source link

JS基础面试 #50

Closed amenzai closed 6 years ago

amenzai commented 6 years ago

JS基础考题:


原型和原型链:

function fn () {}
console.log(fn.__proto__ === Function.prototype)
console.log(Function.prototype.__proto__ === Object.prototype)
console.log(Object.prototype.__proto__ === null)

instanceof:

原型链继承: 子类的原型对象实例化父类。


作用域和闭包:

执行上下文:

this:

当前作用域没有定义的变量称为自由变量。

闭包的使用场景:


异步和单线程


日期:

Math:

数组API:

对象API:


开发环境:加快开发效率


IDE:

后面三个编辑器,本身功能不多,需要依赖插件进行编码。


Git:

免费的git服务:coding.net github.com

一般公司都有自己的git服务器(搭建工作无需了解太多)

git基本命令和操作.....


模块化: 假如有三个JS文件,until.js a-until.js a.js,a.js依赖a-until.js中的函数,a-until.js依赖until.js里的函数

不使用模块化情况:

使用模块化情况:

AMD:require.js

CommonJs(服务器端,硬盘同步读取):

对比:


构建工具:


上线回滚:

基本流程: 上线

回滚

linux基本命令:

# login
ssh name@server # 回车会让你输入用户名、密码

# 创建目录
mkdir content
ls
ll
cd content 
pwd
cd ..
rm -rf content
cp a.js a1.js
mv a1.js src/a1.js
rm a.js

# vi编辑器
vi a.js
i
esc
esc:w 
esc:q
wsc:wq

# 查看文件内容
cat a.js

# 查看前一些
head a.js
head -n 1 a.js
# 查看后面一些
tail a.js
tail -n 2 a.js

# 搜索操作
grep '2' a.js

运行环境:(浏览器)


页面加载:

加载资源的形式、加载一个资源的过程、浏览器渲染页面的过程

加载资源的形式:

加载一个资源的过程:

浏览器渲染页面过程:

思考:


性能优化:

从这里入手:

加载资源优化:

渲染优化:


安全性: 大多是后端做的(数据库,服务器层面的)

XSS:

预防:

XSRF:

预防:


面试技巧:

简历:

过程: