网络协议及HTTP 网络七层协议应用层:针对特定应用的协议(网络请求协议HTTP,文件传输协议FTP,远程登录协议SSH,电子邮件协议)表示层:设备固有的数据格式与网络标准数据格式之间的转换会话层:负责建立和断开通信,以及数据分割传输等传输层:建立端口到端口的通信(TCP,UDP协议)网络层:网络地址。(IP协议)数据链路层:确定0和1的分组方式物理层:线路,无线电,光纤常见的HTTP状态码2...
实现const功能 在ES5下实现const关键在于object.defineProperty()这个API。可以接受三个参数,object.defineProperty(obj,prop,desc);obj:在其上面定义属性的对象prop:要定义和修改的属性desc:将被定义或修改的属性描述符,其中有 value 该属性对应的值,默认undefined get 提供getter方法 ...
手写防抖和节流代码 防抖-debounce:当一段时间内持续触发事件,只会执行最后一次。在延迟时间内,被触发,将刷新延迟时间。const debounce = function(fn, delay){ let timer = null; return function()=> { let context = this; let args = arguments;...
apply,call,bind实现原理 apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性.Function.apply(obj,args)方法能接收两个参数obj:这个对象将代替Function类里this对象args:这个是数组,它将作为参数传给Function(args–>arguments)Function.prototype.apply = function(thisArg=window ){ ...
apply,call,bind实现原理 apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性.Function.apply(obj,args)方法能接收两个参数obj:这个对象将代替Function类里this对象args:这个是数组,它将作为参数传给Function(args–>arguments)Function.prototype.apply = function(thisArg=window ){ ...
防抖和节流代码 防抖-debounce:当一段时间内持续触发事件,只会执行最后一次。在延迟时间内,被触发,将刷新延迟时间。const debounce = function(fn, delay){ let timer = null; return (...args)=> { clearTimeout(timer); //在此触发时,会清除上次的事件。 tim...
封装ajax(纯JS) 实例化XMLHttpRequest对象连接服务器发送请求function ajax(options){ let method = options.menthod || 'GET',//默认是GET请求 data = options.data, params = options.params, url = options.url + ...
累加 求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。//等差数列,右移一位相当于除2,n为,除2的n次方class Solution { public int sumNums(int n) { return (int)(Math.pow(n,2)+n)>>1; ...
约瑟夫环 0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/yuan-quan-zhon...
多源BFS搜索 题源你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?请返回该海洋区域到离它最近的陆地区域的距离。我们这里说的距离是『曼哈顿距离』( Manhattan Distance):(x0, y0) 和 (x1, y1) 这两个区域之间的距离是 |x...
360笔试 字节填充发送端的数据链路层在数据中出现控制字符“SOH”,“EOT”,“ESC”,前面插入一个转义字符“ESC”,FLAG 作为帧开始和结束标志比特填充法发送端的数据链路层遇到数据比特流中出现5个连续“1”的时候,它就自动在输出比特流中插入一个“0”;接收端遇到5个输入比特为“1”,且后面紧接的是“0”时,自动将其删除。IP数据报的收发方进行跨网投递时,发送方需利用ARP协议获取:发送方...
前端面试 MVCmodel:(模型)数据层,负责存储数据,操作数据库view:视图层,负责展示。controller:控制层,负责协调model和view层,根据用户在view上的输入,在model上进行查询,修改,并及时返回显示在view上controller可以直接访问Model,也可以直接控制view,是两者的协调则,model->viewMVVMmodel:数据模型,存储数据,操作...
数组常用方法 1、不改变原数组的concat:连接两个数组,返回新数组slice:截取数组join:传入分隔符,返回一个字符串2、改变数组的方法pop:删除最后一个值,返回删除的数pushreverse:倒置shift:删除第一个,返回删除的数,unshift:在开头添加数字,返回长度splice:删除或添加map:传入函数,返回结果filter:筛选出符合条件的...
前端笔试 Promise问题题:new Promise((resolve) => {console.log('1') resolve()console.log('2') }).then(() => { console.log('3') }) setTimeout(() => { console.log('4') })...
笔试常用 输入输出import java.io.*;import java.util.*;public class Main{ public static void main(String args[]) { Scanner cin = new Scanner(System.in); int N, M; // 读取输入,直到没有整型数...
小米笔试 正则\b 单词边界\B非单词边界/(^|)b/:以b开头 或者 直接是 b/[\b]*b/:0个或多个字符边界之后是 bi不区分大小写模式 m多行模式 g全局模式HTTP状态码2** 成功操作被接受3** 重定向4** 客户端错误5** 服务器错误200 请求成功301 资源永久转移到其他URL302 资源临时移动304 未修改401请求要求用户的身份认证403...
金山前端笔试 Promise问题题:new Promise((resolve) => {console.log('1') resolve()console.log('2') }).then(() => { console.log('3') }) setTimeout(() => { console.log('4') })...
浅拷贝和深拷贝JS 基本类型和引用类型基本类型数据存放在栈内存中,如number,string。复制时直接赋值即可引用类型数据存放在堆内存中,如object,数组。赋值时是赋予地址值。先实现getType函数对元素进行类型判断Object.prototype.toString方法用来判断元素的类型;Object.prototype.toString.call([1,2]); //"[object Array...
多个a标签添加onclick事件 例题如果a标签的连接含有数字,提醒用户有危险,是否继续打开,确定,则继续。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scal...
HTTP和浏览器 从地址栏输入URL到呈现页面1.浏览器向服务器请求解析URL中域名对应的IP地址。2.建立TCP连接(三次握手)。3.浏览器发出读取文件的HTTP请求,第三次握手发出的4.服务器对浏览器做出响应,并把对应的HTML文本发给浏览器5.浏览器将该HTML文本展示6.释放TCP连接建立TCP连接,三次握手,四次挥手三次握手1.第一次握手:client将SYN置为1,随...