不折腾的前端,和咸鱼有什么区别前端
目录 |
---|
一 目录 |
二 前言 |
三 360 |
3.1 笔试题 |
3.2 面试题 |
四 bilibili |
4.1 一面 |
4.2 二面 |
4.3 后续 |
返回目录git
2020 面试其实不止 2 家,可是一是我偷懒,二是我以为若是小伙伴将 2020 求职系列认认真真看过了,一面题都不是问题,问题是二面问项目的。github
因此但愿小伙伴们看完这篇文章后,能审视下本身的项目经验,能不能作更好的提高。面试
返回目录算法
360 是搭高铁过去现场面的,顺带看看内推个人大佬。小程序
返回目录微信小程序
pop()
、push()
、shift()
、unshift()
的做用Event Loop
及 var
变量污染作打印题1234567890.11
-> 1,234,567,890.11
add(1)(2)(3)
有 N 天未打卡及漏打卡数组 missDays,有 M 张补打卡,总共有 allDays 天,使用补打卡,得到最长连续打卡天数。跨域
例如:数组
5, [10, 30, 55, 56, 90], 2, 120
65
const getLongest = (M, missDays, N, allDays) => {
};
getLongest(5, [11, 32, 53, 84, 95], 2, 120); // 65
复制代码
解题:浏览器
const getLongest = (M, missDays, N, allDays) => {
// 第一部分:求连续天数区间
// 1. 设置连续天数列表
const area = [];
// 2. 设置打卡区间 [0, allDays + 1]
missDays.unshift(0);
missDays.push(allDays + 1);
// 3. 遍历丢失打卡记录,添加连续天数
for (let i = 1; i < missDays.length; i++) {
area.push(missDays[i] - missDays[i - 1] - 1);
}
// 4. 漏打卡 missDays:[0, 11, 32, 53, 84, 95, 121] -> 连续天数 area:[10, 20, 20, 30, 10, 25]
// 第二部分:补打卡 > 漏打卡 快速通道
// 5. 若是补打卡大于漏打卡,直接累加求值
if (N > M) {
return area.reduce((prev, next) => prev + next, 0) + M;
}
// 第三部分:求补打卡后最长连续天数
// 6. 设置最大值
let result = 0;
// 7. 设置当前和
let sum = 0;
// 8. 设置队列
const queue = [];
// 9. 遍历连续区间,连续 N + 1 个数字求和,求最大
for (let i = 0; i < area.length; i++) {
// 10. 若是 queue 队列已经爆满,再添加就溢出,那就边添加边移除元素
if (queue.length === N + 1) {
// 10.1 队列添加一个元素
queue.push(area[i]);
// 10.2 sum 累加,而后减去队列移除的元素
sum += area[i];
const shift = queue.shift();
sum -= shift;
} else {
// 10.3 queue 原始队列
queue.push(area[i]);
// 10.4 sum 原始累加
sum += area[i];
}
// 11. 求连续最大
if (sum > result) {
result = sum;
}
}
// 12. 返回结果(须要加上补打的 2 天)
return result + N;
};
// 漏打卡 missDays:[0, 11, 32, 53, 84, 95, 121]
// 连续天数 area:[10, 20, 20, 30, 10, 25]
console.log(getLongest(5, [11, 32, 53, 84, 95], 2, 120)); // 72
console.log(getLongest(5, [11, 32, 53, 84, 95], 3, 120)); // 88
console.log(getLongest(5, [11, 32, 53, 84, 95], 6, 120)); // 120
复制代码
1px
问题Cookie
、SessionStorage
、LocaleStorage
Token
setTimeout
、requestAnimationFrame
)touchstart
-> touchmove
-> touchend
-> click
)FastClick
库中在 touchend
上进行自定义事件,而不是其余事件呢204
和 304
区别?301
和 302
区别?CORS
进行跨域,简单请求和复杂请求有什么不一样?Git Flow
bilibili 采用的是牛客网面试方式,毕竟是异地。
flat()
模拟手写实现二面后凉了。
分析:没回答好,我的比较懵逼。
jsliang 的文档库由 梁峻荣 采用 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议 进行许可。
基于 github.com/LiangJunron… 上的做品创做。
本许可协议受权以外的使用权限能够从 creativecommons.org/licenses/by… 处得到。