Open FrankKai opened 3 years ago
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
示例 1:
输入: [2,2,1]
输出: 1
示例 2:
输入: [4,1,2,1,2]
输出: 4
给定一个乱序整形数组[0,1,7,13,15,16,2,4,5],找出其中连续出现的数字区间为如下:["0->2", "4->5", "7", "13", "15->16"]
实现红绿灯效果,使用console 输出 “红”、“绿”、“黄”示意,等待时间分别为 3s、2s、1s
输入:
['1', '2', '3', 1, '2', undefined, undefined, null, null, 1, 'a','b','b'];
输出:
["1", "2", "3", 1, undefined, null, "a", "b"]
输入:1 输出:A
输入:2 输出:B
输入:26 输出:Z
输入:27 输出:AA
输入:52 输出:AZ
如何检测出{}这样的空对象
console.log(a + a + a); // 打印'abc'
简单实现一个事件订阅机制,具有on、emit、once、off
on(event, func){ ... }
emit(event, ...args){ ... }
once(event, func){ ... }
off(event, func){ ... }
const event = new EventEmitter();
event.on('someEvent', (...args) => {
console.log('some_event triggered', ...args);
});
event.emit('someEvent', 'abc', '123');
event.once('someEvent', (...args) => {
console.log('some_event triggered', ...args);
});
event.off('someEvent', callbackPointer);
请通过代码实现大整数(可能比Number.MAX_VALUE大)相加运算
var bigint1 = new BigInt('1231230');
var bigint2 = new BigInt('12323123999999999999999999999999999999999999999999999991');
console.log(bigint1.plus(bigint2))
写一个类Person,拥有属性age和name,拥有方法say(something)
再写一个类Superman,继承Person,拥有自己的属性power,拥有自己的方法fly(height) ES5方式
字符串隐藏部分内容
说明:实现一个方法,接收一个字符串和一个符号,将字符串中间四位按指定符号隐藏
1. 符号无指定时使用星号(*)
2. 接收的字符串小于或等于四位时,返回同样长度的符号串,等同于全隐藏,如 123,隐藏后是 ***
3. 字符串长度是大于四位的奇数时,如 123456789,隐藏后是 12****789,奇数多出来的一位在末尾
示例:
mask('blibaba', '#'); // b####ba
mask('05716666'); // 05****66
mask('hello'); // ****o
mask('abc', '?'); // ???
mask('哔里巴巴集团', '?'); // 哔????团
返回结果为这些数字的和:36。
这是一道考察求和+闭包+递归的题目。
sum(1,2,3)(4)(5)(6,7)(8)()
minus(1,2,3)(4)(5)(6,7)(8)()
multiple(1,2,3)(4)(5)(6,7)(8)()
divide(1,2,3)(4)(5)(6,7)(8)()
除了考察求和,闭包,递归以外,还考察了柯里化函数。
sum和multiple不用关注顺序。
而minus和divide需要注意顺序,因此在return curried(...[result, ...arguments]);
中将result前置了。
最近面试了一些公司,拿了一些offer,不记录概念题目,仅记录coding类题目。 小伙伴们空闲时间可以做这些题目练练手。