b站/哔哩哔哩/bilibili 2022/9/1 前端笔试
选择题-15题-75
- HTTPS 没有加密以下字段
- 请求头
- 请求域名
- 请求路径
- 请求参数
- 下面哪个数字表达式结果是不准确的
- 服务器直接返回 0.3
- (0.1 + 0.2).toFixed(1)
- (0.1 + 0.2) * 100 / 100
- 使用 Math.js
- HTTP STATUS CODE 的表意不对的是
- 200 请求成功
- 302 服务器拒绝请求
- 405 没有这个请求方法
- 500 服务器出错
- 设置哪个请求头字段可以避免跨域发送 OPTION 请求
- Content-Type: application/json
- ACCEPT: application/json
- 还有两个忘了
- SVG 相对于 Canvas 的以下优势哪个是不正确的?
- 可以设置事件监听器
- 不受分辨率影响
- 在复杂计算上更有优势
- 以下关于 deffer 和 async 的选项哪个是正确的?
- defer 不能保证多个脚本的执行顺序
- 设置了 async 的脚本的加载和执行不会阻塞页面渲染
- 设置了 defer 的脚本在 DomContentLoad 事件触发后会马上执行
- 设置了 async 的脚本加载完成后会马上执行
- 中序遍历为 BADCFE,先序遍历为 ABCDEF,求后序遍历
- 实现能随滚动条滚动,并固定在右下角的选项是?
- position: absoulte; left: 100%; bottom: 0
- position: absoulte; right: 0; bottom: 0
- position: fixed; left: 100%; bottom: 0
- position: fixed; right: 0; bottom: 0
- 代码题 1
function Err() {
throw new Error();
}
const obj = {
async fun1() {
try {
await Err();
} catch(e) {
console.log('A');
}
},
async fun2() {
try {
return Err();
} catch(e) {
console.log('B');
}
},
async fun3() {
try {
Err();
} catch(e) {
console.log('C');
}
}
}
try {
obj.fun1();
obj.fun2();
obj.fun3();
} catch(e) {
console.log('D');
}
// 这题是真不记得了,选项是 AD/AB/AC 啥的,但我回忆的这个运行起来是 ABCD - 代码题 2
Promise.reject(0).catch(e => e).catch(e => console.log(e));
// 这题的意思是 console.log() 整个结果,回忆了以下感觉没有正确的答案
// 除非是 console.log() 整个结果
Promise.reject(0).catch(e => e); // Promise {<fulfilled>: 0}
/* 因此最后的 catch 里面的 console.log() 不会执行 */ - 代码题 3
for(let i = 0; i < 3; i++) {
setTimeout(() => {
console.log(i)}
,1000);
}
// 0 1 2 - 代码题 4
window.value = 'v';
function fn() {
console.log(this.value);
}
function callArrowFun() {
const fun = () => {
console.log(this.value);
}
fun();
}
function arrowFun() {
return () => {
console.log(this.value);
}
}
const obj1 = {
value: 'a',
fn: fn
}
const obj2 = {
value: 'b',
fn: callArrowFun,
}
const obj3 = {
value: 'd',
fn: arrowFun,
}
fn();
obj1.fn();
obj2.fn();
obj3.fn();
// v a b v
// 排除法做的,不知道下面这个为啥是 b
// function callArrowFun() {
// const fun = () => {
// console.log(this.value);
// }
// fun();
// } - 代码题 5
// 经典 promise 题目
function echo() {
console.log(1);
const promise = new Promise((resolve) => {
console.log(2);
resolve();
});
promise.then(() => {
console.log(3);
});
setTimeout(() => {
console.log(4);
}, 0);
console.log(5);
}
// 1 2 5 3 4 算法 - 25
两道 ******** 原题,我到 19:30 的时候才有通知说有笔试,写到算法只有 12 分钟根本做不完
- ********-72. 编辑距离 hard,🐂,说实话编辑距离真的考很多,就前几天 360 好像就考了类型题,有 24/25/26/... 届的以后看到这题要当成快排来刷
- ********-20. 有效的括号 easy,升级版,要求返回最近不闭合的括号和索引
比如 (([)),应该返回 ],2
不过测试用例的确很少,第一题 0/2/6 的比例在 33.33%,也就是说答案似乎就只有 0/2/6,第二题只输出测试用例的答案也能过 20%
有其遗漏的希望补充,b站能不能做多次笔试的?或者b站会不会很看重笔试成绩?(希望被捞)
#B站##b站##面经##秋招##笔试#