webpack 的 loader 是什么

webpack 自带的打包器只能支持 JS 文件 当我们想要加载 css/less/scss/stylus/ts/md 文件时,就需要用 loader loader 的原理就是把文件内容包装成能运行的 JS 比如 加载 css 需要用到 style-loader 和 css-loader(由于单一职责的原则...

Read More

反向面试

预期使用方式 检查一下哪些问题你感兴趣 检查一下哪些是你可以自己在网上找到答案的 找不到的话就向面试官提问 绝对不要想把这个列表里的每个问题都问一遍。 请记住事情总是灵活的,组织的结构调整也会经常发生。 拥有一个 bug 追踪系统并不会保证高效处理 bug。CI/CD (持续集成系统) 也不一定保证交付时间会很短。 职责 On-call (电话值...

Read More

算法与数据结构

什么是算法算法 以下是高德纳在他的著作《计算机程序设计艺术》里对算法的特征归纳: 输入:一个算法必须有零个或以上输入量。 输出:一个算法应有一个或以上输出量,输出量是算法计算的结果。 明确性:算法的描述必须无歧义,以保证算法的实际执行结果是精确地匹配要求或期望,通常要求实际运行结果是确定的。 有限性:依据图灵的定义,一个算法是能够被任何图灵完备系统模拟的一...

Read More

进阿里的要求

1、思维模式DO-WHAT-HOW-WHYdo:会做一件事情,what:知道为什么做这件事(分配一个任务,知道是什么任务,也知道为什么会有这个需求,那就做了)how:虽然会做也知道为什么做,但是光只会做,并没有思考最优解。比如你有个锤子,看什么都像钉子,有时候不需要很复杂,一个电话就解决了。why:最高级,公司为什么要做这件事情,不这样做换种方式能否达到效果...

Read More

聊聊浏览器缓存机制把

缓存可以说是性能优化中简单高效的一种优化方式了,它可以显著减少网络传输所带来的损耗。 对于一个数据请求来说,可以分为发起网络请求、后端处理、浏览器响应三个步骤。浏览器缓存可以帮助我们在第一和第三步骤中优化性能。比如说直接使用缓存而不发起请求,或者发起了请求但后端存储的数据和前端一致,那么就没有必要再将数据回传回来,这样就减少了响应数据。 接下来的内容中我...

Read More

面试遇到这些问题怎么回答

1.你遇到最难的技术问题是什么?举个最近的例子把,对react的,我之前是写vue的,最开始我再写react的时候,他能在return中直接写html标签非常不理解,然后在我实际写demo中会出现很多错误,所以我会采用github上看别人reactUI的源码,因此我还专门写了一篇博客,模仿他们的代码,向他们学习,因为身边也没人用react,我是自学的所以我还...

Read More

Javascript 调试常见报错

ECMA-262 定义了下列 7 种错误类型: Error 错误 EvalError 全局错误 ReferenceError(引用错误) 对象表明一个不存在的变量被引用。 RangeError 对象标明一个错误,当一个值不在其所允许的范围或者集合中。 SyntaxError(语法错误)对象代表尝试解析语法上不合法的代码的错误。 typeError...

Read More

趣谈 React 的由来

近期开始的了新的学习(react),本人学习有个习惯,喜欢去探索由来和历史,俗称吃瓜(手动滑稽) 一般网上的视频教程只会教你怎么用 react 但是并不会告诉你 react 是当初是怎么来的,为了解决哪些痛点。 首先我们先来看一段 js 原生代码。 这是一段很简单的代码,用于操作 result 的增减,现在,让我们来抽象的看待这个问题,画个图来表示: ...

Read More

39丨综合:前端架构

在传统桌面软件开发中,架构师是一种通过设计架构保证团队能够良好分工和有序工作的岗位。 在工程领域,我们凡是要做点什么事儿,都会有明确的目的性,这个目的性,一定是为了完成生产服务业务的。 为什么桌面软件开发需要架构师和架构设计呢?因为桌面软件开发具有高度的复杂性,如果没有架构,就没法分解成互相耦合低的模块来分工。 所以一般来说,架构是为了分工而存在的。但是到了...

Read More

38丨综合:搭建系统

不知道你在工作中有没有遇到过这样的事情:一个运营找过来说,有一个紧急又简单的临时活动页面要做,希望打断现有的产品开发节奏临时插入。 这类页面技术难度不高,业务上通常属于“紧急不重要”的事情。 这些需求技术上没挑战,线上存在时间短,上线时间紧又没有任何调整空间,它们往往会成为前端团队里人人都不喜欢的“垃圾需求”,谁要是接了这种需求,就只能自认倒霉。 但是,...

Read More