自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2019 web 前端面试总结(内附面经)

这篇文章不适合拿到 BAT 的大佬及自制力特别差的人本文只是提供复习的思路,以及我自己的一些面经,并没有具体的题目基本情况据说先把 offer 亮出来才能吸引你们看下去。目前一共有五个。分别是顺丰,拼多多,远景智能,老虎证券和贝壳。其实拿到拼多多以后很多笔试面试就没有继续参加了,比如苏宁,虎牙的面试都没有去。还有一些直接笔试就拒了。因为过了也不会去,所以也就不败人品了。再说一下我的情况...

2018-09-25 18:52:53 56119 24

原创 2019 秋招前端面试总结

总结一下自己的秋招面试题,希望能对自己什么部分有所欠缺有更好的认识,并能给其他人提供经验,帮助找工作的人查缺补漏。CVTE 前端一面 持续更新中…...

2018-07-29 17:26:43 17827 6

原创 2019 web 前端面试总结(春招)

说是春招总结,其实春招只试了头条,算是对找工作以来的总结吧。而且时间过去了快半年了,中间也去实习了一段时间,了解了公司前端开发到底在做什么,不像之前只有在实验室的 low 到爆的项目经验。关于 offer 的情况,除了秋招拿到的拼多多、贝壳之外,11 月的时候还拿到了滴滴的 offer,因为那时候三方已经签了,所以准备春招毁约去滴滴,结果一月底的时候 hr 让赶紧签三方,说是二月底之前不签的话就...

2019-03-09 00:04:58 1494 3

原创 字节跳动前端二面及三面

文章目录二面三面二面对函数式编程了解说一下 纯函数,偏应用,柯里化,compose 分别是什么写一下柯里化apply,call,bind 的区别一段代码setTimeout(function() { console.log(1)}, 0);new Promise(function executor(resolve) { console.log(2); f...

2019-03-05 16:39:22 11308 1

原创 字节跳动前端一面

项目相关跨域方式安全相关 XSS 及解决方案compose 函数实现koa 中间件机制node 爬虫过程(简历)react 和 vue 区别虚拟 domhttps 连接过程react 性能优化node Event 实现(发布订阅实现)写一个函数,实现[['a','0'],['b','1'],['c','2']] => ['abc','ab2','a1c','a12',...

2019-02-25 22:31:40 4598

原创 实习生活

不知不觉也实习了两周了,其实早就应该来实习了,不过一直担心导师那边加上去实习的话又要租房什么的然后一直也没有下定决心,最后终于在开题报告结束之后来实习了前言之前来过一次北京,不过当时是来玩的,然后自己也没有真正的工作过,这种第一次到一个城市,租房然后上班的经历还是第一次。刚来北京的时候还是挺激动的,也有担心,担心刚租完房子就被导师叫回去了,不过还好,已经半个月了暂时还没啥问题。刚租完房子时还是...

2018-12-23 20:13:42 866

原创 如何优雅的链式取值之 MayBe 函子

本文基于 如何优雅地链式取值可能有人之前看过我写的关于函数式编程的东西,也有人看过这一篇文章。由于我还是学生,开发经验相对较少,所以对于函数式编程如何应用存在一些疑惑。之前也问过面试官,说是实际开发中用的比较少,因为别人可能需要通读你的代码才能明白你写的东西。但是这篇文章就提供给了我一个很好的应用函数式编程的机会。从 如何优雅地链式取值 这篇文章的描述中,可以看出处理嵌套层级特别深的代码经...

2018-09-29 19:44:11 638 2

原创 函数式编程总结

函数式编程总结函数式编程入门已经看完了,来总结一下吧。学了大概半个多月了,觉得学到了很多东西,想应用到实际中去,于是面试的时候问了一下面试官函数式编程在实际开发中的应用场景。面试官说函数式编程是个好东西,但是实际应用的场景不多。而且用函数式编程写出来的东西没接触过的人可能看不懂,需要通读代码。不过多了解总是好的。还是有点失望的。但是总是有机会用到的,就算只是比别人多了解一点也是好的。以下代码复杂...

2018-09-23 21:13:47 701 2

转载 函数式编程之函子

8. 函子昨天我们学习了组合与管道,在学习新的知识之前我们需要复习一下几个重要的函数,比如 curry,partial,compose,pipe。现在还能写出来吗?学习一个东西除了为了知道它的思想,也要知道是怎么实现的。毕竟思想只是脑子里的东西,只有真正能实现才真正有用。所以还是希望大家复习一下之前比较重要的函数。话不多说,我们开始今天的学习。今天我们要学习的是函数式编程中一个重要的概念——错...

2018-09-19 16:46:35 2813

转载 函数式编程之组合与管道

7. 组合与管道昨天我们学习了柯里化与偏函数,当然不能学完就完了,一些经典的函数什么的还是需要记一下的,比如今天重写新写一下看看能不能写出来,也能加深自己对这方面的理解。今天我们将要学习的是函数式组合的含义及其实际应用。Q函数式组合在函数式编程中被称为组合,我们将通过了解组合的概念并学习大量例子,然后创建自己的 compose 函数。理解 compose 函数底层的运行机制是一项有趣的任务...

2018-09-18 18:42:55 1168 1

转载 函数式编程之柯里化与偏应用

6. 柯里化与偏应用在本章中,我们将了解术语柯里化的含义,在了解了柯里化所做的事情及用途之后,我们将介绍另一个在函数式编程中称为偏应用的概念。我们将研究一个简单的问题,并说明柯里化与偏应用这类函数式技术的运行机制6.1 一些术语先来了解一些术语一元函数:只接受一个参数的函数称为一元函数二元函数:接受两个参数的函数称为二元函数变参函数:变参函数是接受可变数量参数的函数,...

2018-09-17 16:19:33 1238

转载 函数式编程之数组的函数式编程

5. 数组的函数式编程在本章中,我们将创建一组用于数组的函数,并用函数式的方法而非命令式的方法来解决常见的问题5.1 数组的函数式方法本节将创建一组有用的函数,并用它们解决数组的常见问题 本节所创建的所有函数称为投影函数,把函数应用于一个值并创建一个新值的过程称为投影。讲个通俗的例子,forEach 没有返回值,所以就不是投影函数,map 有返回值,所以是投影函数...

2018-09-16 16:37:20 786

转载 函数式编程之闭包与高阶函数

4. 闭包与高阶函数前两天去面试了,所以没时间看书,准备把剩下的几家面完就提前结束秋招了,面试太累了。话不多说,我们开始今天的函数式编程的学习。前两天我们了解了高阶函数如何抽象通用的问题,我们创建了一个 sortBy 高阶函数并展示了一个有效的相关用例。在继续函数式编程之前,闭包是我们需要理解的概念。这也是我们今天要讨论的主要问题,我们将详细闭包并应用它编写高阶函数。让我们开始吧。...

2018-09-14 20:52:59 873

转载 函数式编程之高阶函数

3. 高阶函数昨天我们把 Node 的环境配置好了,还创建了第一个名为 forEach 的函数式编程 API,并且这个函数接收一个函数。允许以函数代替数据传输是非常强大的概念,这种接收函数作为其参数的函数称为高阶函数(Higher-Order-Function),简称 HOC,今天我们将继续创建几个简单的 HOC 添加到类库中。让我们开始吧3.1 理解数据每种编程语言都有数据类型,...

2018-09-11 21:28:20 1316

转载 函数式编程之 Javascript 基础及环境配置

2. Javascript 基础及环境配置通过上一章我们知道了软件世界的函数就是数学函数,也知道了纯函数的优势,可缓存,并发代码等,这一章将学习如何在 JavaScript 使用函数,并且使用 ES6 的语法,以便掌握 ES6 函数的要领。但是生产环境中用的一般还是 ES5 的代码,那么这时候就到了 babel 登场的时候了。babel 能够将 ES6 语法写的代码转换成 ES5 的版本,...

2018-09-10 18:58:13 296

转载 函数式编程简介

最近在看函数式编程入门经典,自己总结一下,感兴趣的可以看一下函数式编程1. 简介1.1 什么是函数式编程函数式编程主要是基于数学函数和它的思想那么我们先复习一下数学中的函数即y = f(x)即函数 f(x) 以 x 为参数,以 y 为结果,x 和 y 可以是任意的数字,这其中包含了几个关键点函数必须总是接收一个参数函数必须总是返回一个值函数应该根据...

2018-09-09 17:19:41 376

原创 携程前端模拟排序动画

昨天晚上做携程的笔试,第三道题是让模拟一个排序的步骤,也就是将排序的过程以动画的形式表现出来。即这种效果 首先赞一下携程的这道题目,这才是前端该做的题目,既有意思,又考察了排序算法,还考察了部分动画及 dom 操作。话不多说,分析一下这道题目。首先是页面基本结构<!DOCTYPE html><html lang="en"><head>...

2018-09-05 21:18:33 406

原创 CSS 垂直居中

前言被这个问题折磨很久了,一直没有系统的整理,今天就系统的整理一下比较常用的,以后回顾的时候也可以参照1. line-height适用场景:单行文字,下拉框,按钮等原理:将单行文字设置行高以后,文字会位于行高的中间位置。也就是需要将元素的 line-height 设置成和高度一样。示例如下 <style> .content{ ...

2018-08-30 15:08:00 5227 1

原创 浅析 Promise

前言刚开始的时候自己对 Promise 的了解不是太深,看到 Promise 就头疼,然后看阮一峰老师的 ES6 标准入门的时候根本看不下去,应该是自己之前的水平太差了,不过最近在看的时候发现基本都能理解了,所以尽可能以一个小白的观点整理一下,希望能帮助更多人理解,这篇文章适合对 Promise 了解的不多,但是想了解的人。如果能耐心读下去的话肯定会对你了解 Promise 有所帮助。...

2018-08-29 16:36:13 422

原创 css 布局的几种方式

前言1 table 布局2 flex 布局2.1 盒模型2.2 display / poistion2.3 flexbox 布局3 float 布局前言CSS 的布局应该是 CSS 体系中的重中之重了,主要的布局方式有 table 表格布局(早期),float 浮动布局和 flex 布局,还有针对于移动端的响应式布局,不论是工作还是面试都是非常重要的知识...

2018-08-21 23:25:20 61081 8

原创 js 多维数组

1 一个问题引发的思考2 总结1 一个问题引发的思考今天早上复习回溯算法,定义标记数组时觉得以前定义多维数组的方法太繁琐了,想了一种简单的方式,结果发现这种方式有问题,于是就整理了一下js 本身没有多维数组,可以通过下面这种方式定义多维数组// 定义一个三行四列的数组// 首先定义一个包含三个元素的数组let array = new Array(3);...

2018-08-21 15:22:31 13160

原创 深拷贝和浅拷贝

1 引言2 什么是深拷贝和浅拷贝3 如何实现浅拷贝3.1 Object.assign()3.2 自定义函数4 如何实现深拷贝4.1 转成 JSON 再转回来4.2 自定义函数5 总结1 引言看下面这个问题function changeStuff(a, b, c){ a = a * 10; b.item = "changed...

2018-08-19 16:28:52 365

原创 执行环境,变量对象及作用域链

1 概念2 执行环境3 变量对象4 作用域链5 总结1 概念首先来看一下 javascript 高级程序设计中的概念 执行环境:执行环境定义了变量或函数有权访问的其他数据,决定了他们各自的行为。每个执行环境都有一个与之关联的变量对象,执行环境中定义的所有变量和函数都保存在这个对象中。 作用域链:当代码在一个环境中执行时,会创建变量对象的一...

2018-08-16 10:52:19 833 1

原创 js 模块化编程

1 什么是模块化编程2 为什么要模块化3 AMD4 CommonJS5 总结了解一个技术,首先要了解这个技术产生的背景及解决的问题,而不应该只是单纯的知道该怎么用。之前的状态可能就是只是为了了解而了解,并不知道实际产生的原因及带来的好处,所以今天就来总结一下。1 什么是模块化编程来看百度百科的定义 模块化程序设计是指在进行程序设计时将一个大程序按...

2018-08-09 20:24:33 446

翻译 事件循环及 microtask

在理解事件循环的图中看到了很多人都翻译了一篇文章,于是我也尝试着翻译一下,顺便加深自己的理解文章翻译自 https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/ 翻译功底不高,所以可能读起来不是那么顺畅,有能力的可以自己阅读一下原版的文章,文章不难读,也可以结合其他人的翻译读。正文当我告诉我的同事 M...

2018-08-06 10:52:17 335

原创 跨域之 JSONP 与 CORS

前言什么是跨域JSONPCORS简单请求与非简单请求简单请求非简单请求预检请求预检请求的回应浏览器的正常请求和回应区别总结及面试前言跨域问题是前端经常遇到的问题,并且也是面试的时候面试官会经常问到的问题,那么今天就来总结一下跨域及跨域的几种方式。什么是跨域跨域问题的出现主要是因为浏览器的同源策略,即浏览器只能访问与包含它的页面处...

2018-08-05 20:08:09 741

原创 TCP 和 UDP 的区别

前言UDPTCPTCP 的三次握手TCP 四次挥手累计确认顺序问题和丢包问题流量控制的问题拥塞控制的问题总结及面试问题前言前端的面试中经常问的 TCP 和 UDP 的区别,网上也有好多内容,比如 TCP 和 UDP 的区别TCP 是面向连接的,UDP 是面向无连接的UDP程序结构较简单 TCP 是面向字节流的,UDP 是基于...

2018-08-04 21:57:42 190945 36

原创 关于 click 事件的一个小坑

问题结论问题javascript 高级语言程序设计里面在事件那一章的鼠标事件里面有这么一句话 只有在同一个元素上相继触发 mousedown 和 mouseup 事件,才会触发 click 事件 如果 mousedown 和 mouseup 中的任意一个被取消,就不会触发 click 事件我们来试一下<div id="myDiv...

2018-08-04 09:45:29 383

原创 浅析 Web 安全之 XSS 与 CSRF

前言整理面经的时候好多前端的面经里面都有和 web 安全相关的内容,所以就详细了解了一下,但是这几次面试其实都没有问到,今天晚上也问了面试官虽然 XSS 和 CSRF 和前端安全相关,但是其实前端能做的并不多,最多只是对一些特殊字符进行转义,但是其实主要的工作还是后端来做,所以前端到底能做什么来预防这些东西。面试官是这么跟我说的,他说前端只是一个大门,并不能挡住所有东西,但是还是要对这些东西有...

2018-08-01 16:51:04 629

原创 浅析 Javascript 中 this 的指向 ( 箭头函数 )

1. 关于 this2. this 全面解析2.1 调用位置2.2 绑定规则2.2.1 默认绑定2.2.2 隐式绑定2.2.3 显式绑定2.2.4 new 绑定2.3 优先级判断 this2.4 箭头函数3. 总结本文基于你不知道的 javascript 上卷和自己的理解1. 关于 this当一个函数被调用时,会创建一个活动记录...

2018-07-30 17:20:08 8350 5

原创 nodejs 爬取前端面经并生成词云

前言准备工作网页结构分析分词生成词云完整代码效果图github 地址前言最近有 CVTE 的面试但是一直没有到我,昨天下午牛客网上 CVTE 前端的面经突然多了起来,大致看了一下,和自己之前整理的知识点差的不多,但是基本都问了 nodejs 的问题。正好之前的爬虫都没有做过词云,借着这个机会爬一下牛客网的前端面经,顺便生成词云,看看面试中哪些比较重...

2018-07-28 18:43:31 3269 2

原创 2018 前端面试问题总结

面试问题总结javascriptCSSES6httpHTML框架相关自由发挥算法(考的比较多的)性能优化(雅虎军规 35 条)设计模式(可以了解下面这几个)构建工具 webpack 和 gulp 及区别面试问题总结javascript js 高级程序设计 3 - 7 章,10 - 13 章,21 章,有空可以看《你不知道...

2018-07-10 16:47:07 433

原创 nodejs 爬取动态网页

前言准备工作创建工程今日头条爬虫代码后记前言昨天实现了草榴的爬取 nodejs 做一个简单的爬虫爬草榴,今天对代码做了一部分修改,增加了可以指定开始页和结束页,并且给所有文件都单独创建了文件夹。那么问题来了,说好的爬 街拍图片 呢?毕竟爬完草榴的东西并不适合展示,所以,今天又尝试了一下爬今日头条的街拍图片。Talk is cheap,show ...

2018-06-25 09:40:35 12739 1

原创 关于 let 避免闭包带来的问题

今天晚上做了一下阿里校园招聘在线模拟笔试,有一道编程题是下面这样的 利用面向对象思想完成买家信息删除功能,每一条信息包含: 姓名 电话 电话号码 省份 实现以下要求: 不能借用任何第三方库,需要使用原生代码实现。 结合给出的基本代码结构,在下方2处code here补充代码,完成买家信息的删除功能,注意此页面要在手机上清晰显示。 ...

2018-05-07 20:14:07 1663

原创 webpack 打包失败

报错1:The CLI moved into a separate package:webpack-cli Would you like to install webpack-cli ( That will run npm install -D webpack-cli)( yes/No )解决方案:方案一:webpack 已经更新,webpack 4.0 之后 命令行单独分出一个包...

2018-05-07 09:40:59 1984

原创 nodejs 实现异步并发爬虫

前言修改完代码后记前言前两天实现了简单的爬草榴和今日头条的图片。但是他们都有一个缺点,就是只有当前任务完成以后才会进行下一个任务。所以就在网上搜了一下。 因为之前不是计算机专业的,所以刚开始的时候花了一部分时间来理解异步和并发的概念。知乎上面有一篇解释阻塞非阻塞与异步同步区别的问题回答还不错 怎样理解阻塞非阻塞与同步异步的区别?。 自己理解异步和...

2018-05-05 11:52:47 5188

原创 记录一下自己觉得写的比较好的文章,因为时间长了可能会忘记

javascript 事件执行机制 这篇文章中闭包的内存泄漏问题javascript 事件执行机制与异步阻塞非阻塞以及同步异步的区别

2018-05-01 19:30:26 306

原创 nodejs 做一个简单的爬虫

前言准备工作创建工程武大计算机学院新闻爬虫代码草榴技术讨论区爬虫后记前言(前言是废话可以略过)感觉我写的已经很基础了,就算没有编程经验的人应该也能做出来吧? 起因是昨天中午在 stromzhang 的知识星球(会不会有广告嫌疑)上看到一个球友分享了这么一篇东西 链接如下: 今日头条街拍,又到养眼的季节 作为一个程序员,到现在还...

2018-04-29 13:16:54 89330 1

原创 2018腾讯实习生前端面试

4.10 号接到的腾讯实习生的面试通知。本来想好好准备一下的,结果实验室项目任务太多,只准备了一天,所以就没准备好。记录一下面试的问题,希望能有所帮助。不同的面试官问问题的方式好像不太一样,有的是根据你项目经验来问,有的好像是直接从基础知识开始问。我遇到的是从项目经验来问的,感觉相对来说简单一点。首先问了我做的项目以及在项目中遇到的印象比较深刻的问题。然后因为我在简历里面写了 vue,所以先问了我关

2018-04-17 16:12:30 558

转载 小程序目录结构中的project.config.json

初学小程序,看了官方文档,弄懂了 app.js,app.json,app.wxss,但是对于 project.config.json 里面的内容并不是特别了解。于是在网上查了一下,发现一篇文章介绍的比较清楚 微信小程序-入口2019.07.21:其实这个文件就是项目的一些配置信息,包括版本、依赖、程序名之类...

2018-03-25 14:17:14 29456 1

空空如也

空空如也

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

TA关注的人

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