Yihui’s Blog

文章与笔记

关于前端、工程与日常思考的记录。找到一个主题,开始阅读。

783 篇文章

JavaScript 错误处理指南

什么是编程中的错误 我们的开发过程中并不总是一帆风顺。特别是在某些情况下,我们可能希望停止程序或在发生不良情况时通知用户。 例如: 程序试图打开一个不存在的文件、 网络连接断开 用户输入了无效字符 在类似这些情况下,我们可以自己写个自定义的错误来管理,或者直接让引擎为我们去定义这些错误。有了错误定义后,我们可以用…

阅读全文

「算法与数据结构」梳理6大排序算法 为了offer

6种排序如下👇 冒泡排序 计数排序 快速排序 归并排序 插入排序 选择排序 时间复杂度如下图👇 冒泡排序:star: 这个名字的由来是向泡泡一样浮起来,脑补一下,就是每次比较相邻的两个元素大小,然后慢慢'漂浮'起来,我瞎掰的,看思路吧。 「时间复杂度O(n^2)」 思路 1. 比较相邻的元素,前者比后者大的话…

阅读全文

计网常考面试题

1、为什么TCP连接的时候是3次?2次不可以吗? 考虑丢包问题(保证全双工) 1. 因为需要考虑连接时丢包的问题,如果只握手2次,第二次握手时如果服务端发给客户端的确认报文段丢失,此时服务端已经准备好了收发数(可以理解服务端已经连接成功)据,而客户端一直没收到服务端的确认报文,所以客户端就不知道服务端是否已经准备…

阅读全文

L3 HTTP请求流程:为什么很多站点第二次打开速度会很快

浏览器端发起HTTP请求流程 如果你在浏览器地址栏里键入地址: 那么接下来,浏览器会完成哪些动作呢?下面我们就一步一步详细“追踪”下 1. 构建请求 首先,浏览器构建请求行信息(如下所示),构建好后,浏览器准备发起网络请求 2. 查找缓存 在真正发起网络请求之前,浏览器会先在浏览器缓存中查询是否有要请求的文件。其…

阅读全文

L4 从输入URL到页面展示这中间发生了什么?

从输入URL到页面展示完整流程示意图”: 从图中可以看出,整个过程需要各个进程之间的配合,所以在开始正式流程之前,我们还是先来快速回顾下浏览器进程、渲染进程和网络进程的主要职责。 浏览器(主)进程主要负责用户交互、子进程管理和文件储存等功能。 网络进程是面向渲染进程和浏览器进程等提供网络下载功能。 渲染进程的主要…

阅读全文