<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yanner_的博客]]></title><description><![CDATA[一枚前端小星]]></description><link>https://blog.youkuaiyun.com/yanner_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yanner_]]></copyright><item><title><![CDATA[百度面经整理]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/83062605</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/83062605</guid><author>yanner_</author><pubDate>Mon, 15 Oct 2018 18:13:44 +0800</pubDate><description><![CDATA[百度一面
1.css3了解哪些，动画属性和动画的回调。
2.给了一个场景怎么实现布局，用到了box-sizing。
3.html5用过哪些属性，谈一下localstorage和sessionstorage，在什么情况下用的，然后给了一些场景。
4.写一个原型链继承，问了一些细节问题。
5.apply，call和bind的区别，主要还是this指向问题，说到了bind传参科里化问题，argument...]]></description><category></category></item><item><title><![CDATA[美团面经整理]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/83062229</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/83062229</guid><author>yanner_</author><pubDate>Mon, 15 Oct 2018 17:44:22 +0800</pubDate><description><![CDATA[美团一面
1.自我介绍和项目
2.说一下访问一个页面的整个过程。
3.介绍一下tcp三次握手。
4.说一下栈和堆以及两个区别。
5.作用域是什么样的说一下。
6.了解垃圾回收机制吗？有哪些方法怎么实现？
7.手写代码实现斐波那契数列。
8.二分查找复杂度是多少。
美团二面
1.自我介绍和项目。
2.手写一个继承。
3.给定场景，变量提升和函数声明提升的各种延伸问题。
4.prototype，con...]]></description><category></category></item><item><title><![CDATA[京东面经整理]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/83061837</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/83061837</guid><author>yanner_</author><pubDate>Mon, 15 Oct 2018 17:22:49 +0800</pubDate><description><![CDATA[京东一面电话面
1.自我介绍和项目
2.说一下单页应用和多页应用的区别
3.跨域的一些实现方法，说到了nginx
4.设计模式了解吗有哪些？
5.用过哪些排序算法，说一下思路。
京东二面现场面
1.手写原生ajax,readystate有几种状态？
2.手写代码：给定一个不定类型的数组和元素，查找这个元素。
3.给定一个场景，有一个列表实现一个功能，说到了事件委托，监听事件，事件流模型。
4.js...]]></description><category></category></item><item><title><![CDATA[网易面经总结]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/83061091</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/83061091</guid><author>yanner_</author><pubDate>Mon, 15 Oct 2018 16:46:12 +0800</pubDate><description><![CDATA[网易一面
1.浏览器内核都有哪些？
2.http协议、tcp协议以及和socket的区别是什么？
3.http缓存了解吗有哪些？
4.对html5有哪些了解？
5.重绘和重排是什么，解释一下？
6.说一下数组去重的多种方式？
7.在性能优化方面，平时是怎么做的？
8.说一下对js单线程的理解？
9.es6知道的有哪些，箭头函数和一般函数的本质区别是什么？
10.react中class组件和函数组件...]]></description><category></category></item><item><title><![CDATA[招银网络面经]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/83060473</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/83060473</guid><author>yanner_</author><pubDate>Mon, 15 Oct 2018 16:16:31 +0800</pubDate><description><![CDATA[招银电话一面（电话面）
1.介绍自己和项目
2.项目中是如何mock数据的。
3.为什么要跨域？跨域有哪些方法？
4.如何实现客户端和服务器端的双向通信？
5.说一下垂直居中布局有哪些方法 ？
6.http无状态是怎么解决的，什么是cookie？延伸：如果有多个服务器，第一次向A发送，第二次向B发送，cookie应该怎么取？
7.http的请求方法除了get和post还有哪些？get和post的最...]]></description><category></category></item><item><title><![CDATA[搜狗猿辅导猫眼前端面经]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/83056156</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/83056156</guid><author>yanner_</author><pubDate>Mon, 15 Oct 2018 11:12:13 +0800</pubDate><description><![CDATA[记第一次电话面：搜狗一面
1.自我介绍
2.c++,java，js区别是什么？
3.如何设计一个带提示功能的百度搜索框，说了实现过程，问如何优化，说了防抖和节流，一直问还有什么优化。
4.是否了解react的生命周期，问同步异步获取数据在哪个钩子函数，详细问了shouldcomponentupdate函数。
5.是否了解redux，介绍一下。
第一次电话面当时没记面经，所以现在就想起这些比较印象深...]]></description><category></category></item><item><title><![CDATA[MVM、MVP、MVVM架构联系与区别]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82463884</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82463884</guid><author>yanner_</author><pubDate>Thu, 06 Sep 2018 16:45:15 +0800</pubDate><description><![CDATA[一.MVC 
 
View (视图层)。它是提供给用户的操作界面，是程序的外壳。

Model(数据层)，也就是程序需要操作的数据或信息，是整个系统的核心部分。

Controller（控制层/逻辑层），它负责根据用户从”视图层”输入的指令，选取”数据层”中的数据，然后对其进行相应的操作，产生最终结果。

当Model变更了以后，会通过观察者模式（Observer Pattern）通知View；V...]]></description><category></category></item><item><title><![CDATA[进程和线程区别]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82426714</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82426714</guid><author>yanner_</author><pubDate>Wed, 05 Sep 2018 16:51:07 +0800</pubDate><description><![CDATA[单核CPU执行多任务：操作系统轮流让各个任务交替执行，任务1执行0.01秒，切换到任务2，任务2执行0.01秒，再切换到任务3，执行0.01秒……这样反复执行下去。表面上看，每个任务都是交替执行的，但是，由于CPU的执行速度实在是太快了，我们感觉就像所有任务都在同时执行一样。

多核CPU并行执行多任务：

进程：对于操作系统来说，一个任务就是一个进程（Process），比如打开一个浏览器就是启动...]]></description><category></category></item><item><title><![CDATA[http的8种请求方式]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82416555</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82416555</guid><author>yanner_</author><pubDate>Wed, 05 Sep 2018 10:39:22 +0800</pubDate><description><![CDATA[一.8种请求方式 
1、opions   返回服务器针对特定资源所支持的HTML请求方法   或web服务器发送*测试服务器功能（允许客户端查看服务器性能）

2、Get   向特定资源发出请求（请求指定页面信息，并返回实体主体）

3、Post   向指定资源提交数据进行处理请求（提交表单、上传文件），又可能导致新的资源的建立或原有资源的修改

4、Put   向指定资源位置上上传其最新内容（从...]]></description><category></category></item><item><title><![CDATA[二叉树问题]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82320399</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82320399</guid><author>yanner_</author><pubDate>Sun, 02 Sep 2018 22:43:10 +0800</pubDate><description><![CDATA[1.创建二叉树



 function BinaryTree(data, leftChild, rightChild) {
        this.data = data || null;
        // 左右孩子结点
        this.leftChild = leftChild || null;
        this.rightChild = rightChild || n...]]></description><category></category></item><item><title><![CDATA[链表问题]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82319810</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82319810</guid><author>yanner_</author><pubDate>Sun, 02 Sep 2018 21:46:52 +0800</pubDate><description><![CDATA[1.输入一个链表，按链表值从尾到头的顺序返回一个ArrayList。



function printListFromTailToHead(head)
{
    var arr=[];
    if(!head){
        return arr;
    }
    while(head){
        arr.unshift(head.val);
        head=hea...]]></description><category></category></item><item><title><![CDATA[cookie和session机制]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82253847</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82253847</guid><author>yanner_</author><pubDate>Fri, 31 Aug 2018 11:29:48 +0800</pubDate><description><![CDATA[会话（Session）跟踪是Web程序中常用的技术，用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份，Session通过在服务器端记录信息确定用户身份。

一。Cookie机制 
在程序中，会话跟踪是很重要的事情。理论上，一个用户的所有请求操作都应该属于同一个会话，而另一个用户的所有请求操作则应该属于另一个会话，二者不能混淆。
...]]></description><category></category></item><item><title><![CDATA[如何做好SEO]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82251897</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82251897</guid><author>yanner_</author><pubDate>Fri, 31 Aug 2018 10:05:34 +0800</pubDate><description><![CDATA[1.什么是SEO? 
搜索引擎优化（Search Engine Optimization）,简称SEO。是按照搜索引擎给出的优化建议，以增强网站核心价值为目标，从网站结构、内容建设方案、用户互动传播等角度进行合理规划，以改善网站在搜索引擎中的表现，吸引更多搜索引擎用户访问网站。SEO与搜索引擎，互相促进，互利互助。

搜索引擎蜘蛛是搜索引擎工程师开发出的模拟蜘蛛在蜘蛛网爬行的一个程序，因为类似蜘蛛...]]></description><category></category></item><item><title><![CDATA[缓存机制解析]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82227545</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82227545</guid><author>yanner_</author><pubDate>Fri, 31 Aug 2018 09:35:42 +0800</pubDate><description><![CDATA[1.什么是缓存？ 
缓存就相当于是对资源的一种副本实现，不管是在客户端还是在服务端存储着，用相同的URL进行请求，直接从副本中请求资源而不再访问源服务器。

为什么要使用缓存？ 
提高访问速度：缓存相对服务端离用户更近，所以在请求过程中从缓存中取内容比在源服务器上取的内容用的时间更少，加快了用户体验。 
降低网络传输：副本被重复使用，大大降低了用户的带宽使用，其实也是一种变相的省钱（如果流量要付费...]]></description><category></category></item><item><title><![CDATA[移动端适配问题]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82224968</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82224968</guid><author>yanner_</author><pubDate>Thu, 30 Aug 2018 17:26:36 +0800</pubDate><description><![CDATA[1.自动适应屏幕宽度viewport 
在html中添加meta标签:网页的宽度默认等于屏幕的宽度　　

&amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1,user-scalable=0&quot;&amp;gt;

　扩展viewport属性：

　1&amp;gt;width 设置viewport的宽度，可以是数字，或者使用字符串...]]></description><category></category></item><item><title><![CDATA[前端性能优化]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82222932</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82222932</guid><author>yanner_</author><pubDate>Thu, 30 Aug 2018 15:58:54 +0800</pubDate><description><![CDATA[一。网络加载 
1.减少HTTP请求次数 
建议尽可能的根据需要去合并静态资源图片、JavaScript代码和CSS文件，减少页面请求数，这样可以缩短页面首次访问的等待时间，另外也要尽量的避免重复资源，防止增加多余的请求。

2.避免页面中空的href和src 
当link标签的href属性为空，或者script、img、iframe标签的src属性为空的时候，浏览器在渲染的过程中还是会把href...]]></description><category></category></item><item><title><![CDATA[浏览器兼容性问题整理]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82222157</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82222157</guid><author>yanner_</author><pubDate>Thu, 30 Aug 2018 15:25:59 +0800</pubDate><description><![CDATA[市场上浏览器种类很多，不同浏览器的内核也不尽相同，所以各个浏览器对网页的解析存在一定的差异。 
浏览器内核主要分为两种，一是渲染引擎，另一个是js 引擎，内核更加倾向于说渲染引擎。

常见的浏览器内核：Trident、Gecko、Blink、Webkit 
Chrome浏览器：Webkit内核，现在是Blink内核 
Safari浏览器：Webkit内核 
IE浏览器：Trident内核，也成为I...]]></description><category></category></item><item><title><![CDATA[async与promise区别]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82147738</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82147738</guid><author>yanner_</author><pubDate>Tue, 28 Aug 2018 14:45:26 +0800</pubDate><description><![CDATA[假定某个 DOM 元素上面，部署了一系列的动画，前一个动画结束，才能开始后一个。如果当中有一个动画出错，就不再往下执行，返回上一个成功执行的动画的返回值。 
首先是 Promise 的写法。



function chainAnimationsPromise(elem, animations) {

  // 变量ret用来保存上一个动画的返回值
  let ret = null;

  // ...]]></description><category></category></item><item><title><![CDATA[async 函数]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82147521</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82147521</guid><author>yanner_</author><pubDate>Tue, 28 Aug 2018 14:36:58 +0800</pubDate><description><![CDATA[1.含义 
async 函数是什么？一句话，它就是 Generator 函数的语法糖。



const asyncReadFile = async function () {
  const f1 = await readFile('/etc/fstab');
  const f2 = await readFile('/etc/shells');
  console.log(f1.toStrin...]]></description><category></category></item><item><title><![CDATA[常用特性]]></title><link>https://blog.youkuaiyun.com/yanner_/article/details/82147058</link><guid>https://blog.youkuaiyun.com/yanner_/article/details/82147058</guid><author>yanner_</author><pubDate>Tue, 28 Aug 2018 14:16:23 +0800</pubDate><description><![CDATA[1.模板字符串 
ES6中允许使用反引号 来创建字符串，此种方法创建的字符串里面可以包含由美元符号加花括号包裹的变量${vraible}

//产生一个随机数
let num = Math.random();
//将这个数字输出到console
console.log(`your num is ${num}`);

2.函数默认参数 
在ES5中，我们是这样给函数定义参数默认值的：

functi...]]></description><category></category></item></channel></rss>