- 博客(71)
- 收藏
- 关注
原创 2018前端面试总结,看完弄懂,工资少说加3K | 掘金技术征文
前言文章涉及的内容可能不全面,但量很多,需要慢慢看。来源于各个地方,我花了很长的时间整理,希望对大家有帮助。但是难免会有打字的错误或理解的错误,希望发现的可以邮箱告诉我236490794@qq.com,我会及时的进行修改,旨在能帮到大家,谢谢。前端目录HTML相关CSS相关JAVASCRIPT相关DOM相关HTTP相关VUE相关算法相关网络安全相关webpack相关其他H...
2019-09-17 16:23:58
215
原创 从基础到实战 手摸手带你掌握新版Webpack4.0详解 一起读文档
项目地址 github.com/wudiufo/Web…知识点概览:Loader,HMR ,Create React App, Caching, Plugin, SourceMap,Vue Cli 3.0 ,Shimming, WebpackDevServer,TreeShaking, CodeSplitting, Babel, React , Library, Eslint ,PWA, Vu...
2019-09-17 16:22:35
963
原创 如何写出一个惊艳面试官的深拷贝?
导读最近经常看到很多JavaScript手写代码的文章总结,里面提供了很多JavaScript Api的手写实现。里面的题目实现大多类似,而且说实话很多代码在我看来是非常简陋的,如果我作为面试官,看到这样的代码,在我心里是不会合格的,本篇文章我拿最简单的深拷贝来讲一讲。看本文之前先问自己三个问题:你真的理解什么是深拷贝吗?在面试官眼里,什么样的深拷贝才算合格?什么样的深拷贝能让面试官感...
2019-09-16 15:26:39
250
原创 webpack4 的30个步骤打造优化到极致的 react 开发环境,如约而至
这一篇文章将react和webpack4进行结合,集webpack的优势于一身,从0开始构建一个强大的react开发环境本篇所有代码线上代码react-webpack4-cook,翻译过来叫:webpack4和react的乱炖,可以跟着代码进行配置,之前有很多坑,线上代码都已经被解决了 。如果对您有帮助,不妨给个star.点赞关注不迷路前言一篇文章不写前言总感觉不太正式,大概介绍下我是怎么完...
2019-09-16 15:25:01
176
原创 你要的 React 面试知识点,都在这了
摘要: 问题很详细,插图很好看。原文:你要的 React 面试知识点,都在这了作者:前端小智Fundebug经授权转载,版权归原作者所有。React是流行的javascript框架之一,在2019年及以后将会更加流行。React于2013年首次发布,多年来广受欢迎。它是一个声明性的、基于组件的、用于构建用户界面的高效javascript库。以下是面试前必须了解的话题。什么是声明式编程...
2019-09-16 15:23:17
189
原创 你或许不知道Vue的这些小技巧
前言用Vue开发一个网页并不难,但是也经常会遇到一些问题,其实大部分的问题都在文档中有所提及,再不然我们通过谷歌也能成功搜索到问题的答案,为了帮助小伙伴们提前踩坑,在遇到问题的时候,心里大概有个谱知道该如何去解决问题。这篇文章是将自己知道的一些小技巧,结合查阅资料整理成的一篇文章,如果喜欢的话可以点波赞/关注,支持一下,希望大家看完本文可以有所收获。前端进阶积累、公众号、GitHub文章内容...
2019-09-16 15:21:03
96
原创 一个合格(优秀)的前端都应该阅读这些文章
前言原文地址:Nealyang/PersonalBlog的确,有些标题党了。起因是微信群里,有哥们问我,你是怎么学习前端的呢?能不能共享一下学习方法。一句话也挺触动我的,我真的不算是什么大佬,对于学习前端知识,我也不能说是掌握了什么捷径。当然,我个人的学习方法这篇文章已经在写了,预计这周末会在我个人公众号发布。而在此之前,我想展(gong)示(xiang)一下,我平时浏览各个技术网站,所记录下...
2019-09-12 15:32:25
290
原创 面试分享:两年工作经验成功面试阿里P6总结
前言本文主要给大家带来一些我面试的经历和经验,希望对正在求职的同学有所帮助。我先大致说下面试之前的个人情况:2017年7月正式入职海康威视数字技术股份有限公司,使用Vue.js技术栈。我写的篇幅可能有点长,如果只想看成功的面试请直接从阿里企业智能事业部(一面)开始,大家见谅哈。这里推荐阅读之前写的文章(前面两篇实用型,后面两篇对面试应该会有帮助):Vue CLI 3结合Lerna进行UI框...
2019-09-12 15:31:08
6065
1
原创 [React技术内幕] setState的秘密
对于大多数的React开发者,setState可能是最常用的API之一。React作为View层,通过改变data从而引发UI的更新。React不像Vue这种MVVM库,直接修改data并不能视图的改变,更新状态(state)的过程必须使用setState。setState介绍 setState的函数签名如下:setState(partialState,callback)复制代码我们看到...
2019-09-12 15:29:37
175
原创 浏览器重绘(repaint)重排(reflow)与优化[浏览器机制]
很多人都知道要减少浏览器的重排和重绘,但对其中的具体原理以及如何具体操作并不是很了解,当突然提起这个话题的时候,还是会一脸懵逼。希望大家可以耐着性子阅读本文,仔细琢磨,彻底掌握这个知识点!博客、前端积累文档、公众号、GitHub网页生成过程:HTML被HTML解析器解析成DOM 树css则被css解析器解析成CSSOM 树结合DOM树和CSSOM树,生成一棵渲染树(Render Tree...
2019-09-12 15:27:20
156
原创 一个关于转行的故事
前言本来是一个一年前的回答,关于转行的故事,当时只写了一点点,现在重新补上去。其实哪有什么难不难的问题,谁不是在死命撑着。一年前的老版本没考上大学,也不喜欢复读。特别不喜欢父母从小说的,考不上大学没有出路的说法。所以心里头一直想的就是,考不上大学有什么大不了的。但是什么都不会,于是读了个自考。电子技术,老爸说,以后可以修计算机了。后来又找了个朋友教我做PS。专科考完以后,就想考...
2019-08-30 17:27:42
249
原创 见习技术面试官指南【一】
面试成本越来越高,该怎么识别参加面试的人真正水准呢?毕竟在IT圈造假这么普遍,连Github都开始交易账号做假了,面试题真的能避免造假问题么?做为一个面试了几千人的面试官,也曾推荐过超500+人就业的面试指导官,简单总结一下。先推荐一下面试的基本流程,不同的公司可能会有细致的差别, 一篇文章不可能覆盖所有的场景,所以本文以中小公司的面试流程为例。一。面试官自我介绍二。候选人自我介绍三。技...
2019-08-30 17:25:58
159
原创 从学生思维转变到职业素养
我其实是一直没觉得学生时代的想法和上班以后的想法有多大不同的。自己上学时候和性格和思维方法和现在工作时候的方法相差不太多,仔细想想,大概是跟我没上过大学有关系。所以我可能感受不了太多学生思维什么样子,我在教授这几百个新人的时候,也能知道他们有各种各样的问题和习惯,但是哪些可以归于学生思维,说不好。可能总是有一些习惯会存在大多数的学生身上,才会归结成学生思维。比如说,有一个项目,一个学生做后...
2019-08-30 17:24:15
282
原创 高级程序员和普通程序员有哪些区别?
就只说初级程序员经常容易犯的错误,把这些错误改正了,你离中级就不远了。初级程序员经常犯的错误集锦1 命名不规范2 日志不规范3 拒绝写接口和假数据4 不写单元测试5 盲目集成6 逻辑不清7 不做方案8 不关注性能9 害怕重构10 做出来就好,不考虑优雅的方案11 不考虑未来需求的变化12 遇到问题的时候不会试错13 不会写伪代码14 不做数据量的预估15 提交代码不...
2019-08-30 17:22:47
130
原创 面试官: 你为什么这么强,什么都敢盘(reduce)
用reduce实现数组一些api给数组prototype加上基于reduce实现的api:Object.assign(Array.prototype, {myMap(cb, _this = this) {return this.reduce((res, cur, index, array) => […res, cb.call(_this, cur, index, array)], ...
2019-08-30 15:29:19
141
原创 不可思议的纯 CSS 滚动进度条效果
问题先行,如何使用 CSS 实现下述滚动条效果?就是顶部黄色的滚动进度条,随着页面的滚动进度而变化长短。在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助 JS ,能否巧妙的实现上述效果。OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助 Javascript ,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用...
2019-08-29 14:51:31
131
原创 冲冠一怒为代码:论程序员与负能量
冲冠一怒为代码:论程序员与负能量(本文已被译为俄文和西班牙文,十分感谢译者们。)此刻我正凝视着一段代码。这段代码,可以说是我见过的最烂的代码之一。为了更新数据库中的单条记录,其作者竟然把集合中的每条记录都获取到,更新后再为数据库中的每条记录都发送一个请求 —— 而不仅仅是只操作需要更新的那一条。代码中还有一个 map 函数,除了返回传入的值以外别无他用。还有一些条件判断语句,似乎是用来检查值...
2019-08-29 14:50:39
552
原创 多网站项目的 CSS 架构
复杂的 CSS 架构,可不是你在科班里能学到的东西。我在互联网行业的第四份工作,是在我国一家领先的媒体新闻公司中任职一名 CSS/HTML 专家,我的主要职责就是开发可重用的、可扩展的、用于多网站的 CSS 架构。在本文中,我将与大家分享我在构建多网站架构领域中积累的知识和经验。附注:如今,正规的项目都会用到 CSS 预处理器。而在本文中,我会使用 Sass 预处理器。用层构建世界在开...
2019-08-29 14:48:51
95
原创 「译」理解Javascript函数执行—调用栈、事件循环、任务等
现如今,web开发者(我们更喜欢被叫做前端工程师)用一门脚本语言就能做任何事情,从提供浏览器中的交互,到开发电脑游戏、桌面工具、跨平台移动应用,甚至可以在服务端部署(如最流行的Node.js)来连结任意数据库。因此,了解Javascript的内部构造很重要,这样才能更优更高效的使用它。这也是本文的主旨所在。Javascript的生态正在变得越来越复杂。要构建一个现代web应用,会不可避免的用到W...
2019-08-29 14:47:44
163
原创 「前端词典」这些功能其实不需要 JS,CSS 就能搞定
直接入题1. 每个单词的首字母大写其实我第一次看到这个功能的时候就是使用 JS 去实现这个功能,想都没想 CSS 可以完成这个功能。马上就屁颠屁颠的写了一个方法:```function capitalizeFirst( str ) { let result = ''; result = str.toLowerCase().replace(/( |^)[a-z]/g, (L) =>...
2019-08-29 14:46:25
197
原创 浏览器输入 URL 后发生了什么?
这是一道非常经典的题目,相信你被面试或者面试别人有非常大的概率接触过,也可能只是其中某一部分进行提问。这道题涵盖的知识点非常多,考察得比较全面,网上一搜也有成百上千篇文章,不同的人有不同的见解,然而大部分都是千篇一律。如果你没有深入透彻系统性地研究过,光靠死记硬背,面试官稍稍针对某一点提问,或者换成另外一种方式提问,就有可能露出破绽。仔细想想,学习积累到了一定阶段,也该凭技术储备对知识体系进行一遍...
2019-08-28 15:22:34
199
原创 静态网站生成器是如何工作的
在过去的几年里,开源静态网站生成器的数量增长迅速,StaticGen 上几乎找得到每一种语言实现的版本。静态网站相比动态网站具备无需依赖应用服务器,性能优越,部署简单等特点。特别适合生成静态文档,个人博客,饱受开发者的青睐。相比学会使用,掌握工作原理也尤为重要。一个静态网站生成器的工作流程通常有以下几个步骤:读取源文件(e.g. 约定 markdown 格式)资源预处理模板引擎...
2019-08-28 15:18:01
179
原创 前端工程师为什么要学习编译原理?
前言普遍的观点认为,前端就是打好 HTML、CSS、JS 三大基础,深刻理解语义化标签,了解 N 种不同的布局方式,掌握语言的语法、特性、内置 API。再学习一些主流的前端框架,使用社区成熟的脚手架,即可快速搭建一个前端项目。胜任前端工作非常容易。再往深处学习,你会发现前端这个领域,总是有学不完的框架、工具、库,不断有新的轮子出现。技术推陈出新,版本快速迭代,但万变不离其宗。工具致力于流程自动化...
2019-08-28 14:59:13
231
原创 前端缓存最佳实践
前言缓存,这是一个老生常谈的话题,也常被作为前端面试的一个知识点。本文,重点在与探讨在实际项目中,如何进行缓存的设置,并给出一个较为合理的方案。强缓存和协商缓存在介绍缓存的时候,我们习惯将缓存分为强缓存和协商缓存两种。两者的主要区别是使用本地缓存的时候,是否需要向服务器验证本地缓存是否依旧有效。顾名思义,协商缓存,就是需要和服务器进行协商,最终确定是否使用本地缓存。[图片上传失败…(im...
2019-08-27 17:37:33
97
原创 这一次,彻底弄懂 JavaScript 执行机制
本文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,可以揍我。不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定的几行代码,我们需要知道其输出内容和顺序。因为javascript是一门单线程语言,所以我们可以得出结论:javascript是按照语句出现的顺序执行的看到这里读者要打人了:我难道不知道js是一行...
2019-08-26 17:13:14
115
原创 教你从零开始搭建一款前端脚手架工具
前言在实际的开发过程中,从零开始建立项目的结构是一件让人头疼的事情,所以各种各样的脚手架工具应运而生。笔者使用较多的yoeman,express-generator和vue-cli便是当中之一。它们功能丰富,但最核心的功能都是能够快速搭建一个完整的项目的结构,开发者只需要在生成的项目结构的基础上进行开发即可,非常简单高效。作为一个不折腾会死星人,在熟悉了使用方法以后就开始琢磨起它们的原理来了。...
2019-08-25 15:18:22
331
原创 45个值得收藏的 CSS 形状
CSS能够生成各种形状。正方形和矩形很容易,因为它们是 web 的自然形状。添加宽度和高度,就得到了所需的精确大小的矩形。添加边框半径,你就可以把这个形状变成圆形,足够多的边框半径,你就可以把这些矩形变成圆形和椭圆形。我们还可以使用 CSS 伪元素中的 ::before 和 ::after,这为我们提供了向原始元素添加另外两个形状的可能性。通过巧妙地使用定位、转换和许多其他技巧,我们可以只用一个...
2019-08-25 14:55:22
161
原创 CSS性能优化的8个技巧
我们都知道对于网站来说,性能至关重要,CSS作为页面渲染和内容展现的重要环节,影响着用户对整个网站的第一体验。因此,与其相关的性能优化是不容忽视的。对于性能优化我们常常在项目完成时才去考虑,经常被推迟到项目的末期,甚至到暴露出严重的性能问题时才进行性能优化,相信大多数人对此深有体会。笔者认为,为了更多地避免这一情况,首先要重视起性能优化相关的工作,将其贯穿到整个产品设计与开发中。其次,就是了解...
2019-08-23 14:18:01
173
原创 JavaScript闭包的底层运行机制
我研究JavaScript闭包(closure)已经有一段时间了。我之前只是学会了如何使用它们,而没有透彻地了解它们具体是如何运作的。那么,究竟什么是闭包?Wikipedia给出的解释并没有太大的帮助。闭包是什么时候被创建的,什么时候被销毁的?具体的实现又是怎么样的?“use strict”;var myClosure = (function outerFunction() {var hi...
2019-08-22 16:53:06
138
原创 你可能不熟悉的JS总结
暂时性死区只要块级作用域存在let命令,它所声明的变量就“绑定”这个区域,不再受外部的影响。这么说可能有些抽象,举个例子:var temp = 123;if(true) {console.log(temp);let temp;}结果:ReferenceError: temp is not defined在代码块内,使用let声明变量之前,该变量都是不可用的。在语法上,称为“暂时...
2019-08-22 15:54:02
118
原创 ESLint里的规则教会我,无规矩 不编程
编程风格要统一编程风格这个东西,说实在的对于刚加入团队的新成员来说还是很难让人完全适应的。因为每人的编程风格都不同,完全是各有千秋的既视感啊到了新公司后团队中的每个人也都有各自一套的编程习惯,撸起代码来是挡也挡不住啊,什么都别问,老夫就是干,哈哈,每个coder的代码风格都大相径庭不过话说回来,在团队开发中,所有的代码看起来风格一致是极其重要的,所以我们也需要一些代码检查工具,从JSLint...
2019-08-22 15:51:45
217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅