
面经
ALKEN ABBY
这个作者很懒,什么都没留下…
展开
-
etag生成原理
etag生成原理原创 2022-08-26 08:29:33 · 596 阅读 · 0 评论 -
手写Promise.all
实现 Promise.all 方法原创 2022-08-22 20:38:02 · 107 阅读 · 0 评论 -
对称加密和非对称加密区别
对称加密和非对称加密区别原创 2022-08-19 11:34:12 · 360 阅读 · 0 评论 -
rem和em的区别
rem和em的区别原创 2022-08-19 11:26:28 · 182 阅读 · 0 评论 -
数组去重各种方法实现
数组去重原创 2022-08-19 10:24:57 · 104 阅读 · 0 评论 -
发布订阅者模式和观察者模式的区别
发布订阅者模式和观察者模式的区别1.什么是观察者模式定义:当对象之间存在一对多的依赖关系时,其中一个对象的状态发生改变,所有依赖它的对象都会收到通知,这就是观察者模式。在观察者模式中,只有两种主体:目标对象 (`Object`) 和 观察者 (`Observer`)。目标对象 `Subject`:- 维护观察者列表 `observerList`- 定义添加观察者的方法- 当自身发生变化后,通过调用自己的 `notify` 方法依次通知每个观察者执行 `update` 方法观察者 Obs原创 2022-04-04 10:47:08 · 5214 阅读 · 0 评论 -
原码,反码,补码
原码,反码,补码原码:原码:用第一位表示符号, 其余位表示值反码:反码的表示方法是: 正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。补码:补码的表示方法是: 正数的补码就是其本身, 负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后 +1. (即在反码的基础上 +1)为了解决原码做减法的问题, 出现了反码发现用反码计算减法, 结果的真值部分是正确的. 而唯一的问题其实就出现在"0"这个特殊的数值上. 虽然人们理解上 + 0和 -0 是一样的,原创 2022-03-11 16:02:54 · 179 阅读 · 0 评论 -
路由的两种模式实现原理
路由的两种模式实现原理两种模式 hash 和 history:总结:可参考:https://juejin.cn/post/6844903615283363848原创 2022-03-12 14:15:00 · 470 阅读 · 0 评论 -
闭包的总结
闭包总结1. 闭包是什么闭包是指有权访问另外一个函数作用域中的变量的函数2. 形成闭包的原因内部的函数存在外部作用域的引用就会导致闭包内部的函数引用了外部作用域的变量就会导致闭包3. 闭包变量存储的位置闭包中的变量存储的位置是堆内存。4. 闭包的作用保护函数的私有变量不受外部的干扰。形成不销毁的栈内存。保存,把一些函数内的值保存下来。闭包可以实现方法和属性的私有化5. 闭包经典使用场景防抖节流for循环经典面试题立即执行函数return 回一个函数函数作为参数柯里化实现原创 2022-03-11 15:54:51 · 360 阅读 · 0 评论 -
etag生成原理
etag生成原理应该是每个系统的生成原理都有一些不一样一. nginxnginx 中 etag 由响应头的 Last-Modified 与 Content-Length 表示为十六进制组合而成。二.Apache以Apache为例,ETag生成靠以下几种因子文件的i-node编号,此i-node非彼iNode。是Linux/Unix用来识别文件的编号。是的,识别文件用的不是文件名。使用命令’ls –I’可以看到。文件最后修改时间文件大小生成Etag的时候,可以使用其中一种或几种因子,使用抗原创 2022-03-11 11:45:00 · 1444 阅读 · 0 评论 -
【无标题】js的基本数据类型和引用数据类型有什么区别
js的基本数据类型和引用数据类型有什么区别参考红宝书的答案:一.保存方式不同访问变量有按值访问和按引用访问基本数据类型是按值访问的,可以直接操作保存在变量里的实际值引用类型的不允许直接访问内存中的位置,即不能直接操作对象的内存空间,实际上是在操作对象的引用而不是实际的对象,引用类型的值是按引用访问的不能给基本类型值添加属性或方法,可以给引用类型值添加属性和方法二.复制变量值方式不同若从一个变量向另外一个变量复制基本类型的值,会在变量对象上创建一个新值,然后把该值复制到为新变量分配的位置上原创 2022-03-10 21:41:59 · 201 阅读 · 0 评论 -
udp和tcp的应用
udp和tcp的应用本文主要针对各个协议对 tcp 和 udp 的应用tcp的应用:对于 SMTP,TELNET,HTTP,FTP等协议是应用了 tcpudp的应用对于 DNS,TFTP,SNMP,NFS等协议,应用了udp原创 2022-03-10 21:39:54 · 1842 阅读 · 0 评论 -
TCP 和 UDP 区别
TCP 和 UDP 区别:下面对七个方面进行说明:1. 连接TCP 是面向连接的传输层协议,传输数据前先要建立连接。 UDP 是不需要连接,即刻传输数据。2. 服务对象TCP 是一对一的两点服务,即一条连接只有两个端点。UDP 支持一对一、一对多、多对多的交互通信3. 可靠性TCP 是可靠交付数据的,数据可以无差错、不丢失、不复、按需到达。 UDP 是尽最大努力交付,不保证可靠交付数据。4. 拥塞控制、流控制TCP 有拥塞控制和流控制机制,保证数据传输的安全性。UDP 则没有,即原创 2022-03-10 21:34:13 · 2345 阅读 · 0 评论 -
new 操作都做了什么
new 操作都做了什么一. 原理其实,new关键字内部干了如下三件事(已知构造函数为constructor):. 1.创建一个空对象,并使该空对象的 proto==constructor.prototype; 2.执行构造函数,并将this指向刚刚创建的新对象; 3.返回新对象;/** new产生一个新对象; 拿到传入的参数中的第一个参数,即构造函数Constructor; 执行构造函数原创 2022-03-07 16:36:13 · 1720 阅读 · 0 评论 -
两种盒模型的区别
标准盒模型与怪异盒模型1.标准盒模型标准盒模型是 box-sizing: content-box , 默认值,他的width就是content的width,盒子总宽度=margin+padding+width+border,盒子的大小会以内容优先,自动扩展,子元素可以撑开父元素,就像气球一样,大小随内容的变化而变化Content-box图像:2.怪异盒模型怪异盒模型:box-sizing: border-box,也是 IE盒子,父元素的盒模型确定,子元素无法撑开父元素的盒模型可以理解为现实生原创 2022-03-07 16:30:15 · 1044 阅读 · 0 评论 -
Promise串行的六种方法
Promise串行的六种方法<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0">原创 2022-02-27 15:41:37 · 3019 阅读 · 0 评论 -
js面试题
js面试题const func1 = x => x; const func2 = x => { x }; const func3 = x => ({ x }); console.log(func1(1));//1 console.log(func2(1));//undefined ,加一个 {},是表示增加一个 块级作用域 console.log(func3(1));//{x:1} 使用 ({x}) 表示原创 2022-02-26 20:58:39 · 162 阅读 · 0 评论 -
js面试题---实现一个函数
题目要求//实现一个函数:function get(){ //内容...}//const obj = { selector: { to: { toutiao: 'FE coder' } }, target: [1, 2, { name: 'byted' }] };// 运行代码 get(obj, 'selector.to.toutiao', 'target[0]', 'target[2].name')// 输出结果:// ['FE coder', 1, 'byted']实现了两种方法原创 2022-02-26 19:54:18 · 207 阅读 · 0 评论 -
前端模块化及比较
前端模块化:CommonJS AMD CMD ES6模块化的开发方式可以提高代码复用率,方便进行代码的管理。通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数。目前流行的js模块化规范有CommonJS、AMD、CMD以及ES6的模块系统。CommonJSNode.js是commonJS规范的主要实践者,用module.exports定义当前模块对外输出的接口(不推荐直接用exports),用require加载模块。commonJS用同步的方式加载模块。在服务端,模块文件原创 2022-02-26 14:05:58 · 201 阅读 · 0 评论