前言 上午面的下午发的offer,面试官挺好的,开始和我聊怎么学习前端,聊到我正在学Next.js让我说了一下SSR和CSR,然后就开始手撕代码,代码就只有一道 手撕 Node里面的fs模块,fs.readFile方法,使用Promise包装,代替回调函数,其实就是实现readFileAsync function util(fs){ return function(path){ r...
总结 第一次面试不得不说还是有点紧张,拿大厂练手了也是,难度还好基本上都是问的我简历上面的知识点,面试官比我想象的年轻,可惜不是一个女生,我觉得女面试官应该会更温柔一点哈哈哈,需要改进的地方还有很多,慢慢加油 1.三元组算法 给定一个数组num\[-1,1,0,2,3,5] 如果满足i!=j i!=k j!=k 同时 nums\[i]+nums\[j]+nums\[k]=0 则为一个三元组 *输出\[...
摘要: 实验中进行了操作步骤如下: 1. 运行 OSPF 和 MPLS 在公网区域 2. 创建本地 VPN,并绑定到 CE 的端口上 3. 配置 PE 与 CE 之间的路由协议 OSPF 4. 配置 MP-BGP 5. 配置本地 VPN 与 MP-BGP 的引入导出 6. 将私网路由引入 PE 与 CE 之间的路由协议。
实验图image.png 实验操作 操作步骤: 1.先在公网区域运行 OSPF 以回环地址为路由器 ID PE1: ospf 1 router-id 1.1.1.1 area 0 network 1.1.1.1 0.0.0.0 network 100.0.0.1 0.0.0.3 PE2: ospf 1 router-id 1.1....
## 1.聊NextJS和Tailwind css ## 2.Tailwind能否写动态变量?为什么不能? ## 3.说一下前端验证流程? ## 4.前端存的Token怎么发给后端(axios拦截器) ## 5.将一下第三方登录(SSO,OAuth) ## 6.js数组方法知道的有哪些?map和forEeach的区别 ## 7.讲一下对象继承和原型链 ## 8.js作用域(闭包) ## 9.let和const暂时性死区 ## 10.合并两个有序数组
1.自我介绍 2.项目拷打 项目的亮点与难点 项目优化 为什么使用vite?vite热更新?webpack热更新底层原理 Reduce在项目中的使用? JWT鉴权流程?怎么去加强安全性? 为什么使用docker镜像?手动打包还是CI/CD流水线? 昼夜模式怎么实现的? CDN加载资源的流程?输入一个URL到页面显示的过程? 项目后续的规划? 3.CDN加载资源的流程?输入一个URL到页面显示的过程? 4.怎么学习前端? 5.前端性能指标? 6.Typescript泛型的理解? 7.Ty...
摘要: 防抖函数和节流函数在JavaScript中常用于控制函数的执行频率。防抖函数通过延迟执行来避免连续触发,而节流函数则限制函数在一定时间内只能执行一次。可以使用React Hooks来实现这两种函数,提高逻辑复用性。
防抖函数 // 定义一个防抖函数 function debounce(fn,wait) { // 创建一个定时器并初始化为null var timer = null; return function () { // 保存函数执行上下文和参数 var context = this, args = [...arguments]; // 如果定时器存在则清除定时器 if(timer){ clearTimeout(timer); ...
摘要: 这段代码定义了一个`watcher`函数,通过`Proxy`实现监听对象属性的变化。然后创建了一个`obj`对象,和两个用于输出日志的函数`getLogger`和`setBind`。最后使用`watcher`函数对`obj`对象进行监听,输出了属性`a`的获取和修改操作。
let watcher = (target,getLogger,setBind) => { let handler = { get(target,property,receiver){ getLogger(target,property) return Reflect.get(target,property,receiver) }, set(target,property,vlaue){ setBind(target,property) ...
摘要: 这段代码实现了图片压缩功能,通过将图片进行重绘来改变其尺寸和质量,从而达到压缩图片的效果。压缩后的图片文件将以JPEG格式保存,并返回给调用者。
import {message, UploadFile} from 'antd'; const compressImage = async (file: File, maxWidth: number, maxHeight: number, quality: number) => { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.onload = (event: ProgressEvent<FileReader...
摘要: React常用Hooks包括useState、useEffect、useContext、useReducer、useCallback、useMemo、useRef和useImperativeHandle。这些Hooks可以帮助更方便地管理组件的状态、副作用和生命周期。React社区可能会继续添加新的Hooks或改进现有的。
React常用Hooks useState: 用于在函数组件中添加状态。它返回一个包含当前状态值和更新状态的函数的数组。 const [state, setState] = useState(initialState); useEffect: 用于在组件渲染后执行副作用操作,比如数据获取、订阅和手动修改 DOM。 useEffect(() => { // 副作用操作 return () => { // 在组件卸载或下一次渲染前执...
摘要: 这篇文章介绍了React中常用的Hooks和一些相关概念,包括useReducer、useMemo、React.memo、useCallback、React.forwardRef、useImperativeHandle、Class组件、生命周期函数、组件通信、zustand等内容。每个部分都有相应的代码示例和解释。
1.useReducer 和useState作用类似,用于管理相对复杂的状态数据 //1.定义一个reducer函数(根据不同的action返回不同的状态) function reducer(state,action) { switch(action.type){ casse 'INC': return state+1 case 'DEC': return state-1 default: return state ...