前端面试面经
文章平均质量分 86
该专栏注重前端基础知识的提炼,对于完善前端知识树亦有显著帮助。该专栏包含大量前端面试真题,作者还对内容中需要关注的部分进行了重点标注与补充,省去了很多精力。据说现在订阅,即可获得一次免费的模拟面试指导!
编程轨迹_
这个作者很懒,什么都没留下…
展开
-
【面试真题】Javascript 手写编程题
Javascript 编程题原创 2024-01-30 21:31:32 · 872 阅读 · 0 评论 -
【面试真题】Javascript 实现多条件过滤数组
面试真题:Javascript 实现多条件过滤数组原创 2024-01-30 21:26:49 · 1162 阅读 · 0 评论 -
【前端技能树-需要避免的坑】Javascript 开发者容易在花田里犯的错
i < n;i ++) {根据上面的代码,如果有 10 个输入元素,单击其中任何一个都会显示“这是元素#10”!这是因为,当对任何元素调用onclick时,上面的for循环已经完成,i的值已经是 10 了。i < n;i ++) {在这个修改后的代码版本中,每次通过循环时都立即执行,每次都接收当时的值i+1并将其绑定到一个有作用域的num变量。外部函数返回内部函数(它也使用这个作用域为num的变量),元素的onclick被设置为内部函数。通过限定范围的num变量,确保每个。原创 2023-08-06 12:57:33 · 850 阅读 · 0 评论 -
Typescript 中,这些类型工具真好用
你是否曾经用 TypeScript 写代码,然后意识到这个包没有导出我需要的类型,例如下面这段代码提示Content在@example幸运的是,TypeScript 为我们提供了许多可以解决这个常见问题的类型工具,详细的。例如,要,我们可以使用ReturnType。getContent是一个返回promise的async函数,所以目前我们的Content类型实际上是promise,这不是我们想要的。为此,我们可以使用await类型来解析promise,并获得promiseresolve。原创 2023-06-19 18:45:08 · 725 阅读 · 0 评论 -
什么,你还在用 momentJs 处理相对时间
可是,你竟然用一个大小为 20k (还是压缩过的,没压缩 61k)的包,只用来做日期的转换?really?你想要的只是进行一个日期上的转换啊。${${别,请别这么做。还可能存在其他问题,例如。这些复杂的问题一旦来到,往往开发者会采用像momentJs和dayjs这样的库来解决问题。${${${?'s'''但是,还是请你别这么做。因为这看起来似乎变得复杂了。而我向你推荐的一个内置对象能帮助你解决相对时间的问题。原创 2023-06-10 15:01:13 · 814 阅读 · 1 评论 -
瞒不住了,Prefetch 就是一个大谎言
我们知道,现在的应用程序已经发展到可以拆分为多个 JavaScript包了,为了获得更好的用户体验,这些 bundle 包通常需要预获取,即。但是由于请求是不完整的,浏览器不知道缓存头是什么,所以它不知道重用请求是否安全。我觉得真正的 prefetch 是一种提示,告诉浏览器你将需要一些东西,因此浏览器应该在下载时有一个良好的开端,但我们想要的是用。例如,为了让应用程序拆解成多个包,在你的代码的某些地方,你会进行动态导入,比如。你也不太确定,因此接着,你在 Chrome 中测试它,发现一切都能正常工作。原创 2023-04-03 19:31:03 · 1120 阅读 · 0 评论 -
【创作赢红包】喂,鬼仔,你还在瞒着我偷偷使用强制相等
我们都知道JavaScript有==(强制相等)和===(严格相等)运算符进行比较。但你可能不知道它们两个究竟有什么不同,并且更重要的是,在 js 引擎中使用它们的时候发生了什么?前面我们提到==是强制比较。强制意味着 VM 试图。你要知道,强制是对称的,如果a == b为真,那么b == a也为真。另一方面,只有当两个操作数完全相同时===才为真(除了Number.NaN因此,上面的例子都真实的情况下都是假真(即,在===的情况下是false的)。为什么强制相等有这样的问题,这要归咎与强制相等的规则。原创 2023-04-01 11:59:48 · 641 阅读 · 1 评论 -
你的应用太慢了,给我司带来了巨额损失,该怎么办
记得很久之前看过谷歌官方有这么样的声明:如果一个页面的加载时间从 1 秒增加到3 秒,那么用户跳出的概率将增加 32%。但是早在 2012 年,亚马逊就计算出了,页面加载速度一旦下降一秒钟,每年就会损失 16 亿美元的销售额。于是,这篇文章就想聊聊有没有方法来解决这种问题。原创 2023-03-25 15:08:41 · 7775 阅读 · 9 评论 -
【你不知道的 CSS】你写的 CSS 太过冗余,以至于我对它下手了
你写的 CSS 太过冗余,有什么更好的方法改善呢?原创 2023-03-19 14:59:53 · 2100 阅读 · 1 评论 -
Javascript 中的浅拷贝深拷贝是什么?一文带你搞懂,不再犯错
浅拷贝和深拷贝是Javascript中抛出的术语,如果你以前没有听说过,可能会感到困惑。我们经常听说,像 slice 或 filter 这样的数组方法会对原始数组进行浅层复制。原创 2022-10-26 08:21:04 · 1216 阅读 · 3 评论 -
秋招难?这几点建议值得你收藏
今年秋招到底有多难?缩招、缩编是基操,很多去年烧钱的厂子今年钱烧完了,直接不招。万千毕业生涌向了依然开放HC的几家公司,管道窄,闸水大,很容易堵。有同学提到很多问题,简历流转、状态切换、公海不捞,简历被挂,测评被谢…难受的不行。别人你们了,社招的同学也是排着队在找工作,有的也在被裁员的路上。此时突然有路歌词很应景:我排著队拿著爱的号码牌,阴天 傍晚 车窗外,未来有一个人在等待🧑🏻🦱作为在面试辅导一线的前端修罗场,给一点不知道算不算建议的建议:少鸽点笔试(HR真的改不过来时间)注意细节,别原创 2022-09-15 07:56:48 · 610 阅读 · 3 评论 -
前端技能树,面试复习第 50 天—— Vue3.0 基础 | Vue3 有什么更新 | Composition API
前端修罗场提供全网最专业的前端优质文章与社区服务,为应届生,初中级前端工程师提供全面、优质的面试服务、技能提升、职场解惑服务!内容包含:前端面试辅导,前端面试题,前端交流,前端答疑,前端基础知识,前端知识体系,技能树搭建,Javascript,CSS,CSS3,HTML,React,Vue,小程序,前端简历,职业交流,远程工作,英文交流,英文提升,外企,互联网,国企,大厂,牛客面试题,掘金面试题,面经,优质前端文章分享...原创 2022-07-31 09:07:57 · 412 阅读 · 0 评论 -
前端技能树,面试复习第 49 天—— 虚拟 DOM | 虚拟 DOM 比真实 DOM 真的快吗 | Diff 算法原理
从本质上来说,Virtual Dom是一个JavaScript对象,通过对象的方式来表示DOM结构。将页面的状态抽象为JS对象的形式,配合不同的渲染工具,使跨平台渲染成为可能。通过事务处理机制,将多次DOM修改的结果一次性的更新到页面上,从而有效的减少页面渲染的次数,减少修改DOM的重绘重排次数,提高渲染性能。...原创 2022-07-31 08:56:03 · 305 阅读 · 0 评论 -
前端技能树,面试复习第 48 天—— Vuex 原理
Vuex是一个专为Vue.js应用程序开发的状态管理模式。每一个Vuex应用的。Vuex为VueComponents建立起了一个完整的生态圈,包括开发中的API调用一环。dispatchactiondispatchactionscommitmutationsstategetters。原创 2022-07-31 08:43:04 · 421 阅读 · 0 评论 -
前端技能树,面试复习第 43 天—— 浏览器原理:浏览器垃圾回收机制 | V8 垃圾回收 | 内存泄漏
V8 实现了准确式 GC,GC 算法采用了分代式垃圾回收机制。因此,V8 将内存(堆)分为新生代和老生代两部分。原创 2022-07-25 20:13:23 · 242 阅读 · 0 评论 -
前端技能树,面试复习第 42 天—— 浏览器原理:事件机制 | 执行栈 | 同步与异步
事件是用户操作网页时发生的交互动作,比如 click/move, 事件除了用户触发的动作外,还可以是文档加载,窗口滚动和大小调整。事件被封装成一个 event 对象,包含了该事件发生时的所有相关信息( event 的属性)以及可以对事件进行的操作( event 的方法)。...原创 2022-07-25 20:07:47 · 275 阅读 · 0 评论 -
前端技能树,面试复习第 41 天—— 浏览器原理:本地存储
Cookie是最早被提出来的本地存储方式,在此之前,服务端是无法判断网络中的两个请求是否是同一用户发起的,为解决这个问题,Cookie就出现了。Cookie的大小只有4kb,它是一种纯文本文件,每次发起HTTP请求都会携带Cookie。...原创 2022-07-25 17:47:01 · 220 阅读 · 0 评论 -
前端技能树,面试复习第 40 天—— 浏览器原理:浏览器渲染原理,如何优化渲染过程
JavaScript 的加载、解析与执行会阻塞文档的解析,也就是说,在构建 DOM 时,HTML 解析器若遇到了 JavaScript,那么它会暂停文档的解析,将控制权移交给 JavaScript 引擎,等 JavaScript 引擎运行完毕,浏览器再从中断的地方恢复继续解析文档。也就是说,如果想要首屏渲染的越快,就越不应该在首屏就加载 JS 文件,这也是都建议将 script 标签放在 body 标签底部的原因。当然在当下,并不是说 script 标签必须放在底部,因为你可以给 script 标签添加 d原创 2022-07-24 20:47:56 · 390 阅读 · 1 评论 -
前端技能树,面试复习第 39 天—— 浏览器原理:浏览器的组成 | 浏览器内核
浏览器的主要功能是将用户选择的 web 资源呈现出来,它需要从服务器请求资源,并将其显示在浏览器窗口中,资源的格式通常是 HTML,也包括 PDF、image 及其他格式。用户用 URI(Uniform Resource Identifier 统一资源标识符)来指定所请求资源的位置。...原创 2022-07-24 20:39:07 · 318 阅读 · 0 评论 -
前端技能树,面试复习第 37 天—— 浏览器原理:进程与线程 | 浏览器有哪些进程 | Service Worker
一个进程就是一个程序的运行实例。详细解释就是,启动一个程序的时候,操作系统会为该程序创建一块内存,用来存放代码、运行中的数据和一个执行任务的主线程,我们把这样的一个运行环境叫进程。进程是运行在虚拟内存上的,虚拟内存是用来解决用户对硬件资源的无限需求和有限的硬件资源之间的矛盾的。从操作系统角度来看,虚拟内存即交换文件;从处理器角度看,虚拟内存即虚拟地址空间。...原创 2022-07-24 20:22:20 · 383 阅读 · 0 评论 -
前端技能树,面试复习第 36 天—— 浏览器原理:如何预防 XSS 攻击与 CSRF 攻击
XSS 攻击指的是跨站脚本攻击,是一种代码注入攻击。攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而**盗取用户的信息如 cookie 等。XSS 的本质是因为网站没有对恶意代码进行过滤,与正常的代码混合在一起了,浏览器没有办法分辨哪些脚本是可信的,从而导致了恶意代码的执行。...原创 2022-07-24 20:12:22 · 345 阅读 · 0 评论 -
前端技能树,面试复习第 35 天—— 计算机网络:WebSocket | 含真题
WebSocket是HTML5提供的一种浏览器与服务器进行**全双工通讯**的网络技术,属于应用层协议。**它基于TCP传输协议,并复用HTTP的握手通道。浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,** 并进行双向数据传输。......原创 2022-07-22 20:57:39 · 298 阅读 · 1 评论 -
前端技能树,面试复习第 34 天—— 计算机网络:TCP 与 UDP详解 | 三次握手必知必会
UDP的全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。......原创 2022-07-22 20:50:44 · 514 阅读 · 0 评论 -
前端技能树,面试复习第 33 天—— 计算机网络:DNS 协议 | 网络模型
DNS 是域名系统 (Domain Name System) 的缩写,提供的是一种主机名到 IP 地址的转换服务,就是我们常说的域名系统。它是一个由分层的 DNS 服务器组成的分布式数据库,是定义了主机如何查询这个分布式数据库的方式的应用层协议。能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串...原创 2022-07-22 20:35:28 · 329 阅读 · 0 评论 -
前端技能树,面试复习第 32 天—— 计算机网络:HTTP 状态码详解
1)2XX成功200OK,表示从客户端发来的请求在服务器端被正确处理204Nocontent,表示请求成功,但响应报文不含实体的主体部分205ResetContent,表示请求成功,但响应报文不含实体的主体部分,但是与204响应不同在于要求请求方重置内容206PartialContent,进行范围请求(2)3XX重定向永久性重定向,表示资源已被分配了新的URL302found,临时性重定向,表示资源临时被分配了新的URL应使用GET方法获取资源。...原创 2022-07-22 20:14:09 · 246 阅读 · 0 评论 -
前端技能树,面试复习第 31 天—— 计算机网络:HTTPS 协议详细解析
超文本传输安全协议(HypertextTransferProtocolSecure,简称HTTPS)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,利用SSL/TLS来加密数据包。HTTPS的主要目的是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。HTTP协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险,而协议TLS/SSL具有身份验证、信息加密和完整性校验的功能,可以避免此类问题发生。安全层的主要职责就是和。.........原创 2022-07-22 09:14:07 · 618 阅读 · 0 评论 -
前端技能树,面试复习第 30 天—— 计算机网络:HTTP 协议
前端修罗场提供全网最专业的前端优质文章与社区服务,为应届生,初中级前端工程师提供全面、优质的面试服务、技能提升、职场解惑服务!内容包含:前端面试辅导,前端面试题,前端交流,前端答疑,前端基础知识,前端知识体系,技能树搭建,Javascript,CSS,CSS3,HTML,React,Vue,小程序,前端简历,职业交流,远程工作,英文交流,英文提升,外企,互联网,国企,大厂,牛客面试题,掘金面试题,面经,优质前端文章分享......原创 2022-07-21 21:29:39 · 493 阅读 · 22 评论 -
前端技能树,面试复习第 29 天—— 简述 Babel 的原理 | Webpack 构建流程 | Webpack 热更新原理 | Git 常用命令
前端修罗场提供全网最专业的前端优质文章与社区服务,为应届生,初中级前端工程师提供全面、优质的面试服务、技能提升、职场解惑服务!内容包含:前端面试辅导,前端面试题,前端交流,前端答疑,前端基础知识,前端知识体系,技能树搭建,Javascript,CSS,CSS3,HTML,React,Vue,小程序,前端简历,职业交流,远程工作,英文交流,英文提升,外企,互联网,国企,大厂,牛客面试题,掘金面试题,面经,优质前端文章分享...原创 2022-07-21 20:51:53 · 1409 阅读 · 0 评论 -
前端技能树,面试复习第 26 天—— React Hook 的实现原理 | useState | 生命周期
React-Hooks 是 React 团队在 React 组件开发实践中,逐渐认知到的一个改进点,这背后其实涉及对**类组件**和**函数组件**两种组件形式的思考和侧重。原创 2022-07-17 15:55:13 · 461 阅读 · 23 评论 -
前端技能树,面试复习第 25 天—— Redux 了解多少,能说说对它的理解吗
eact是视图层框架。Redux是一个用来管理数据状态和UI状态的JavaScript应用工具。随着JavaScript单页应用(SPA)开发日趋复杂, JavaScript需要管理比任何时候都要多的state(状态), Redux就是降低管理难度的。(Redux支持React、Angular、jQuery甚至纯JavaScript)。在 React 中,UI 以组件的形式来搭建,组件之间可以嵌套组合。但** React 中组件间通信的数据流是单向的,顶层组件可以通过 props 属性向下层组件传递数据.原创 2022-07-17 12:26:49 · 259 阅读 · 12 评论 -
关于前端修罗场
前端修罗场提供全网最专业的前端优质文章与社区服务,为应届生,初中级前端工程师提供全面、优质的面试服务、技能提升、职场解惑服务!内容包含:前端面试辅导,前端面试题,前端交流,前端答疑,前端基础知识,前端知识体系,技能树搭建,Javascript,CSS,CSS3,HTML,React,Vue,小程序,前端简历,职业交流,远程工作,英文交流,英文提升,外企,互联网,国企,大厂,牛客面试题,掘金面试题,面经,优质前端文章分享...原创 2022-04-22 10:23:29 · 859 阅读 · 24 评论 -
前端技能树,面试复习第 22 天—— React 的生命周期,前后发生了哪些变化,为什么有些生命周期废弃了
React 通常将组件生命周期分为三个阶段:挂载阶段组件被创建,然后组件实例插入到 DOM 中,完成组件的第一次渲染,**该过程只会发生一次,**在此阶段会依次调用以下这些方法:组件的构造函数,第一个被执行,若没有显式定义它,会有一个默认的构造函数,但是若显式定义了构造函数,我们必须在构造函数中执行 ,否则无法在构造函数中拿到 this。如果不初始化 state 或不进行方法绑定,则不需要为 React 组件实现构造函数 Constructor。constructor 中通常只做两件事:(2)getDer原创 2022-07-13 20:27:06 · 328 阅读 · 8 评论 -
前端技能树,面试复习第 20 天—— React 基础,更进一步
紧接上一篇 React 基础一点通,本文将进一步讲解 React 基础与核心知识。(1)有状态组件特点:使用场景:总结:类组件可以维护自身的状态变量,即组件的 state ,类组件还有不同的生命周期方法,可以让开发者能够在组件的不同阶段(挂载、更新、卸载),对组件做更多的控制。类组件则既可以充当无状态组件,也可以充当有状态组件。 当一个类组件不需要管理自身状态时,也可称为无状态组件。(2)无状态组件特点:使用场景:优点:缺点:总结:组件内部状态且与外部无关的组件,可以考虑用状态组件,这样状态树就不会过于复杂原创 2022-07-11 09:41:28 · 289 阅读 · 1 评论 -
前端技能树,面试复习第 19 天—— React 基础一点通
React 并不是将 click 事件绑定到了 div 的真实 DOM 上,而是在 document 处监听了所有的事件,当事件发生并且冒泡到 document 处的时候,React 将事件内容封装并交由真正的处理函数运行。这样的方式不仅仅减少了内存的消耗,还能在组件挂在销毁时统一订阅和移除事件。除此之外,冒泡到 document 上的事件也不是原生的浏览器事件,而是由react自己实现的合成事件()。因此如果不想要是事件冒泡的话应该调用 方法,而不是调用 方法。JSX 上写的事件并没有绑定在对应的真实原创 2022-07-11 09:06:47 · 633 阅读 · 12 评论 -
前端技能树,面试复习第 18 天—— 怎么对项目做性能优化(2): Webpack 优化策略
本文将讲解在开发过程中对前端项目进行优化的部分,这部分涉及到 Webpack 的优化策略。尽管现在已经有很多层出不穷的构建工具,例如 vite, esbuilder 等等,但是它们很多的优化思想还是经过在 Webpack 上实践之后得出的结论。目前,Webpack 的优化策略也是面试过程中频率很高的一部分。可以说,掌握了 Webpack 的优化策略,你能举一反三,将其思想应用到其他与性能相关的方面。本文依赖的 Webpack 版本基于 。在开发的过程中,我们一般需要有依据地进行优化。通常,有如下优化依据:而原创 2022-07-09 21:24:37 · 321 阅读 · 17 评论 -
【Vue3】通过实例,理解 Vue3 的响应式设计
响应式指的是变量(如:数组、字符串、数字、对象等)在其值或它引用的任何其他变量在声明后发生更改时更新的能力。在本文中,我们将研究 Vue 中的响应式设计,它是如何工作的,以及我们如何使用新创建的方法和函数来创建响应式变量。默认情况下,JavaScript 不是响应式的。 这意味着如果我们创建变量 boy 并在应用程序的 A 部分中引用它,然后在 B 部分继续修改 boy,A 部分将不会更新为boy 的新值。上面的代码片段是 JavaScript 非响应式特性的经典示例——因此,为什么更改没有反映在 sen原创 2022-07-08 08:40:31 · 2014 阅读 · 32 评论 -
考官:请详细介绍一下 CSS 中的网格布局,学完又能上 80 分了
网格布局(Grid)应该是目前最强大的 CSS 布局方案。它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。以前,只能通过复杂的 CSS 框架达到的效果,现在浏览器内置了。Grid 布局即网格布局,是一个二维的布局方式,与 Flex 不同的是 Flex 是一维布局,而 Grid 由纵横相交的两组网格线形成的框架性布局结构,能够同时处理行与列,擅长将一个页面划分为几个主要区域,以及定义这些区域的大小、位置、层次等关系。Grid 布局是将容器划分成“行”和“列”,产生单元格,然后指定“项目所转载 2022-06-08 10:09:49 · 243 阅读 · 1 评论