八股文 (一)


文章目录

  • 项目地址
  • 一、前端
    • 1.1 大文件上传,预览
    • 1.2 首页性能优化
    • 1.2 流量染色,灰度发布
    • 1.3 Websock心跳机制,大数据实时数据优化
    • 1.4 Gpu 加速 fps优化
    • 1.5 echarts包大小优化和组件封装
    • 1.6 前端监控系统
    • 1.7 超大虚拟列表卡顿
      • 1. 实现
      • 2. 相关问题
        • (1) 什么是虚拟化列表,为什么要使用它?
        • (2) 如何计算每一行的高度和可见行数的?
        • (3) 如何保证滚动事件的性能的?当用户快速滚动时
        • (4) 如何处理边界情况,比如滚动到顶部或底部?
    • 1.8 图片懒加载,懒加载占位符,canvas对上传图片压缩
    • 1.9 监控工具
    • 1.10 代码体积
    • 1.11 拖拽式报表,动态报表
    • 1.12 团队基建
    • 1.13 首屏性能优化
  • 二、后端
    • 2.1 大数据导出
    • 2.2 分布式事务,事务
    • 2.3 数据库主从 一致
    • 2.4 间隙锁,分布式锁,乐观锁


项目地址

  • 教程作者:
  • 教程地址:
  • 代码仓库地址:
  • 所用到的框架和插件:
dbt 
airflow

一、前端

1.1 大文件上传,预览

  • 前端:①切文件;②判定切片是否完成上传完成;③断点、错误续传,记录已上传的切片位置,
  • 后端:①收切片、存切片;②合并切片;③文件是否存在校验,服务端根据文件Hash值、文件名,校验该文件是否已经上传
    前端:
  1. 常量设置切片大小
  2. 获取文件的hash值
  3. 进行切片,切片保存,含有:切片内容,切片索引,filehash,以及上传状态,并存储为一个数据
  4. 批量上传切片,并且限制并发数为6,并且使用递归上传,返回一个promise,并且更改切片的上传状态
  5. 当前成功上传的index/总长度 就可以获得文件上传进度
  6. 当所有文件上传完成,使用promise 调用后端开始合并,使用useState显示百分比
    后端:
  7. 创建文件同名的md5的临时文件夹,用来存放所有的切片
  8. 根据文件hash值和文件名,以及chunkindex进行合并,使用.net 的FileStream

1.2 首页性能优化

react性能优化的核心:减少rerender(重新渲染)
UI = render(state)
1.

1.2 流量染色,灰度发布

1.3 Websock心跳机制,大数据实时数据优化

1.4 Gpu 加速 fps优化

1.5 echarts包大小优化和组件封装

1.6 前端监控系统

  • 异常:JS异常,接口异常,白屏异常,资源异常
  • 性能数据:FC, FCP, DOM READY, DNS等&#x

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/69381.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek R1:中国AI黑马的崛起与挑战

文章目录 技术突破:从零开始的推理能力进化DeepSeek R1-Zero:纯RL训练的“自我觉醒”DeepSeek R1:冷启动与多阶段训练的平衡之道 实验验证:推理能力的全方位跃升基准测试:超越顶尖闭源模型蒸馏技术:小模型的…

算法刷题Day28:BM66 最长公共子串

题目链接,点击跳转 题目描述: 解题思路: 方法一:暴力枚举 遍历str1的每个字符x,并在str2中寻找以相同元素x为起始的最长字符串。记录最长的公共子串及其长度。 代码实现: def LCS(self, str1: str, st…

卡特兰数学习

1,概念 卡特兰数(英语:Catalan number),又称卡塔兰数,明安图数。是组合数学中一种常出现于各种计数问题中的数列。它在不同的计数问题中频繁出现。 2,公式 卡特兰数的递推公式为:f(…

Microsoft Visual Studio 2022 主题修改(补充)

Microsoft Visual Studio 2022 透明背景修改这方面已经有很多佬介绍过了,今天闲来无事就补充几点细节。 具体的修改可以参考:Microsoft Visual Studio 2022 透明背景修改(快捷方法)_material studio怎么把背景弄成透明-CSDN博客文…

Redis 详解

简介 Redis 的全称是 Remote Dictionary Server,它是一个基于内存的 NoSQL(非关系型)数据库,数据以 键值对 存储,支持各种复杂的数据结构 为什么会出现 Redis? Redis 的出现是为了弥补传统数据库在高性能…

如何运用python爬虫爬取百度贴吧的静态图片?

爬取百度贴吧图片的详细步骤和代码实现 爬取百度贴吧图片的过程可以分为以下几个步骤: 分析网页结构:了解百度贴吧页面的HTML结构,找到图片的URL。发送HTTP请求:使用requests库获取网页内容。解析HTML内容:使用Beaut…

17.Word:李楠-学术期刊❗【29】

目录 题目​ NO1.2.3.4.5 NO6.7.8 NO9.10.11 NO12.13.14.15 NO16 题目 NO1.2.3.4.5 另存为手动/F12Fn光标来到开头位置处→插入→封面→选择花丝→根据样例图片,对应位置填入对应文字 (手动调整即可)复制样式:开始→样式对话框→管理…

C# lock使用详解

总目录 前言 在 C# 多线程编程中,lock 关键字是一种非常重要的同步机制,用于确保同一时间只有一个线程可以访问特定的代码块,从而避免多个线程同时操作共享资源时可能出现的数据竞争和不一致问题。以下是关于 lock 关键字的详细使用介绍。 一…

高低频混合组网系统中基于地理位置信息的信道测量算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频&#xff09…

ES6 类语法:JavaScript 的现代化面向对象编程

Hi,我是布兰妮甜 !ECMAScript 2015,通常被称为 ES6 或 ES2015,是 JavaScript 语言的一次重大更新。它引入了许多新特性,其中最引人注目的就是类(class)语法。尽管 JavaScript 一直以来都支持基于…

1.1第1章DC/DC变换器的动态建模-1.1状态平均的概念--电力电子系统建模及控制 (徐德鸿)--读书笔记

电力电子系统一般由电力电子变换器(滤波电路和开关)、PWM 调制器、驱动电路、反馈控制单元构成,如图1-1所示。由控制理论的知识,电力电子系统的静态和动态性能的好坏与反馈控制设计密切相关。要进行反馈控制设计,首先要…

Cursor 帮你写一个小程序

Cursor注册地址 首先下载客户端 点击链接下载 1 打开微信开发者工具创建一个小程序项目 选择TS-基础模版 官方 2 然后使用Cursor打开小程序创建的项目 3 在CHAT聊天框输入自己的需求 比如 小程序功能描述:吃什么助手 项目名称: 吃什么小程序 功能目标…

react-bn-面试

1.主要内容 工作台待办 实现思路: 1,待办list由后端返回,固定需要的字段有id(查详细)、type(本条待办的类型),还可能需要时间,状态等 2,一个集中处理待办中转路由页,所有待办都跳转到这个页面…

梯度下降优化算法-指数加权平均

1. 指数加权平均的定义 指数加权平均是一种对时间序列数据进行平滑处理的方法。它的核心思想是对历史数据赋予指数衰减的权重,最近的观测值权重较大,而较早的观测值权重逐渐减小。 假设有一系列观测值 x 1 , x 2 , … , x t x_1, x_2, \dots, x_t x1​…

Python3 【函数】项目实战:5 个新颖的学习案例

Python3 【函数】项目实战:5 个新颖的学习案例 本文包含5编程学习案例,具体项目如下: 简易聊天机器人待办事项提醒器密码生成器简易文本分析工具简易文件加密解密工具 项目 1:简易聊天机器人 功能描述: 实现一个简易…

微信小程序中实现进入页面时数字跳动效果(自定义animate-numbers组件)

微信小程序中实现进入页面时数字跳动效果 1. 组件定义,新建animate-numbers组件1.1 index.js1.2 wxml1.3 wxss 2. 使用组件 1. 组件定义,新建animate-numbers组件 1.1 index.js // components/animate-numbers/index.js Component({properties: {number: {type: Number,value…

WGCLOUD使用介绍 - 如何监控ActiveMQ和RabbitMQ

根据WGCLOUD官网的信息,目前没有针对ActiveMQ和RabbitMQ这两个组件专门做适配 不过可以使用WGCLOUD已经具备的通用监测模块:进程监测、端口监测或者日志监测、接口监测 来对这两个组件进行监控

洛谷U525376 信号干扰 (判断多个区间是否有重叠)

U525376信号干扰 题目描述 有 n n n 座信号塔,第 i i i 座信号塔的信号将覆盖区间 [ l i , r i ] [l_i,r_i] [li​,ri​]。 若某个点被超过一座信号塔的信号覆盖,则在该点会产生信号干扰。 对于信号塔区间 [ a , b ] [a,b] [a,b],若建…

在无sudo权限Linux上安装 Ollama 并使用 DeepSeek-R1 模型

本教程将指导你如何在 Linux 系统上安装 Ollama(一个本地运行大型语言模型的工具),并加载 DeepSeek-R1 模型。DeepSeek-R1 是一个高性能的开源语言模型,适用于多种自然语言处理任务。 DeepSeek-R1 简介 DeepSeek-R1 是 DeepSeek …

Ubuntu 安装 QGIS LTR 3.34

QGIS官方提供了安装指南:https://qgis.org/resources/installation-guide/#linux。大多数linux发行版将QGIS拆分为几个包:qgis、qgis-python、qgis-grass、qgis-plugin-grass、qgis-server,有的包最初安装时被跳过,可以在需要使用…