不折騰的前端,和鹹魚有什麼區別前端
目錄 |
---|
一 目錄 |
二 前言 |
三 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… 處得到。