# 可亚医疗
8个小球 其中一个比其他7个重 找出 O(logn/3)
- 数组 find、filter区别
// 1. 包含字符的子数组最小成都 // 2. case通过率 // ['test1a', 'af1a', 'af2b', 'bc1a', 'bc1a'] // ['pass', 'fail', 'pass', 'pass', 'pass'] ->2
// 3.xxx // + - C D // 1 -> [1] // 2-> [1,2] // + =>
点是否在三角形中(斜率)、点是否在多边形中
两条线是否相交
点播不自己播放问题
webGL 和canvas坐标信息转换
Promise.resolve().then(() => {
console.log('promise1');
setTimeout(() => {
console.log('setTimeout1')
},10)
})
setTimeout(() => {
console.log('setTimeout2')
Promise.resolve().then(() => {
console.log('promise2')
})
}, 30) // 试着调整这个值
// promise1, setTimeout1, setTimeout2, promise2
const isValid = s => {
let aLen, bLen;
s.replace(/([ab])\1+/g, ($0, $1) => {
if($1 === 'a') {
aLen = $0.length;
} else if($1 === 'b') {
bLen = $0.length;
}
})
return {a: aLen, b: bLen, len: s.length}
}
const fn = str => {
let len = str.length;
let res = ''
let aMax = 0,bMax = 0;
let maxLen = str.length
for(let i = 0; i < len; i++) {
for(let j = i; j < len; j++) {
let s = str.substring(i, j)
let len = isValid(s);
if(len.a >= aMax && len.b >= bMax) {
if(len.a === aMax && len.b === bMax && len.len < maxLen) {
res = s;
aMax = len.a
bMax = len.b
maxLen = len.len
break;
}
res = s;
aMax = len.a
bMax = len.b
maxLen = len.len
}
}
}
return res;
}
console.log(fn('abaaaabbbbbab'))
// 第二方法
var str = 'abbbbbbbaaaaabbbbbaaa'
let max = 0
let s = '';
let left = 0;
while(left < str.length) {
str.slice(left).replace(/([ab])\1*([ab])\2*/g, ($0, $1, $2) => {
if($0.length > max) {
max = $0.length;
s = $0;
}
})
left++;
}
console.log(s)
# 创客贴
- try catch finally
- bigint
- symbol作用
- requestIdleCallback
- 强缓存
- promise catch 返回的是?
- node setTimeout setImmediate
- vue技术细节
# 碳足迹
- Symbol什么时候相等?
- 异步错误捕获方法?
# 字节
模板解析
let year = 2022; let month = 12; let day = 31; let str = render(`${year} - ${month} - ${day}`); console.log(str); function render(str) { return str.replace(/\{(\w+)\}/g, function (match, key) { return str[key]; }); }扑克牌问题
const shuffle = nums => { let res = []; while(nums.length) { if(res.length > 1) res.unshift(res.pop()) res.unshift(nums.shift()); } return res; }输出值
console.log(1); setTimeout(() => { console.log(2) }, 100) async function test() { console.log(3) await test1(); console.log(4) } function test1() { return new Promise(resolve => { console.log(5); resolve();// 注意这里 }) } test(); let a = new Promise(resolve => { setTimeout(() => { resolve(); console.log(6) }) }).then(() => { console.log(7) }) console.log(8) // 1, 3, 5, 8, 4, 6, 7, 2 --- resolve 存在输出4 否则不输出webgpu? YUV PCM
mp4、flv、m3n8
← 2021 2022面试记录--代码 →