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站##面经##秋招##笔试#