- 博客(45)
- 收藏
- 关注
原创 秋招个人经验总结
大概4月开始陆续投了几份实习,中间暑假去实习了两个月,一直到11月中旬为止,秋招才算完全结束,总体上来说,并没有那么顺利,很有意思的是还是决定去了实习的单位,兜兜转转,回到了原点。 offer收的不多,和实验室offer收割机动不动十几个offer比不了,总共拿到6个ffer,其中5家是银行(中行软开、工行软开、农行软开、浦发科技部、宁波银行科技部),也算是几乎拿遍四大银行了。建行因为太迟...
2019-11-15 17:07:27
406
原创 理解http运营商劫持与防御机制
可能大家都有过上网看着看着,突然就被重定向到不知莫名其妙的页面,各种“屠龙宝刀点击就送”、“是兄弟就砍我”之类的内容。就算不是页面跳转,网页也有可能被插入额外的广告,例如电信运营商的套餐服务等。面试的时候也被问到了这类劫持是发生在什么环节。结果没有答上来。。。一、运营商劫持例如下图这种莫名其妙的页面部分,就是被运营商劫持了http请求,加入了一些流氓的广告链接等。运营商劫持主要分两种:...
2019-09-17 11:50:06
696
原创 排序算法JS实现
手撕代码必须会的东西。。。结果希尔排序没写出来,太尴尬了。1.快速排序取一个中间的基准值,小的值放在左边的数组,大的值放在右边的数组,最后递归并拼接数组。function quickSort(arr){ if(arr.length<=1){ return arr; } var baseIndex = Math.floor(arr.length /...
2019-09-14 17:51:10
186
原创 基础编程题JS解法(二)
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.(剑指offer)function printMatrix(matrix){ var left = 0, ...
2019-09-03 11:32:19
219
原创 初识PWA
一、应用背景 PWA(Progressive Web App)概念的提出,主要是针对原生APP的,目前原生APP的缺点:昂贵开发成本;软件上线,版本更新都需要发布到不同的商店,并通过审核; 导致了有些APP用户可能使用频率很少,但是却不得不去在应用商店中下载庞大安装包,或者可能一段时间不使用以后,随着版本的更新,也不得不去重新更新并安装。 而PWA技术的作为web应用,其天生优...
2019-08-28 16:38:22
360
1
原创 基础编程题JS解法(一)
把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。function GetUglyNumber_Solution(index){ if (index === 0) return 0; var uglyNum = [1]; var fac...
2019-08-27 10:59:43
440
转载 如果面试官问你:从输入URL到页面加载发生了什么(转)
经过一段时间的面试,我感觉这个问题其实很少问到的,可能比较基础吧,但是的确涉及的内容很多,如果再往细了问,未必能答得很好。duo 总结总结,多想想为什么是这样,可能是面试官想要的是能够理解清楚一些基本问题原理的人吧。。转载链接:https://mp.weixin.qq.com/s/gS0LE_knCBU-ytWBkzMLQg...
2019-08-22 09:58:07
130
原创 华为机试题练习(二)
正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。输入5 7输出35while(line = readline()){ var arr = line.split(' ').map(function(item){ return parseInt(item); }); var a = pa...
2019-08-19 19:30:32
1129
原创 华为机试题练习(一)
1.写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。var str = readline().toLowerCase();var item = readline().toLowerCase();var count = 0;for(var i = 0; i < str.length; i++){ if(str[...
2019-08-13 20:33:12
7637
2
原创 使用Object.prototype.toString.call()进行数据类型的检测
一、引言 首先为什么要用这种方法来判断数据类型呢?我用typeof不好吗?举个栗子:用 typeof 判断一个对象变量,null 的结果也是 object,数组的结果也是 object,这样并不正确。 typeof操作符返回一个字符串,表示未经计算的操作数的类型;该运算符数据类型对应列表如下图所示:typeof undefined = undefinedtypeof Null = ob...
2019-08-06 17:11:09
805
1
转载 前端实用小技巧(转)
偶然间看到一个同样自学前端的老哥的博客,仔细瞅了瞅,总结的蛮不错的。转载地址:https://blog.csdn.net/i_dont_know_a/article/details/81557517
2019-08-05 19:24:38
171
原创 微信小程序解析XML数据
最近在工作中做微信小程序,遇到了后台接口返回的数据格式是XML的问题,而微信小程序不支持DOM,不能直接用DOMParser去解析,所以只能用第三方库去解析了。下载xmldom库:https://github.com/jindw/xmldom将dom.js、dom-parser.js、sax.js,entities.js拷贝微信小程序需要的文件夹下在需要使用的js页面引入import ...
2019-07-26 16:10:55
3831
1
原创 Vue小知识点汇总
1. 父组件触发子组件事件父组件:<template> <div> <my-child abcClick="sayHello"></my-child> </div></template><script>export default { method: { ...
2019-07-24 14:26:08
211
1
转载 JS中apply、call、bind总结(转)
首先这个转载的文章写的很好,我自己笔记总结过,真觉得没人家有条理,这三个方法是必会的JS基础。转一下优秀的文章学学习。转载链接:https://www.cnblogs.com/moqiutao/p/7371988.html...
2019-07-20 10:50:05
104
原创 SVN使用学习笔记
一、SVN概念 SVN(Subversion),即版本控制系统。SVN是一个跨平台的软件,支持大多数常见的操作系统。Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。它会记住每一次文件的变动。这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史。SVN是一个通用的系统,可用来管理任何类型的文件,其中包括了程序源码。二、TortoiseS...
2019-07-16 11:31:18
250
原创 初探敏捷开发
实习过程中在公司了解到了一些软件开发的内容,着重使用的是敏捷开发模式,也就是敏捷工艺。我结合学到的内容,以及自己查阅的资料,做一下小小的总结:1. 概念敏捷开发(scrum)是一种软件开发的流程,强调快速反应、快速迭代、价值驱动。(Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;运用该流程,你就能看到你团队高效的工作。)敏捷开发适用于竞争激烈,快速变化的市场。 敏捷的...
2019-07-06 22:34:37
303
原创 JS中的函数柯里化
1. 概念”函数柯里化”是指将多变量函数拆解为单变量的多个函数的依次调用, 可以从高元函数动态地生成批量的低元的函数。简单讲:就是利用函数执行,可以形成一个不销毁的私有作用域,把预先处理的内容都存在这个不销毁的作用域里面,并且返回一个函数,以后要执行的就是这个函数。举个栗子:// 常规的add函数function add(x, y) { return x + y}// Cur...
2019-06-30 22:15:47
6850
1
原创 JS中的提升
1. 什么是提升 对于JS引擎,无论作用域中的声明出现在什么地方,都将在代码本身被执行前首先进行处理。即所有声明(变量和函数)都会被“移动”到各自作用域的最顶端,该过程称为“提升”。 例如,var a = 2; 可以看做是一个声明,但实际上对于JS引擎来说,是两个单独的声明,var a 是编译阶段的任务,a = 2是执行阶段的任务。a = 2;var a;console.log(a)...
2019-06-25 20:01:11
1130
1
原创 git连接仓库输错密码问题
在git bash中连接新的远端仓库时,有时会需要输入账户密码,一旦输入错误,无法在git中修改,需要另行设置。windows系统下,打开“ 凭据管理器 ” =>“ Windows凭据 ”,即可修改git仓库在本地的登录用户名和密码啦!...
2019-06-18 09:47:51
864
转载 JS调试方法补充
补充一下之前一篇博客的console用法,调试的技巧方法我好几种都没用过。。。惭愧啊引用链接: https://segmentfault.com/a/1190000019474390
2019-06-17 09:34:18
88
原创 HTTP与CORS小结
一、HTTP1. 基本概念http超文本传输协议。请求报文:请求行请求头请求正文/主体(可选)响应报文:响应行响应头响应正文/主体(可选)请求行请求动作(方法):get、post、put……请求url协议/版本请求头随请求一起携带的附加数据accept:当前请求期望访问的数据类型(MIME)content-type:指示服务器发送的主体内容...
2019-06-15 16:28:53
827
原创 JS编程题总结(一)
请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。Array.prototype.distinct = function() { var ret = []; for (var i = 0; i < this.length; i++) { for (var j = i+1...
2019-06-14 22:41:51
213
原创 腾讯云服务器配置流程
腾讯云服务器配置(2019.5)购买腾讯云服务器(ubuntu16.04)和域名(公网IP)。在腾讯云中创建并挂载云服务器实例。修改默认的云服务器密码。(此处修改的是默认ubuntu账户的密码)创建安全组,并关联实例,开放实例的全部接口。域名实名认证,获得并下载域名证书。网站域名备案(准备好各种手持证件的照片和材料的照片),不同省份不一样,时间大约1-2周,获得ICP主体备案号和备案...
2019-06-03 15:32:30
572
原创 微信小程序用户登录授权处理
登录授权流程:(2019.5.31更新) 目前微信小程序是不支持自动获得授权页的,需要开发者设置授权按钮,并绑定自定义的登录授权方法bindGetUserInfo。登陆授权这里坑很多,网上的博客教程也良莠不齐,博主就在这儿折腾了很久。登陆授权页wxml:<!-- 如果只是展示用户头像昵称,可以使用 <open-data /> 组件 --><view clas...
2019-05-31 11:02:15
1580
原创 ubuntu16.04下tomcat8的启动关闭与SSL证书安装
一、Tomcat 启动与配置启动tomcat服务器,先到tomcat安装目录的bin目录下启动终端,使用命令:sudo ./startup.sh启动完成会显示:Tomcat started. 就表示正常启动关闭tomcat服务器,同样在bin目录下,使用命令:sudo ./shutdown.sh有时候关闭会报错,可以强制关闭。强制关闭:sudo /etc/init.d/tomcat8 s...
2019-05-25 20:51:36
1518
转载 package.lock.json的作用(转)
简单来讲:锁定安装时的包的版本号,并且需要上传到git,以保证其他人在npm install时大家的依赖能保证一致。引用知乎@周载南的回答根据官方文档,这个package-lock.json 是在 npm install时候生成一份文件,用以记录当前状态下实际安装的各个npm package的具体来源和版本号。它有什么用呢?因为npm是一个用于管理package之间依赖关系的管...
2019-05-22 08:44:30
141
原创 git pull和git commit的顺序问题
最近在合作开发项目的时候,遇到一个让人头痛的问题,我在本地clone远端仓库后,修改了部分代码,commit、push代码后,忘记了需要先pull,git revert后,再次pull代码,发现本地的修改被远端仓库覆盖掉了,欲哭无泪。查找了相关的git操作的文档博客等,总结如下:在本地修改与远程代码无冲突的情况下,优先使用:pull -> commit -> push...
2019-05-19 11:00:27
9212
2
原创 实现vdom的diff算法总结
一、前言 前端主流框架 vue 和 react 中都使用了虚拟DOM(virtual DOM)技术,因为渲染真实DOM的开销是很大的,性能代价昂贵,比如有时候我们修改了某个数据,如果直接渲染到真实dom上会引起整个dom树的重绘和重排,而我们只需要更新修改过的那一小块dom而不要更新整个dom。diff算法能够帮助我们。 diff算法源自于:linux的基本命令,对比文本。vue和reac...
2019-05-15 21:33:28
1071
原创 JS正则总结
一、概念正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。二、语法/ 正则表达式主体 / 修饰符(可选)在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。search() 方法, 用于检索字符串中指...
2019-05-14 19:57:37
193
原创 记录---第一次写博客
一、近期情况2018.9.6第一次接触CSDN博客,从去年10月份左右开始接触前端,差不多快1年了,前端基础知识基本有底子了,目前正在学习canvas。下一阶段打算继续学习vue框架,并做一个交友的web网站。...
2019-05-08 22:19:55
229
原创 块级格式化上下文(BFC)
之前面试的时候问到过这个知识点,当时答得并不是很好。平时写样式的时候偶尔还是会用到的,总结一下。含义BFC 即 Block Formatting Contexts (块级格式化上下文),它属于定位方案的普通流。它是一个独立的渲染区域。具有 BFC 特性的元素可以看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且 BFC 具有普通容器所没有的一些特性。通俗一点来讲,可...
2019-05-08 22:10:56
105
原创 服务端渲染和客户端渲染的选择
在学习node.js模板引擎渲染的过程中,发现一个问题,为什么一些场景下会使用服务端渲染?客户端渲染:客户端向服务端发送请求,请求一次 html页面。服务端返回页面(页面字符串)。客户端收到响应页面,从上到下依次解析,当有需要渲染的css、js文件,则再次发起ajax请求。服务端返回相应的数据和文件。客户端拿到ajax响应结果,进行模板引擎渲染,将数据渲染为响应页面。服务端渲染:...
2019-05-06 21:56:21
371
原创 华为云计算电话面试总结
由于当时准备不充分,答得并不好,已经凉了,引以为戒,务必打牢基础,不要好高骛远。1. 先做一个自我介绍 略。2. DNS域名解析的过程,从用户点击一个url开始发生的一系列事情。域名解析过程:(1)你使用的电脑发送了一个DNS请求到本地DNS服务器,本地DNS服务器一般都是你的网络接入服务器商提供。(2)当DNS请求到达本地DNS服务器之后,本地DNS服务器会首先查询它的缓存记录,如...
2019-05-06 15:44:26
4994
3
转载 console的其他用法
在浏览微信公众号的时候,偶然发现了这个推送,web调试除了常用的console.log()还有很多其他的功能,例如console.time()、console.timeEnd()、console.dir()等等。转发链接:https://segmentfault.com/a/1190000018756503...
2019-04-18 20:40:32
163
原创 Javascript实现常用数据结构与算法(二)
1.排序算法常见的排序算法可以分为两类,基本排序算法和高级排序算法。本文前三个是基本排序算法,后三个是高级排序算法。高级排序算法适用于数据集较大的情况。其他的算法诸如基数排序、堆排序等随后补充。需要仔细掌握每种算法的思想,并且手撕代码,在不同情况下熟练运用。1.1 冒泡排序function bubbleSort(arr) { var len = arr.length; for (v...
2019-04-17 22:06:21
165
1
原创 Javascript实现常用数据结构与算法(一)
js不像java、c++有一部分现成的抽象数据类型(ADT),如集合、链表等,需要自己去实现这些功能的类。当然我们可以使用ES6中的class的方式写类,本文还是用的函数实现类。1. 列表实现列表类以及相关的操作方法。//列表的实现function List() { this.listSize = 0; this.pos = 0; this.dataStore = []; // 初...
2019-04-14 16:25:17
370
原创 JS动画特效(二)
一、星空闪烁效果图如下,实际效果是星星动态的闪烁。可用作网页背景等。代码如下:html只需要一个盒子容器,并且设置页面背景为黑色即可。<body style="background:#000"> <div id="app"></div></body>其中,用作星星的图片是:大小为49*7px,共有7段内容。第一步,要确定星星出...
2019-03-14 16:46:53
845
原创 js中关于数组排序问题arr.sort(function(a,b){})
刷题的时候,遇到这么一个问题: 请填充代码,使mySort()能使传入的参数按照从小到大的顺序显示出来。function mySort() { var tags = new Array();//使用数组作为参数存储容器 请补充你的代码 return tags;//返回已经排序的数组}var result = mySort(50,11,16,32,24,99,57,...
2019-03-09 15:42:20
9007
转载 URL中的hash(#)
在学习vue的过程中,接触到了前端路由的概念,我们知道:后端路由:对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源; 前端路由:对于单页面应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,hash有一个特点:HTTP请求中不会包含hash相关的内容;所以,单页面程序中的页面跳转主要用hash实现.那么#的具体用法见下文,总...
2019-03-07 12:11:41
1163
转载 国内外前端大神
巧合之下看到了一篇介绍前端的大佬的博客,突然就想转载一下。。。前排膜拜学习,此文为2017年的。 国内外前端大神 1. 大神寻找Github、微博、知乎等技术社区上比较活跃、影响力大的圈内大神,供大家膜拜!视野所限,未必全面,欢迎大家推荐、自荐。排名不分先后,序...
2019-01-10 16:19:16
4644
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人