TCP协议
- TCP 和 UDP 的区别?
- TCP 三次握手的过程?
- 为什么是三次而不是两次、四次?
- 三次握手过程中可以携带数据么?
- 说说 TCP 四次挥手的过程
- 为什么是四次挥手而不是三次?
- 半连接队列和 SYN Flood 攻击的关系
- 如何应对 SYN Flood 攻击?
- 介绍一下 TCP 报文头部的字段
- TCP 快速打开的原理(TFO)
- 说说TCP报文中时间戳的作用?
- TCP 的超时重传时间是如何计算的?
- TCP 的流量控制
- TCP 的拥塞控制
- 说说 Nagle 算法和延迟确认?
- 如何理解 TCP 的 keep-alive?
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
浏览器篇
- 浏览器缓存?
- 说一说浏览器的本地存储?各自优劣如何?
- 说一说从输入URL到页面呈现发生了什么?
- 谈谈你对重绘和回流的理解
- XSS攻击
- CSRF攻击
- HTTPS为什么让数据传输更安全?
- 实现事件的防抖和节流?
- 实现图片懒加载?
常见函数
charCodeAt()
返回指定位置的字符的 Unicode 编码
var str="HELLO WORLD";
var n=str.charCodeAt(0);
console.log(n); // 72
call()和apply()
call 和 apply用法差不多~
let add = function(a, b){
console.log(a + b);
}
add.apply(null, [3,4]) // 7
var person1 = { name: 'Alice' };
var person2 = { name: 'Bob' };
function sayHello() {
console.log(`Hello, ${this.name}!`);
}
sayHello.apply(person1); // 输出: Hello, Alice!
sayHello.apply(person2); // 输出: Hello, Bob!
function Person(name, age) {
this.name = name;
this.age = age;
}
var person = {};
Person.apply(person, ['Alice', 30]);
console.log(person.name + "---" + person.age); // Alice---30
test()和match()
var str="Hello world!";
var patt=/Hello/g;
var result=patt.test(str);
console.log(result); // true
var str="Hello world!";
var patt=/Hello/g;
var result=str.match(patt);
console.log(result); // [ 'Hello' ]
未完待续…
JavaScript 代码片段分析
(1)
1!=0 && (a=3)
1!=1 && (b=4)
1==1 && (c=5)
1==2 && (d=6)
&&
之前为true,&&
之后的表达式才会被执行。
对象篇
模块化编程-自研模块加载器
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
66371)**