字节跳动 深圳 一面凉经
1.用CSS实现一个开关样式,hover时触发,滑块为正方形,具体大小可随意,如下图
尽量实现如下要求,可实现一部分
1. 开关动作均有动画过度(滑块移位、背景色)
2. 只用一个dom元素实现
1. 开关动作均有动画过度(滑块移位、背景色)
2. 只用一个dom元素实现
3. 开关的高度是固定的,但宽度不固定,即宽度为未知父元素的100%,宽度始终大于高度
2.写出下面这段代码打印的结果
var result = [];
var total = 0;
function foo(a) {
var i = 0;
for (var i = 0; i < 3; i++) {
result[i] = function() {
total += i * a;
console.log(total);
}
}
}
foo(1);
result[0]();
result[1]();
result[2]();
var result = [];
var total = 0;
function foo(a) {
var i = 0;
for (var i = 0; i < 3; i++) {
result[i] = function() {
total += i * a;
console.log(total);
}
}
}
foo(1);
result[0]();
result[1]();
result[2]();
3.写出下面这段代码打印的结果
async function async1() {
console.log('async1 start');
await async2();
console.log('async1 end');
}
async function async2() {
console.log('async2 start');
return new Promise((resolve, reject) => {
resolve();
console.log('async2 promise');
})
}
console.log('script start');
setTimeout(function() {
console.log('setTimeout');
}, 0);
4.实现一个二进制加法,输入输出均为二进制字符串
function binaryAdd(num1: string, num2: string): string {
// TODO
}
//Example
binaryAdd('1010', '111') // '10001'
async function async1() {
console.log('async1 start');
await async2();
console.log('async1 end');
}
async function async2() {
console.log('async2 start');
return new Promise((resolve, reject) => {
resolve();
console.log('async2 promise');
})
}
console.log('script start');
setTimeout(function() {
console.log('setTimeout');
}, 0);
async1();
console.log('script end');
function binaryAdd(num1: string, num2: string): string {
// TODO
}
//Example
binaryAdd('1010', '111') // '10001'
5.跨域
6.cors的两种方式,非简单请求option会返回什么
7.https怎么加密的
8.rsa aes(项目相关)
9.tcp为什么三次
#字节跳动##面经##校招##前端工程师#