自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2024年前端面试中面试官常拷打的“项目细节”!

都知道前端面试中,面试官最爱拷打的项目细节,根据你的项目经历来进行相关提问,时不时再给你几个高难度问题,让人头疼。前端面试,以及任何技术岗位的面试,都离不开项目这个环节,这是必考。简历中要写项目,面试时要聊项目。基础知识、八股文、原理源码等这些,都是可以通过学习甚至背诵来补齐的。但项目不行,你再努力也弥补不了自己的真实项目经历。有经验的面试官,会通过项目问题来考察候选人的真实技术能力。本文梳理了一整套面试官经常拷打的问题,针对项目来说都有不错的回答!

2024-07-05 16:36:01 594

原创 2024-前端面试的正确打开方式(GitHub火爆场景题剖析)

最近前端面试大家有没有感觉到场景题的压迫感!!!很显然普通面试八股不会怎么更新,而且就前端来说,面试并不是真正困难的,常规八股显示不出面试者的技术水平。前端作为一个技术行业,对于技术的需求是很高的,,最近朋友和我说,公司招了些前端,给他的感触是,八股随便考,面试通过肯定是没问题的,但是对于工作的动作能力并不如面试中表现出来的样子。那么场景题也许增加了面试的难度,也让很多真正有技术的人,可以获得机会吧。本文也只是针对场景题进行整理,毕竟作为前端,总要奋斗在岗位第一线的。

2024-06-06 16:46:49 1053

原创 前端面试,堪比费尽心思追女生...

目录1在阿里的朋友和我说,前端最近公司不景气是肯定的,这个行业的工资待遇都在降低,大厂还算有保障,但是大厂也不是没有缺点的。所以为什么前端就业越来越难?个人认为有以下三个原因:✅首先要说的的确就是大环境,最近几年的就业环境不友好,很多企业都在大量裁员,导致岗位需求变少而从业人员过剩,大家都是有目共睹的;✅其次是因为随着科技的进步和全球化竞争的加剧,行业要求更高、技术要求更复杂,导致岗位找工作难度加大。

2024-05-20 15:53:55 1019

原创 webpack如何自定义一个loader

a。

2024-05-09 18:25:29 409

原创 五一开始内卷前端,如何迅速的一个月内找到工作!

因为文章写再多你们刷起来也不自在,所以有pdf版本,类似的也有,五一过了,马上6月份,没有工作的宝子要注意时间,趁早上岸,早点拿到offer也放心,另外就是简历方面的问题,简历也很重要,还有项目,需要帮忙可以【点击此处】哦好了,今天的文章到此结束,我们下次再约。

2024-05-09 18:22:31 804

原创 【JavaScript】作用域

作用域是代码中定义变量的区域,它决定了变量的可见性和生命周期。作用域规定了在程序中哪些部分可以访问某个变量,以及变量在哪些地方是可用的。作用域最大的作用就是隔离变量。自由变量是指在当前函数作用域中未声明但被引用(使用)的变量。当 JavaScript 引擎在当前作用域中找不到某个变量时,它会沿着作用域链向上查找,直到找到该变量为止。如果在全局作用域中也找不到该变量,那么该变量就是一个自由变量。// Outer Variable 是一个自由变量// globalVar 是一个自由变量。

2024-05-07 16:43:18 933

原创 一篇写给前端的精选面试题,中大厂面试重复率高到爆!!!

针对前端环境恶劣,很多人在前端面试的时候都直接去找相关公司的面经,或者没有真正新一点各个厂里常用面试题,现在小编给大家整理好了,前端面试无非就是那些,面试题更别谈新旧,只不过很多公司常用框架来说,面试内容也各不相同,那么vue和react作为经常出现的老大哥,各位工作上的小娇妻,应该都很熟悉,基本掌握这俩个钥匙那么就算成功了一小半。毕竟还有算法,手写题之类的出现,不知道各位遇没遇见去公司面试,进门就是七八张纸全是手写题的情况,就很离谱,但因为坑位确实是少,哪怕你知道他是坑,也得往下跳。

2024-04-17 17:55:56 726

原创 纯前端umi项目部署页面自动刷新

而由于单页面中路由特性,或浏览器缓存的原因,并不会随着路由变化而重新加载前端资源,此时用户浏览器所运行的脚本,并非是最新的代码,从而可能引发一些问题。如何在后端部署之后,提醒用户系统的版本更新,并且引导用户刷新页面,获取最新资源。如果发版是在用户不常用的时间段,可以在浏览器visibility切换的回调 + 路由切换拦截时,这2个时机判断版本号,基本上完全够用了。可通过前端接收最新的版本信息,并且与本地的登陆时所保存的版本信息来进行比较,可使用轮训、websocket等技术来完成。

2024-04-17 17:54:12 374

原创 Vue3权限管理:利用自定义指令进行内容控制

在开发复杂的前端应用时,经常会遇到需要根据用户的权限来显示或隐藏页面上的某些内容的情况。Vue3作为一个渐进式JavaScript框架,提供了强大的自定义指令功能,使得权限控制变得既简单又高效。本文将详细介绍如何在Vue3中使用自定义指令来判断内容是否显示,以满足不同用户权限下的界面展示需求。基础准备首先,确保你已经有一个Vue3项目运行。我将从最基本的自定义指令开始,逐步深入到权限控制的实现。,这是一种常见的权限表示方法,其中包含了对模型操作的权限描述。创建自定义指令Vue3允许我们通过应用实例的。

2024-04-15 11:53:21 483

原创 前端师傅裸辞离开,留下我奋斗在前端一线...

★★★ 平时写项目总结么,一般总结哪些东西?

2024-04-08 12:26:44 978

原创 基于OT与CRDT协同算法的文档划词评论能力实现

当我们实现在线文档平台时,划词评论的功能是非常必要的,特别是在重文档管理流程的在线文档产品中,文档反馈是非常重要的一环,这样可以帮助文档维护者提高文档质量。而即使是单纯的将划词评论作为讨论区,也是非常有用的,尤其是在文档并不那么完善的情况下,对接产品系统的时候可以得到文档之外的输入。那么本文将通过引入协同算法来解决冲突,从而实现在线文档的划词评论能力。

2024-04-08 12:25:30 991

原创 【中大厂前端面试百问】这不迷死你?

1.学历要注意,在外的个人名片,企业对比哈工和清华这即使不看面试也对清华有好感了吧!2.项目经历,强调很多遍了,简介的形容你在项目中的作用,负责,以及运行,突出重点,3.简历的简洁,要学会用最短的语句体现最大的价值,没用的写上写上也用处不大,4.工作经历,跳的多自己掂量,跳的少,空窗期少,包装,这些要注意5.面试经过,八股面试题,刷就完了,尽量做到说话不急也不慢,吐字清晰,磕磕绊绊毫无条理,再来个不确定,你是在被面试,不是提问面试官的。

2024-04-02 18:15:11 355

原创 2024前端应试宝典,高频涵盖面试细节

前端面试一直是前端人最麻烦的经历,因为面试需要(简历、学历、技术点、框架掌握、面试八股、未来规划、应试技巧、简历细节等),对于小厂相对简单一些,但是对于大厂来说,一次面试往往需要精心准备很长时间。然后面经与前端面试八股,网上出现了各种最新的面试题,涵盖入门进阶啊什么的,但是往往有用的很少,真正的面试题需要一个人经验技术阅历都相对牛逼的人来整理。所以大家有需要可以【点击此处vue 项目总结,项目期间遇到的问题、难点等。【不定期更新】

2024-03-05 18:15:56 823

原创 web前端宝藏题库,适用于0-3年前端工程师...

发出 npm install命令1查询 node_modules目录之中是否已经存在指定模块若存在,不再重新安装若不存在npm 向 registry 查询模块压缩包的网址下载压缩包,存放在根目录下的.npm目录里解压压缩包到当前项目的 node modules 目录第 21 题:有以下 3 个判断数组的方法,请分别介绍它们之间 的区别和优劣Object.prototype.toString.call() 、 instanceof 以及 Array.isArray()

2024-02-21 17:24:01 1034

原创 为什么输入拼音的过程也会触发input事件,大无语!

然后,我们比较value和输入框的当前值el.value是否相等,如果不相等,则说明输入框的值已经发生了变化,此时我们调用binding.value方法,将当前输入框的值el.value作为参数传递给绑定该指令的处理函数。在事件触发时,会执行回调函数。具体实现方式是,在监听到compositionstart事件时,将输入框的值存储下来,然后在监听到compositionend事件时,再将输入框的值与之前存储的值进行比较,如果不同,则触发自定义的input事件,并将新值作为参数传递给监听器。

2024-02-01 17:33:10 1115

原创 React+Three.js实现粒子包围的安卓机器人

文章到这里就结束了,用的东西都是比较入门的,诸如一些纹理图的加载,GLTF模型的加载等这样的知识点,我仍旧在学习摸索的过程中,后面也会通过一个个小的demo分享出来。

2024-01-24 14:48:56 1727

原创 前端文件上传识别文件类型的几种方法,快看你是哪个?

除了这些之外,我们还可以使用第三方库file-type来实现文件类型检测,这里我们就不再进行 demo 演示了,感兴趣的可以去官方文档中进行查阅。

2024-01-24 14:46:17 2620

原创 利用iframe联合跨仓库路由模块

两个有路由转跳关系的模块(模块A和B,AB可以通过路由互相转跳)分散在两个不同的项目中(比如迁移仓库没全迁移完,只迁移了A模块),此时后端需要联调AB模块整体功能。此时可以借助一个父项目,把A模块和B模块通过iframe嵌入,从而实现功能的组合。

2024-01-23 15:19:04 389

原创 Express.js 中动态路由解码:path-to-regexp介绍

是一个 Node.js 工具,用于将路径字符串转换为正则表达式。它在像 Express.js 这样的网络框架中广泛用于处理动态路由。将路径转换为正则表达式:它将带有参数的路径字符串转换为正则表达式。例如,路径字符串 可以如下转换:提取参数:路径字符串中的命名参数(如 )会被生成的 RegExp 捕获。使用 RegExp 从 URL 中提取参数值:定制化:可以通过选项自定义行为,如严格模式、结束敏感性和自定义参数模式。带有自定义参数模式的示例:2. 与 Express.js 的关系在

2024-01-23 15:13:42 1564

原创 基于taro搭建小程序多项目框架,记重点了!!!

为什么需要这样一个框架,以及这个框架带来的好处是什么?从字面意思上理解:该框架可以用来同时管理多个小程序,并且可以抽离公用组件或业务逻辑供各个小程序使用。当你工作中面临这种同时维护多个小程序的业务场景时,可以考虑使用这种模式。灵感来自最近webpack的多项目打包构建在项目根目录新建文件夹build存放构建脚本// cli.js'启动': '打包'// 处理配置文件console.log(`🚀🚀🚀🚀🚀🚀正在${runType}小程序:${app}`)} else {})// ...

2024-01-22 12:02:17 889

原创 get和post本质上并没有多大的区别,就看你愿不愿意遵守规范了

GET 和 POST 请求本质上兵没有什么区别,你要说有什么区别的话那就是一个是因为单词 GET 和一个是因为单词 POST。只是看你遵不遵循协议罢了,我可以将 POST 请求弄成幂等的,同意也可以把 GET 请求弄成是对服务器数据进行改变的。

2024-01-22 11:58:24 883

原创 electron-vite中的ipc通信

ipc通道是通过预加载脚本绑定到window对象的electron对象属性上的首先在ipcEvents.ts中注册一个事件名称我们首先在渲染界面发送消息<template><n-button @click="clickHandler">点击</n-button></div>{name:"yu",age:23,sex:"男"},{name:"chao",age:23,sex:"女"},{name:"zhi",age:23,sex:"未知"},

2024-01-19 15:24:33 1553

原创 闭包属性漏洞

可以看到,这一个小小的问题包含了非常多的知识点,在平时写代码或者实现第三方库的时候对于这些空子我们都应该尽量的避免,保证业务的健壮性。

2024-01-19 15:19:20 694

原创 Object.assign 这算是深拷贝吗

在JavaScript中,Object.assign() 是一个用于合并对象属性的常见方法。然而,对于许多开发者来说,关于它是否执行深拷贝的认识可能存在一些混淆。先说答案不属于深拷贝,我们接着往下看。

2024-01-18 17:00:11 433

原创 前端实现汉堡菜单

如果你曾经在浏览网页时看到三条线堆叠在一起,那么你就遇到了汉堡菜单。它是移动和响应式网页设计中使用的一种流行设计元素,用于创建干净、简约的界面。单击时,这个小菜单会从屏幕的任一侧滑出,显示导航项或选项列表。当菜单打开时,汉堡菜单也会变成“X”或其他形状。在这篇文章中,我们将向您展示如何在 CSS 中创建不同的汉堡菜单动画。让我们开始吧!

2024-01-18 16:57:38 1458

原创 从普通登录到单点登录(SSO)

随着前端登录场景的日益复杂化和技术思想的不断演进,前端在登录方面的知识结构变得越来越复杂。对于前端开发者来说,在日常工作中根据不同的登录场景提供合适的解决方案是我们的职责所在,本文将梳理前端登录的演变过程,希望能帮助跟我遇到同样问题的开发者。

2024-01-17 12:26:16 952

原创 vue前端开发准备工作ing...

在项目开始前需要将项目的包管理工具问题解决,这里我使用的包管理工具是yarn。

2024-01-17 12:23:58 369

原创 同时多次调用同个接口,如何只触发一次?

场景:我们进入某应用项目某页面,同时调用多个接口,此时,我们需要请求token,如果我们使用的是axios来请求,我们一般会在请求拦截器里进行处理,大致是如何检查到本地缓存不存在 token,说明是第一次进入应用,还没请求token并缓存下到本地,与此同时调用多个接口,也就会触发请求token的接口多次,而我们理想的方案是多个接口使用的是均是第一次请求的token,后续接口使用的也是第一次缓存的token,那么我们如何操作才能达实现呢?

2024-01-16 16:54:43 861

原创 Dart中令人惊艳的用法

Dart是谷歌开发的现代化编程语言,凭借其简洁的语法和强大的功能,在开发者当中赢得了极高的声誉,尤其是在Flutter框架中发挥了巨大的作用。本文将介绍Dart中的8个令人惊艳的用法,这些用法不仅技术深度足够,充满启发性,而且能够让您的Dart编程效率飞速提升。

2024-01-09 11:02:10 478

原创 性能优化,让用户体验更加完美(渲染层面)

上一篇我们已经围绕“网络层面”探索页面性能优化的方案,接下来本篇围绕“浏览器渲染层面”继续开展探索。

2023-12-26 10:59:19 1643

原创 用Nest 实现大文件分片上传,加速工作效率神器

当文件比较大的时候,文件上传会很慢,这时候一般我们会通过分片的方式来优化。原理就是浏览器里通过 slice 来把文件分成多个分片,并发上传。服务端把这些分片文件保存在一个目录下。当所有分片传输完成时,发送一个合并请求,服务端通过 fs.createWriteStream 指定 start 位置,来把这些分片文件写入到同一个文件里,完成合并。这样,我们就实现了大文件分片上传。Nest 实现大文件分片上传。

2023-12-25 10:59:09 844

原创 React 的 Suspense 和 ErrorBoundary 这关系也能有?

大多数人用 Suspense 都是结合 React.lazy 异步加载组件的时候用,其实它也可以独立用。它的底层原理就是 throw 一个 promise,然后 React 会捕获这个 promise,交给最近的 Suspense 组件来处理。类似的,ErrorBoundary 也是这种处理方式,只不过捕获的是 throw 的 error。

2023-12-23 11:16:03 1539

原创 Flutter基建 - 12种隐式动画小组件全解析

本篇基于Flutter 3.16.4,Dart 3.2.3版本本篇为Flutter基建的第九篇文章,文章会围绕着ImplicitylyAnimatedWidget隐式动画组件来分析,通过代码+Gif的形式将12种常用的动画呈现出来,隐式动画使用起来并不是很难,但它在日常开发中可以帮助我们解决一些小而美的视角效果,下面一起进入文章的了解下吧~

2023-12-22 10:44:46 1566

原创 为何不推荐在 JavaScript 中使用 for...in

通过上面的介绍遍历数组时:追求性能推荐用 for, 兼顾可读性跟性能推荐用 forEach、map 和 reduce编译对象时:可结合 Object.keys、Object.entries、Object.values 与遍历数组的方式如 Object.keys 结合forEach})也可以结合 Object.values 与 forEach 直接获取对象属性值})编写代码时,可以根据需求选择合适的循环方式,并充分考虑性能和可读性的平衡。

2023-12-21 11:07:06 1062

原创 用ThreeJS写了一个圣诞树

Three.js是一个基于原生WebGL封装运行的三维引擎,是最著名的3D WebGL JavaScriptThree.js是一个基于原生WebGL封装运行的三维引擎,是最著名的3D WebGL JavaScript库之一。它是一个让用户通过JavaScript入手进入搭建WebGL项目的类库。Three.js提供了许多简单易用的API,使得开发者能够更加方便地创建复杂的3D场景。WebGL是一个只能画点、线和三角形的非常底层的系统。

2023-12-20 11:35:51 707

原创 轻松实现一个可视化数据转换的小工具-详解

前端开发过程中,经常有两个不同的组件、或者两个不同的业务模块需要对接,但是双方提供的数据结构又不一致的场景。这个时候就需要一个转换器来实现两个模块无缝对接,通过这个转换器的处理达到数据结构一致的目的。

2023-12-19 11:22:29 727

原创 如何手撸一个简易 Grid 拖拽布局

到目前为止基本上的 Grid 拖拽布局大致实现了,已经满足基本业务需求了,当然有需要朋友还可以在上面增加支持拖拉调整大小、碰撞后自动调整位置等等。

2023-12-18 11:17:31 1021

原创 canvas 有趣的弹簧效果

我给了个 0.1,由于一开始初速度为 0,所以阻力为 0,只用等到动起来有速度的时候才会产生阻力。两个小球之间有一根弹簧,这里有一条线表示,其中左球固定,在点击开始后,右球开始做。的方向,其方向永远是右球的球心指向左球的球心,其大小根据。到水平方向和垂直方向的大小,再用这个大小分别乘以水平。现在我们所有力的大小和方向都求出来了,然后根据向量。,即可以渲染出效果,这里除以100是防止速度太快。给的是 10,得到 x 和 y 方向的。后再把合成后的力分解成水平和垂直的两个。,其方向和速度方向相反,

2023-12-13 10:57:11 452

原创 KMP算法

本节主要介绍KMP算法,将从:KMP算法解决的主要问题引出。

2023-12-04 16:06:03 937

原创 用CSS + SVG foreignObject实现动画组件

这样的属性,这就是命名空间(namespace)。如果不给svg标签添加命名空间,那么浏览器会当作文本来识别收到一个需求,要求做出如上图一样的文字摇曳的SVG,我的脑子里闪过svg、path、group、text……等等SVG的标签,这太让人崩溃了。SVG多麻烦,难道不能用div+css动画来做吗?SVG有没有兼容前端开发习惯的写法呢?诶,还真有,SVG的 <foreignObject>元素就支持在里面写HTML和CSS。

2023-11-29 10:38:11 1213 1

空空如也

空空如也

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

TA关注的人

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