今日头条前端一面面筋
(大约50分钟)
1. 自我介绍
2. TCP和UDP有什么区别
3. http有哪几种版本,有什么区别
4. 进程和线程
5. 进程和线程怎么通信
6. new的时候做了什么
7. 浏览器事件流
8. 水平垂直居中方法
9. position有哪些
10. flex会脱离render吗
11. 原型链
12. 闭包
13. 怎么清除闭包
Q:实现一个函数trim(str) 字符串前后去空格
function trim (str) {
// todo 用 replace
}
trim(' hello world '); // => hello world
Q:
实现数组去重函数function aff (arr) {
// 全数字,无序。
// 用数据结构map
}
Q:
var func1 = x => x;
var func2 = x => {x};
var func3 = x => ({x});
console.log(func1(1));
console.log(func2(1));
console.log(func3(1));
Q:
for (var i = 0; i < 6; i++) {
setTimeout(function() {
console.log(new Date, i);
}, 1000);
}
// 用let
Q:
window.name = 'ByteDance';
function A () {
this.name = 123;
}
A.prototype.getA = function(){
console.log(this);
return this.name + 1;
}
let a = new A();
let funcA = a.getA;
console.log(funcA());
