(1) DNS服务器解析域名,找到对应服务器的IP地址;
(2)和服务器创建TCP三次握手链接;
(3)发送HTTP请求,服务器会根据HTTP请求到数据服务器取出相应的资源,并返回给浏览器;
(4)浏览器处理响应
加载:浏览器对一个html页面的加载顺序是从上而下的。当加载到外部css文件、图片等资源,浏览器会再发起一次http请求,来获取外部资源。
当加载到js文件,html文档会挂起渲染(加载解析渲染同步)的线程,等待js文件加载、解析完毕才能够恢复html文档的渲染线程。
解析:解析DOM树和CSSDOM树。
渲染:构建渲染树,将DOM树进行可视化表示,将页面呈现给用户。
复制代码
- 2: TCP UDP HTTP的区别
- 3: 实现一下函数柯理化
- 4: https的链接细节
- 5: vue的路由vue的双向绑定如何实现,原理是啥
- 6: 深浅拷贝,各自原理,深拷贝有啥缺点
- 7: 节流和防抖你是如何实现的,他们两个根本的区别在哪里,代码上如何体现
- 8: MySQL索引和事务、写SQL
- 9: 状态码:4开头、3开头、2开头
- 10: 浏览器缓存、强制缓存、协商缓存
- 11: content-type:From-data、json等 及其之间的区别
- 12: 描述跨域请求、解决方案:CORS,Nginx反向代理
- 13: 本地存储缓存的方法:cookie、sessionStorage、localStorage 及其区别,是否能够跨域获取缓存
- 14: node和npm的区别,node指令读文件
- 15: 原型、原型链的区别
- 16: Promise()
- 17: 节流和防抖你是如何实现的,他们两个根本的区别在哪里
- 18: vue和react的数据流
- 19: redux的原理 APPdispatch store...
- 20: 移动端原生代码屏幕适配
- 21: 代码:链表反转、数组反转
- 22: module.export exports export的区别
- 23: 代码:判断空对象为空的方法,大约是写出隐式转换的底层代码
- 24: 跨域相关的问题
- 25: webpack都用过哪些loader和plugin,说的vue-loader,又问vue-loader通过转换成了什么格式
- 26:TCP 握手,分手,拥塞控制,流量控制
- 27:有哪些缓存策略
- 28:简单介绍进程与线程
- 29:介绍基本的数据结构及其应用,队列,栈,堆。函数的执行栈和堆内存
- 30:编程题:实现一个简单的 EventEmitter(on监听,emit触发发送事件)
- 31:简单介绍一下 body-parser 的做用和原理
- 32:各种排序算法介绍,冒泡,快排,堆排,以及相应的算法复杂度
- 33:怎么实现函数内部能够访问函数外部,可是函数外部不能访问函数内部?(闭包底层如何实现。闭包原理:做用域链相关)
- 34:实现树的前序遍历,和反向链表
- 35:图片懒加载,怎么实现?代码怎么写?
- 36:如何避免回流和重绘?
- 37:https的混合加密原理,为何要使用非对称加密和对称加密两种加密方式?
[加密的两种方式](https://www.cnblogs.com/xiohao/p/9054355.html)
所谓非对称加密技术是指加密的密钥e和解密的密钥d是不一样的(e!=d),
而且加密的密钥e是公开的,叫作公钥,而解密的密钥d是保密的,叫私钥。
非对称加解密的过程以下:加密一方找到接收方的公钥e(如何找到呢?大部分的公钥查找工做实际上都是经过数字证书来实现的),
而后用公钥e对明文p进行加密后获得密文c,并将获得的密文发送给接收方,接收方收到密文后,用本身保留的私钥d进行解密,获得明文p,
须要注意的是:用公钥加密的密文,只有拥有私钥的一方才能解密,这样就能够解决加密的各方能够统一使用一个公钥便可。
复制代码
- 38:百度搜索框同样的时候,当你输入内容的时候,下面显示相应的搜索结果
- 39:基于 http 模块,写一个 http server,而且处理 POST 请求这里 (req 其实是个 stream,获取 body 的方法是基于注册 on data 事件实现的)
- 40:介绍本身的项目,介绍了最近作的小程序还有聊天室,问小程序的开发有什么不同,问了小程序怎么提高开发效率
- 41:三次握手 为何是3次,挥手为何是4次
- 42:闭包 使用场景 举例,有什么缺点,为何外面访问不到闭包的变量
- 43:typeof instance的区别
- 44:解释原型链
- 45:浏览器是如何展现一个页面的,后面牵扯到了页面的解析过程,而后问react的话,有什么不一样(没get到他想问的点,跳过)
- 46:性能优化,其中提到了减小重排和重绘,http2,问如何减小重排重绘,http2的多路复用如何实现的,还详细解释了强制缓存,协商缓存
- 47:redux,问它的中间件,action,实现原理
- 48:虚拟dom,如何diff,为何要使用虚拟dom,和直接操做dom相比有什么好处,跨层级移动dom会怎么样
- 49:如何使一个页面重定向
- 50:解释服务端渲染,有什么优点
- 51:作了一个promise async setTimeout打印结果的题
- 52:你有什么想问的,而后问了技术栈和他们考察候选人会比较看重哪些
- 53:一个解析字符串的题,写完后,又将题目改了下,从新给出解法,其中用到了正则,问正则有哪几种模式
- 54:事件冒泡,事件捕获,怎么容许事件捕获,事件委托怎么实现,好处
- 55:手撕闭包的防抖,节流函数,并能解释其原理
- 56:两边固定宽度,中间自适应,说下有哪些解决方案,而后让手写了一下flex和grid方案,问了flex-direction有哪些值