自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 网络协议及HTTP

网络七层协议 应用层:针对特定应用的协议(网络请求协议HTTP,文件传输协议FTP,远程登录协议SSH,电子邮件协议) 表示层:设备固有的数据格式与网络标准数据格式之间的转换 会话层:负责建立和断开通信,以及数据分割传输等 传输层:建立端口到端口的通信(TCP,UDP协议) 网络层:网络地址。(IP协议) 数据链路层:确定0和1的分组方式 物理层:线路,无线电,光纤 常见的HTTP状态码 2...

2020-04-09 20:14:07 194

原创 实现const功能

在ES5下实现const 关键在于object.defineProperty()这个API。可以接受三个参数, object.defineProperty(obj,prop,desc); obj:在其上面定义属性的对象 prop:要定义和修改的属性 desc:将被定义或修改的属性描述符,其中有 value 该属性对应的值,默认undefined get 提供getter方法 ...

2020-04-08 22:11:10 1092 1

原创 手写防抖和节流代码

防抖-debounce:当一段时间内持续触发事件,只会执行最后一次。在延迟时间内,被触发,将刷新延迟时间。 const debounce = function(fn, delay){ let timer = null; return function()=> { let context = this; let args = arguments;...

2020-04-08 22:08:59 666

原创 apply,call,bind实现原理

apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性. Function.apply(obj,args)方法能接收两个参数 obj:这个对象将代替Function类里this对象 args:这个是数组,它将作为参数传给Function(args–>arguments) Function.prototype.apply = function(thisArg=window ){ ...

2020-04-08 22:08:15 118

原创 apply,call,bind实现原理

apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性. Function.apply(obj,args)方法能接收两个参数 obj:这个对象将代替Function类里this对象 args:这个是数组,它将作为参数传给Function(args–>arguments) Function.prototype.apply = function(thisArg=window ){ ...

2020-04-04 19:54:07 123

原创 防抖和节流代码

防抖-debounce:当一段时间内持续触发事件,只会执行最后一次。在延迟时间内,被触发,将刷新延迟时间。 const debounce = function(fn, delay){ let timer = null; return (...args)=> { clearTimeout(timer); //在此触发时,会清除上次的事件。 tim...

2020-04-04 16:08:34 2072

原创 封装ajax(纯JS)

实例化XMLHttpRequest对象 连接服务器 发送请求 function ajax(options){ let method = options.menthod || 'GET',//默认是GET请求 data = options.data, params = options.params, url = options.url + ...

2020-04-04 15:26:10 117

原创 累加

求 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; ...

2020-03-30 14:08:44 335

原创 约瑟夫环

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...

2020-03-30 14:07:17 80

原创 多源BFS搜索

题源 你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?请返回该海洋区域到离它最近的陆地区域的距离。 我们这里说的距离是『曼哈顿距离』( Manhattan Distance):(x0, y0) 和 (x1, y1) 这两个区域之间的距离是 |x...

2020-03-30 14:06:24 279

原创 360笔试

字节填充 发送端的数据链路层在数据中出现控制字符“SOH”,“EOT”,“ESC”,前面插入一个转义字符“ESC”, FLAG 作为帧开始和结束标志 比特填充法 发送端的数据链路层遇到数据比特流中出现5个连续“1”的时候,它就自动在输出比特流中插入一个“0”;接收端遇到5个输入比特为“1”,且后面紧接的是“0”时,自动将其删除。 IP数据报的收发方进行跨网投递时,发送方需利用ARP协议获取:发送方...

2020-03-27 23:07:46 345

原创 前端面试

MVC model:(模型)数据层,负责存储数据,操作数据库 view:视图层,负责展示。 controller:控制层,负责协调model和view层,根据用户在view上的输入,在model上进行查询,修改,并及时返回显示在view上 controller可以直接访问Model,也可以直接控制view,是两者的协调则,model->view MVVM model:数据模型,存储数据,操作...

2020-03-27 21:58:08 84

原创 数组常用方法

1、不改变原数组的 concat:连接两个数组,返回新数组 slice:截取数组 join:传入分隔符,返回一个字符串 2、改变数组的方法 pop:删除最后一个值,返回删除的数 push reverse:倒置 shift:删除第一个,返回删除的数, unshift:在开头添加数字,返回长度 splice:删除或添加 map:传入函数,返回结果 filter:筛选出符合条件的...

2020-03-25 15:49:03 89

原创 前端笔试

Promise问题 题: new Promise((resolve) => { console.log('1') resolve() console.log('2') }).then(() => { console.log('3') }) setTimeout(() => { console.log('4') })...

2020-03-25 15:44:28 140

原创 笔试常用

输入输出 import java.io.*; import java.util.*; public class Main { public static void main(String args[]) { Scanner cin = new Scanner(System.in); int N, M; // 读取输入,直到没有整型数...

2020-03-25 15:42:06 88

原创 小米笔试

正则 \b 单词边界 \B非单词边界 /(^|)b/:以b开头 或者 直接是 b /[\b]*b/:0个或多个字符边界之后是 b i不区分大小写模式 m多行模式 g全局模式 HTTP状态码 2** 成功操作被接受 3** 重定向 4** 客户端错误 5** 服务器错误 200 请求成功 301 资源永久转移到其他URL 302 资源临时移动 304 未修改 401请求要求用户的身份认证 403...

2020-03-25 15:38:11 436

原创 金山前端笔试

Promise问题 题: new Promise((resolve) => { console.log('1') resolve() console.log('2') }).then(() => { console.log('3') }) setTimeout(() => { console.log('4') })...

2020-03-20 13:15:42 723

原创 浅拷贝和深拷贝JS

基本类型和引用类型 基本类型数据存放在栈内存中,如number,string。复制时直接赋值即可 引用类型数据存放在堆内存中,如object,数组。赋值时是赋予地址值。 先实现getType函数对元素进行类型判断 Object.prototype.toString方法用来判断元素的类型; Object.prototype.toString.call([1,2]); //"[object Array...

2020-03-17 11:19:21 90

原创 多个a标签添加onclick事件

例题 如果a标签的连接含有数字,提醒用户有危险,是否继续打开,确定,则继续。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scal...

2020-03-17 10:45:23 1021

原创 HTTP和浏览器

从地址栏输入URL到呈现页面 1.浏览器向服务器请求解析URL中域名对应的IP地址。 2.建立TCP连接(三次握手)。 3.浏览器发出读取文件的HTTP请求,第三次握手发出的 4.服务器对浏览器做出响应,并把对应的HTML文本发给浏览器 5.浏览器将该HTML文本展示 6.释放TCP连接 建立TCP连接,三次握手,四次挥手 三次握手 1.第一次握手:client将SYN置为1,随...

2020-03-10 21:58:53 360

原创 prototype

首先js不是基于类的,而是通过构造函数和原型链实现的,ES6中提供了语法糖Class 构造函数 特点:函数名首字母大写,内部使用this对象,使用new来调用构造函数。 functionPerson(){ this.name ='keith'; } varboy =newPerson(); console.log(boy.name);//'keith' 缺点:同一构造函数的...

2020-03-10 21:54:39 71

原创 Web前端笔试

浏览器多个标签页之间的通信 1.调用localstorage 使用localstorage.setItem(key,vakue),添加删除,用getItem获得数据 2.cookie+setInterval() 将要传递的信息存储在cookie中,每隔一段时间读取cookie信息 prototype污染攻击 每一个构造函数(例Foo)都有一个原型对象prototype,实例可以继承这个...

2020-03-10 21:34:46 92

原创 判断平衡二叉树算法

两个函数即可 function isBalance(TreeNode T){ if(T==null) return null; var left = TreeDepth(T.left); var right = TreeDepth(T.right); var diff = left-right; if(diff<-1||diff>1)...

2020-03-05 12:34:52 761

原创 三七互娱前端笔试

1.splice(index,howmany.other) 删除或增加元素,indexOf()返回某个字符串首次出现的位置。 Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。 reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 function(total,currentValue){} 2.对象数组去...

2020-03-03 16:32:03 1344

原创 前端面试(综合.git)

1、js加载过程阻塞,可以添加script中async=“async” 2、5种简单数据类型string, number, boolean, undefined,null.一种复杂类型:object 3、轮播实现,准备一个只要一张图片大小的容器,把图片排成一行,对这个容器超出的部分隐藏。其实用个插件swiper,功能比较强大。 4、 ...

2020-03-03 11:07:15 416

原创 前端面试(js篇)

1、http协议未规定GET和POST的长度限制,GET的最大长度是因为浏览器和服务器限制了URL的长度。 2、get请求类似于查找过程,用户获取数据,可以不用每次与数据库连接,可以使用缓存。 而post请求一般做的修改和删除工作,必须与数据库交互,不能使用缓存。 3、闭包,就是有权访问另一个函数作用域中的变量的函数。函数局部变量的集合,他们是匿名自执行函数 4、类的创建与继承 es5中...

2020-03-01 23:58:21 264

原创 前端面试(css)

1、first-of-type匹配其父元素的某一类型的第一个元素。和:nth-of-type(1) 是一个意思。 2、flex布局,弹性布局,任一容器display:flex; 子元素:flex-direction决定主轴的方向,flex-wrap换行属性,justify-content主轴的对齐方式。aliign-items交叉轴对齐 3、animation 动画由@keyframes构...

2020-02-29 22:44:47 190

原创 前端面试(二)

1、pm2是一个进程管理工具,可以用来管理你的node进程,并查看node进程状态,当然也支持性能监控。 2、typescript是JavaScript的超集,静态类型化,在开发人员编写脚本时,检测错误。 3、transition需要一个触发时间和animation不需要,属性基本都一样 vue问题 1、axios是基于promise用于浏览器和node之间,主要用于向后台发起请求的。 ...

2020-02-29 20:15:33 184

原创 前端面试记录

1.webpack 1.webpack与grunt,gulp的不同 webpck是基于入口的,webpack会自动递归解析入口所需的文件,然后用不同的Loader来处理,可用Plugin来扩展功能, 因为webpack主要是用来处理解决js文件的。 而grunt和gulp是基于任务和流的。找到一类文件,对其一系列链式操作,整条链式构成了一个任务。 ...

2020-02-28 19:05:14 105

原创 js中的对象

对象创建 //第一种 没女朋友new一个 var girl = new Object(); girl.name = "dada"; girl.age = 18; girl.sayhello = function(){ alert('hello!'); } ...

2018-07-27 16:57:16 189

原创 css动画-animations

css animations 使从一个css样式转换为另一个样式。 一般动画都是由@keyframes实现 animation子属性 animation-delay  设置延时 animation-direction 设置动画运行后,反向还是重新运行  alternate 来回动画 animaton-duration 一个周期的时长 animation-iteration-count  ...

2018-07-26 14:02:25 242

原创 vue.js初学经验

还没接触时  感觉vue挺难,可能现在入门的话,看不懂,不敢去学习,就像古代娶新娘子,进门时那叫一个娇羞,碰都不敢碰,后来呢。能想象画面,我就不说了。 去学习了以后 怎么呢感觉有点像 jquery ,在深入呢,不是,不是。简单来说,jquery只是简化了代码,如果和源代码,相比,他思想上基本是一样的。而vue就不同了,他思想是在视图和内容方面建立映射关系,可以双向绑定,可以监听。可能对于小页...

2018-07-26 11:14:46 162

原创 如何阅读一本书

    之前的我看书总是一遍而过,想着能提升点文采。这些天看了这本书还有其他一些文章之后有了初步的见解。    首先,一个人的阅读分为好多种,但大部分都是在你的理解力内进行阅读。无论是资讯还是公众号推送,都是在用一种通俗易懂的方式与我们交流,向我们灌输作者的观点!我们看完之后内心只会不住的点头同意。缺乏自我思考的过程。作者的观点只是在他自己的论点上成立,有没有我们读者不知道的。是不是还有另外一种看...

2018-05-09 13:55:50 117

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除