8.13
create-tamplate
,比如 Vue CLI
、create-react-app
提供的模板,面试官会根据你讲的实现细节一个个提问ESLint
作为一个代码检查工具都包括什么东西呢?ESLint
怎么实现代码检查呢?(比如命令行、配置文件)ESLint
需要进行怎样的配置实现代码检查呢?ESLint
检查呢?(git Hook
( git
钩子),比如 Husky
)Vue Router
的两种模式www.yfd.com
,Path: se
,如果使用 Hash
模式,是 www.yfd.com/#se
,如果是使用 History
模式,是 www.yfd.com/se
,这两个路径对于浏览器和服务端的交互来说有什么不同?axios
怎么封装axios
的拦截器一般会配置什么呢?token
)axios
的响应拦截器一般会配置什么呢?比如状态码404
状态码需要做什么呢?处理状态码处理还需要做什么吗?Vue
的 Mixin
实现原理0
,改成了 -1
一面面试官的英语好好/(ㄒoㄒ)/~ ~,好几次都听不懂我的一些术语的表达,她还教了我 axios
是怎么读的
8.20
// 变量指向
var a = 10;
var obj = {
a: 20,
say: () => {
console.log(this.a);
},
};
obj.say();
var anotherObj = { a: 30 };
obj.say.apply(anotherObj);
// 变量提示
var a = 10;
function foo() {
console.log(a);
let a = 20;
}
foo();
// 暂时性锁区
var a = 10;
function foo() {
console.log(a);
var a = 20;
}
foo();
// promise 系列输出
async function async1() {
console.log("async1 start"); //
await async2();
console.log("async1 end"); //
}
async function async2() {
console.log("async2"); //
}
console.log("script start"); //
setTimeout(function () {
console.log("setTimeout"); //
}, 0);
async1();
new Promise((resolve) => {
console.log("promise1"); //
resolve();
}).then(function () {
console.log("promise2"); //
});
console.log("script end"); //
// 手写 Promise.prototype.race
function race(arr) {
return new Promise((resolve, reject) => {
for (let i = 0; i < arr.length; i++) {
if (arr[i] instanceof Promise) {
arr[i].then(
(value) => {
resolve(value);
},
(reason) => {
reject(reason);
}
);
} else {
resolve(arr[i]);
}
}
});
}
race([
new Promise((resolve) => setTimeout(resolve(2), 400)),
new Promise((resolve) => setTimeout(resolve(3), 100)),
]).then(
(value) => {
console.log(value);
},
(reason) => {
console.log(reason);
}
);
有些可能不太记得了
9.2
formatTime(60) // 00:01:00
formatTime(3661) // 01:01:01
formatTime(86401) // 00:00:01