自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yanner_的博客

一枚前端小星

  • 博客(168)
  • 收藏
  • 关注

原创 百度面经整理

百度一面1.css3了解哪些,动画属性和动画的回调。2.给了一个场景怎么实现布局,用到了box-sizing。3.html5用过哪些属性,谈一下localstorage和sessionstorage,在什么情况下用的,然后给了一些场景。4.写一个原型链继承,问了一些细节问题。5.apply,call和bind的区别,主要还是this指向问题,说到了bind传参科里化问题,argument...

2018-10-15 18:13:44 274

原创 美团面经整理

美团一面1.自我介绍和项目2.说一下访问一个页面的整个过程。3.介绍一下tcp三次握手。4.说一下栈和堆以及两个区别。5.作用域是什么样的说一下。6.了解垃圾回收机制吗?有哪些方法怎么实现?7.手写代码实现斐波那契数列。8.二分查找复杂度是多少。美团二面1.自我介绍和项目。2.手写一个继承。3.给定场景,变量提升和函数声明提升的各种延伸问题。4.prototype,con...

2018-10-15 17:44:22 455

原创 京东面经整理

京东一面电话面1.自我介绍和项目2.说一下单页应用和多页应用的区别3.跨域的一些实现方法,说到了nginx4.设计模式了解吗有哪些?5.用过哪些排序算法,说一下思路。京东二面现场面1.手写原生ajax,readystate有几种状态?2.手写代码:给定一个不定类型的数组和元素,查找这个元素。3.给定一个场景,有一个列表实现一个功能,说到了事件委托,监听事件,事件流模型。4.js...

2018-10-15 17:22:49 321

原创 网易面经总结

网易一面1.浏览器内核都有哪些?2.http协议、tcp协议以及和socket的区别是什么?3.http缓存了解吗有哪些?4.对html5有哪些了解?5.重绘和重排是什么,解释一下?6.说一下数组去重的多种方式?7.在性能优化方面,平时是怎么做的?8.说一下对js单线程的理解?9.es6知道的有哪些,箭头函数和一般函数的本质区别是什么?10.react中class组件和函数组件...

2018-10-15 16:46:12 237

原创 招银网络面经

招银电话一面(电话面)1.介绍自己和项目2.项目中是如何mock数据的。3.为什么要跨域?跨域有哪些方法?4.如何实现客户端和服务器端的双向通信?5.说一下垂直居中布局有哪些方法 ?6.http无状态是怎么解决的,什么是cookie?延伸:如果有多个服务器,第一次向A发送,第二次向B发送,cookie应该怎么取?7.http的请求方法除了get和post还有哪些?get和post的最...

2018-10-15 16:16:31 5891

原创 搜狗猿辅导猫眼前端面经

记第一次电话面:搜狗一面1.自我介绍2.c++,java,js区别是什么?3.如何设计一个带提示功能的百度搜索框,说了实现过程,问如何优化,说了防抖和节流,一直问还有什么优化。4.是否了解react的生命周期,问同步异步获取数据在哪个钩子函数,详细问了shouldcomponentupdate函数。5.是否了解redux,介绍一下。第一次电话面当时没记面经,所以现在就想起这些比较印象深...

2018-10-15 11:12:13 542

原创 MVM、MVP、MVVM架构联系与区别

一.MVC View (视图层)。它是提供给用户的操作界面,是程序的外壳。Model(数据层),也就是程序需要操作的数据或信息,是整个系统的核心部分。Controller(控制层/逻辑层),它负责根据用户从”视图层”输入的指令,选取”数据层”中的数据,然后对其进行相应的操作,产生最终结果。当Model变更了以后,会通过观察者模式(Observer Pattern)通知View;V...

2018-09-06 16:45:15 2780 1

原创 进程和线程区别

单核CPU执行多任务:操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换到任务2,任务2执行0.01秒,再切换到任务3,执行0.01秒……这样反复执行下去。表面上看,每个任务都是交替执行的,但是,由于CPU的执行速度实在是太快了,我们感觉就像所有任务都在同时执行一样。多核CPU并行执行多任务:进程:对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动...

2018-09-05 16:51:07 166

原创 http的8种请求方式

一.8种请求方式 1、opions 返回服务器针对特定资源所支持的HTML请求方法 或web服务器发送*测试服务器功能(允许客户端查看服务器性能)2、Get 向特定资源发出请求(请求指定页面信息,并返回实体主体)3、Post 向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建立或原有资源的修改4、Put 向指定资源位置上上传其最新内容(从...

2018-09-05 10:39:22 452

原创 二叉树问题

1.创建二叉树 function BinaryTree(data, leftChild, rightChild) { this.data = data || null; // 左右孩子结点 this.leftChild = leftChild || null; this.rightChild = rightChild || n...

2018-09-02 22:43:10 99

原创 链表问题

1.输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。function printListFromTailToHead(head){ var arr=[]; if(!head){ return arr; } while(head){ arr.unshift(head.val); head=hea...

2018-09-02 21:46:52 161

原创 cookie和session机制

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。一。Cookie机制 在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。...

2018-08-31 11:29:48 151

原创 如何做好SEO

1.什么是SEO? 搜索引擎优化(Search Engine Optimization),简称SEO。是按照搜索引擎给出的优化建议,以增强网站核心价值为目标,从网站结构、内容建设方案、用户互动传播等角度进行合理规划,以改善网站在搜索引擎中的表现,吸引更多搜索引擎用户访问网站。SEO与搜索引擎,互相促进,互利互助。搜索引擎蜘蛛是搜索引擎工程师开发出的模拟蜘蛛在蜘蛛网爬行的一个程序,因为类似蜘蛛...

2018-08-31 10:05:34 309

原创 缓存机制解析

1.什么是缓存? 缓存就相当于是对资源的一种副本实现,不管是在客户端还是在服务端存储着,用相同的URL进行请求,直接从副本中请求资源而不再访问源服务器。为什么要使用缓存? 提高访问速度:缓存相对服务端离用户更近,所以在请求过程中从缓存中取内容比在源服务器上取的内容用的时间更少,加快了用户体验。 降低网络传输:副本被重复使用,大大降低了用户的带宽使用,其实也是一种变相的省钱(如果流量要付费...

2018-08-31 09:35:42 267

原创 移动端适配问题

1.自动适应屏幕宽度viewport 在html中添加meta标签:网页的宽度默认等于屏幕的宽度  <meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=0"> 扩展viewport属性: 1>width 设置viewport的宽度,可以是数字,或者使用字符串...

2018-08-30 17:26:36 262

原创 前端性能优化

一。网络加载 1.减少HTTP请求次数 建议尽可能的根据需要去合并静态资源图片、JavaScript代码和CSS文件,减少页面请求数,这样可以缩短页面首次访问的等待时间,另外也要尽量的避免重复资源,防止增加多余的请求。2.避免页面中空的href和src 当link标签的href属性为空,或者script、img、iframe标签的src属性为空的时候,浏览器在渲染的过程中还是会把href...

2018-08-30 15:58:54 109

原创 浏览器兼容性问题整理

市场上浏览器种类很多,不同浏览器的内核也不尽相同,所以各个浏览器对网页的解析存在一定的差异。 浏览器内核主要分为两种,一是渲染引擎,另一个是js 引擎,内核更加倾向于说渲染引擎。常见的浏览器内核:Trident、Gecko、Blink、Webkit Chrome浏览器:Webkit内核,现在是Blink内核 Safari浏览器:Webkit内核 IE浏览器:Trident内核,也成为I...

2018-08-30 15:25:59 136

原创 async与promise区别

假定某个 DOM 元素上面,部署了一系列的动画,前一个动画结束,才能开始后一个。如果当中有一个动画出错,就不再往下执行,返回上一个成功执行的动画的返回值。 首先是 Promise 的写法。function chainAnimationsPromise(elem, animations) { // 变量ret用来保存上一个动画的返回值 let ret = null; // ...

2018-08-28 14:45:26 845

原创 async 函数

1.含义 async 函数是什么?一句话,它就是 Generator 函数的语法糖。const asyncReadFile = async function () { const f1 = await readFile('/etc/fstab'); const f2 = await readFile('/etc/shells'); console.log(f1.toStrin...

2018-08-28 14:36:58 593

原创 常用特性

1.模板字符串 ES6中允许使用反引号 来创建字符串,此种方法创建的字符串里面可以包含由美元符号加花括号包裹的变量${vraible}//产生一个随机数let num = Math.random();//将这个数字输出到consoleconsole.log(`your num is ${num}`);2.函数默认参数 在ES5中,我们是这样给函数定义参数默认值的:functi...

2018-08-28 14:16:23 135

原创 Set 和 Map 数据结构

一。Set ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set 本身是一个构造函数,用来生成 Set 数据结构。const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for (let i of s) { console.log(i);}// 2 3 ...

2018-08-28 11:22:10 98

原创 symbol

一。概念 ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。防止属性名冲突。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。Symbol 值通过Symbol函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是...

2018-08-28 10:36:46 365

原创 sass用法总结

你可以用它开发网页样式,但是没法用它编程。也就是说,CSS基本上是设计师的工具,不是程序员的工具。在程序员眼里,CSS是一件很麻烦的东西。它没有变量,也没有条件语句,只是一行行单纯的描述,写起来相当费事。很自然地,有人就开始为CSS加入编程元素,这被叫做”CSS预处理器”(css preprocessor)。它的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件。...

2018-08-27 21:32:32 211

原创 webpack整理二

一.Loaders Loaders是webpack提供的最激动人心的功能之一了。通过使用不同的loader,webpack有能力调用外部的脚本或工具,实现对不同格式的文件的处理,比如说分析转换scss为css,或者把下一代的JS文件(ES6,ES7)转换为现代浏览器兼容的JS文件,对React的开发而言,合适的Loaders可以把React的中用到的JSX文件转换为JS文件。Loaders需...

2018-08-27 20:41:56 133

原创 webpack使用整理一

一.为什么使用webpack 为了简化前端开发的复杂度,前端社区做了很多实践: 模块化,让我们可以把复杂的程序细化为小的文件; 类似于TypeScript这种在JavaScript基础上拓展的开发语言:使我们能够实现目前版本的JavaScript不能直接使用的特性,并且之后还能转换为JavaScript文件使浏览器可以识别; Scss,less等CSS预处理器 这些改进确实大大的提高了我...

2018-08-27 19:39:01 230

原创 react router

一句话:实现URL与UI界面的同步。其中在react-router中,URL对应Location对象,而UI是由react components来决定的,这样就转变成location与components之间的同步问题。 一、基本用法 React Router 安装命令如下:$ npm install -S react-router使用时,路由器Router就是React的一个组件...

2018-08-26 14:16:05 175

原创 react虚拟dom机制与diff算法

React的一个突出特点是拥有极速地渲染性能。该功能依靠的就是facebook研发团队弄出的虚拟dom机制以及其独特的diff算法。下面简单解释一下react虚拟dom机制和diff算法的实现思想: 要讲虚拟dom机制必须提到一个概念——虚拟dom树,这是react在真实dom树基础上建立的一个抽象的树,应用、虚拟dom与真实dom的关系如下图显示: 而标准的dom机制如下图所示: ...

2018-08-26 10:50:17 306

原创 React:组件的生命周期

在组件的整个生命周期中,随着该组件的props或者state发生改变,其DOM表现也会有相应的变化。一个组件就是一个状态机,对于特定地输入,它总返回一致的输出。React组件的生命周期有一堆的相关函数,其实就是一推的钩子函数。在React组件创建的各个阶段触发特定的钩子函数。 一个React组件的生命周期分为三个部分:实例化、存在期和销毁时。 实例化 当组件在客户端被实例化,第一次被...

2018-08-26 10:04:32 105

原创 通俗易懂的理解 Redux

1.使用React需要什么 React有props和state: props意味着父级分发下来的属性,state意味着组件内部可以自行管理的状态,并且整个React没有数据向上回溯的能力,也就是说数据只能单向向下分发,或者自行内部消化。2.如何让两个组件交流-状态提升 一般构建的React组件内部可能是一个完整的应用,它自己工作良好,你可以通过属性作为API控制它。但是更多的时候发现Rea...

2018-08-25 22:29:00 114

原创 常用语法模板

1.处理事件 React 事件使用驼峰命名,而不是全部小写。 通过 JSX , 你传递一个函数作为事件处理程序,而不是一个字符串。<button onClick={activateLasers}> Activate Lasers</button>在 React 中你不能通过返回 false来阻止默认行为。必须明确调用 preventDefault。 ...

2018-08-25 18:03:57 122

原创 react组件、props、state以及父子组件传值

1.react组件 组件(Components) 让你可以将用户界面分成独立的,可复用的小部件,并可以对每个部件进行单独的设计。 从定义上来说, 组件就像JavaScript的函数。组件可以接收任意输入(称为”props”), 并返回 React 元素,用以描述屏幕显示内容。2.props props (properties的简称) 是一个组件的 配置选项 。 props是由上到下指定且...

2018-08-25 17:09:07 660

原创 react的JSX语法

一.理解JSX 1.什么是JSX React的核心机制之一就是虚拟DOM:可以在内存中创建的虚拟DOM元素。React利用虚拟DOM来减少对实际DOM的操作从而提升性能。类似于真实的原生DOM,虚拟DOM也可以通过JavaScript来创建,例如:var child1 = React.createElement('li', null, 'First Text Content');va...

2018-08-25 16:14:04 357

原创 正则用法

正则基本用法 str:要替换的字符串 \s : 表示 space ,空格 *: 一个或多个 ^: 开始,^\s,以空格开始 $: 结束,\s$,以空格结束 |:或者 /g:global, 全局 replace() 替换 \w:与任何单词、任何字符匹配 +:匹配一次或多次 *:匹配0个或多个 ?:0个或1个 reg.test(str):测试字符串中是否由匹配reg项 st...

2018-08-24 22:38:02 100

原创 创建对象、方法

1.根据包名,在指定空间中创建对象: 输入:namespace({a: {test: 1, b: 2}}, 'a.b.c.d') 输出:{a: {test: 1, b: {c: {d: {}}}}}function namespace(oNamespace, sPackage) { var arr = sPackage.split('.'); var res = oName...

2018-08-24 14:50:33 112

原创 css细节整理

1.XHTML与HTML的有何异同? HTML 和 XHTML 的区别简单来说,XHTML 可以认为是 XML 版本的 HTML,为符合 XML 要求,XHTML 语法上要求更严谨些。 功能上的差别:主要是XHTML可兼容各大浏览器、手机以及PDA,并且浏览器也能快速正确地编译网页。 书写习惯的差别:XHTML要求比较严谨,所以书写应用要求细心与细致,XHTML要求正确嵌套,XHTML所有元...

2018-08-24 14:46:18 286

原创 获取url中的参数

获取 url 中的参数 1. 指定参数名称,返回该参数的值 或者 空字符串 2. 不指定参数名称,返回全部的参数对象 或者 {} 3. 如果存在多个同名参数,则返回数组测试: 输入:http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe 输出:[1, 2, 3]function getUrlParam(s...

2018-08-23 16:56:45 216

原创 正则表达式-剑指

1.给定字符串 str,检查其是否包含数字,包含返回 true,否则返回 falsefunction containsNumber(str) { return /\d/.test(str);}2.给定字符串 str,检查其是否包含连续重复的字母(a-zA-Z),包含返回 true,否则返回 falsefunction containsRepeatingLetter(s...

2018-08-23 15:53:07 184

原创 性能优化-异步加载js文件

为什么要异步加载:同步加载会阻塞浏览器的后续处理,即只有当当前文件加载完毕之后才能进行下一步的文件加载(如图像)、渲染、代码执行。如果js中有输出document内容、修改DOM、重定向等行为,就会造成页面阻塞。什么叫异步加载: 异步加载不会阻塞浏览器的后续操作,即在加载执行js的同时,并行加载其他文件渲染页面。方法一:async属性 async属性规定js文件一旦可用就会执行,脚本相对...

2018-08-23 12:12:05 121

原创 实现一个函数clone,可以对javascript中的5种主要的数据类型进行值复制。

数据类型:(包括Number、String、Object、Array、Boolean) 关键点在于:Object分为对象或数组 判断是否是数组:function isArray(obj) { return Object.prototype.toString.call(obj) === '[object Array]'; }...

2018-08-23 11:55:17 139

原创 js闭包中this的指向问题及三种解决方法

下面是一个问题,对象方法中定义的子函数,子函数执行时this指向哪里? 三个问题: (1)以下代码中打印的this是个什么对象? (2)这段代码能否实现使myNumber.value加1的功能? (3)在不放弃helper函数的前提下,有哪些修改方法可以实现正确的功能?var myNumber = { value: 1, add: funct...

2018-08-23 11:08:28 163

空空如也

空空如也

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

TA关注的人

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