2025年03月18日柯莱特(外包宁德)一面前端面试
目录
- 自我介绍
- 你怎么从0到1搭建项目的
- webpack 的构建流程
- 手写webpack插件
- 你有什么想问我的吗
2. 你怎么从 0 到 1 搭建项目的
在面试中回答从 0 到 1 搭建前端项目,可按以下详细步骤阐述:
1. 项目前期准备
- 需求理解与分析
- 和产品经理、客户等相关人员充分沟通,明确项目的业务目标、功能需求、性能要求以及用户群体。比如,若要开发电商网站,需明确是否有商品展示、购物车、支付等功能。
- 对需求进行梳理和分类,确定需求的优先级,以便在开发过程中合理安排时间和资源。
- 技术选型
- 框架选择:依据项目规模和复杂度来挑选前端框架。对于小型项目,jQuery 能快速实现功能;对于中大型单页面应用(SPA),React、Vue.js 或 Angular 可以提高开发效率和代码可维护性。例如,若项目注重生态系统和社区支持,React 是不错的选择;若追求简洁易用和快速上手,Vue.js 更合适。
- 构建工具:使用 Webpack、Vite 等工具进行代码打包和优化。Webpack 功能强大,配置灵活;Vite 则启动速度快,适合快速开发。
- CSS 解决方案:可以选择原生 CSS、CSS 预处理器(如 Sass、Less)或 CSS 框架(如 Bootstrap、Tailwind CSS)。CSS 预处理器能增强 CSS 的功能,而 CSS 框架则提供了现成的样式和组件。
- 状态管理:对于复杂的 SPA,使用状态管理库(如 Redux、MobX 用于 React,Vuex 用于 Vue.js)来管理应用的状态。
2. 项目初始化
- 创建项目目录
- 在本地创建一个新的文件夹作为项目的根目录。根据选择的技术栈,设计合理的项目结构。例如,一个典型的 React 项目结构可能如下:
project-name/
├── public/
│ ├── index.html
│ └── favicon.ico
├── src/
│ ├── components/
│ ├── pages/
│ ├── assets/
│ ├── App.js
│ ├── index.js
│ └── index.css
├── package.json
└── ...
- 初始化项目
- 使用
npm
或yarn
初始化项目,生成package.json
文件,用于管理项目的依赖和脚本。
- 使用
# 使用 npm 初始化项目
npm init -y
# 或者使用 yarn 初始化项目
yarn init -y
3. 配置开发环境
- 安装依赖
- 根据所选的技术栈,安装相应的依赖。以 React 项目为例,使用 Vite 创建项目并安装依赖:
# 使用 Vite 创建 React 项目
npm init vite@latest my-react-app -- --template react
cd my-react-app
npm install
- 配置构建工具
- 如果使用 Webpack,需要配置
webpack.config.js
文件,包括入口文件、输出路径、加载器(如 CSS 加载器、图片加载器)、插件(如 HTML 插件、压缩插件)等。 - 如果使用 Vite,其配置文件
vite.config.js
相对简单,可配置服务器选项、插件等。
- 如果使用 Webpack,需要配置
- 配置代码规范
- 使用 ESLint 进行代码语法检查,确保代码符合一定的规范。可以根据项目需求选择合适的 ESLint 配置,如 Airbnb、Standard 等。
- 使用 Prettier 进行代码格式化,保持代码风格的一致性。
4. 基础组件和页面搭建
- 组件开发
- 根据项目需求,将页面拆分成多个组件。从通用组件开始开发,如按钮、输入框、导航栏等,确保组件的可复用性和独立性。
- 在组件开发过程中,遵循组件化开发原则,使用 props 进行数据传递,使用事件进行交互。
- 页面布局
- 使用 HTML 和 CSS 进行页面布局。可以采用响应式设计,使页面在不同设备上都能有良好的显示效果。
- 结合组件,将组件组合成完整的页面。
5. 路由和状态管理
- 路由配置
- 如果项目是多页面应用,需要配置路由。在 React 中使用 React Router,在 Vue.js 中使用 Vue Router。
- 根据项目需求,配置路由规则,实现页面之间的切换和导航。
- 状态管理
- 对于复杂的应用,使用状态管理库来管理应用的状态。以 Redux 为例,需要创建 action、reducer 和 store,实现状态的集中管理和更新。
6. 数据交互
- API 设计与调用
- 和后端开发人员沟通,确定 API 的接口规范和数据格式。
- 使用 Axios 等工具进行 API 调用,实现前端与后端的数据交互。
- 数据处理与展示
- 对从后端获取的数据进行处理,如格式化、过滤、排序等。
- 将处理后的数据展示在页面上。
7. 测试与调试
- 单元测试
- 使用测试框架(如 Jest、Mocha)编写单元测试,对组件和函数进行测试,确保其功能的正确性。
- 集成测试
- 进行集成测试,测试不同组件和模块之间的交互是否正常。
- 调试
- 使用浏览器的开发者工具进行调试,检查代码的运行情况、网络请求、样式问题等。
8. 性能优化
- 代码压缩与合并
- 使用构建工具对代码进行压缩和合并,减少文件大小,提高加载速度。
- 图片优化
- 对图片进行压缩和优化,选择合适的图片格式(如 JPEG、PNG、WebP),减少图片的体积。
- 懒加载
- 对组件和图片进行懒加载,只有在需要时才加载,提高页面的初始加载速度。
9. 部署上线
- 环境配置
- 配置生产环境的服务器,如 Nginx、Apache 等。
- 确保服务器的安全性和稳定性。
- 部署流程
- 使用自动化部署工具(如 Jenkins、GitLab CI/CD)将项目部署到生产环境。
- 进行上线前的最后测试,确保项目在生产环境中正常运行。
10. 持续维护与更新
- 监控与反馈
- 对项目进行监控,收集用户反馈,及时发现和解决问题。
- 版本更新
- 根据业务需求和用户反馈,对项目进行版本更新,添加新功能、修复漏洞。
通过以上步骤,就可以从 0 到 1 搭建一个完整的前端项目。在面试中,你可以结合具体的项目经验,详细阐述每个步骤的实施过程和遇到的问题及解决方案。
3. webpack 的构建流程
Webpack 是一个强大的模块打包工具,其构建流程可以概括为以下几个关键步骤:
1. 初始化配置
- 加载配置文件:Webpack 启动时,会读取项目根目录下的
webpack.config.js
(或其他自定义配置文件),该文件中定义了 Webpack 的各种配置项,如入口文件、输出路径、加载器、插件等。 - 合并默认配置:将用户自定义的配置与 Webpack 的默认配置进行合并,形成最终的配置对象。
2. 解析入口文件
- 确定入口文件:根据配置文件中的
entry
选项,找到项目的入口文件。入口文件是 Webpack 开始构建的起点,通常是一个 JavaScript 文件。 - 创建主模块对象:Webpack 会为入口文件创建一个模块对象,该对象包含了模块的各种信息,如文件路径、依赖关系等。
3. 模块解析与构建
- 递归解析模块依赖:从入口文件开始,Webpack 会递归地解析模块之间的依赖关系。对于每个模块,它会读取文件内容,分析其中的
import
或require
语句,找出该模块所依赖的其他模块。 - 使用加载器处理模块:在解析模块的过程中,Webpack 会根据配置文件中的
rules
选项,使用相应的加载器对模块进行处理。例如,使用css-loader
和style-loader
处理 CSS 文件,使用babel-loader
处理 JavaScript 文件。 - 构建模块图:通过递归解析和处理模块,Webpack 会构建出一个模块图,该图描述了项目中所有模块之间的依赖关系。
4. 模块打包
- 生成 Chunk:根据模块图,Webpack 会将模块划分成不同的 Chunk。Chunk 是 Webpack 打包后的基本单位,一个 Chunk 可以包含多个模块。
- 合并模块代码:对于每个 Chunk,Webpack 会将其中的模块代码合并成一个或多个文件。在合并过程中,Webpack 会对代码进行优化,如去除冗余代码、压缩代码等。
5. 插件处理
- 执行插件:在打包过程中,Webpack 会根据配置文件中的
plugins
选项,执行相应的插件。插件可以在 Webpack 构建的不同阶段执行特定的任务,如生成 HTML 文件、压缩代码、分割 Chunk 等。
6. 输出文件
- 写入文件:最后,Webpack 会根据配置文件中的
output
选项,将打包后的文件写入到指定的输出目录中。输出文件的名称和路径可以通过output.filename
和output.path
选项进行配置。
示例代码
以下是一个简单的 webpack.config.js
示例,展示了如何配置 Webpack 的基本构建流程:
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = {// 入口文件entry: './src/index.js',// 输出配置output: {path: path.resolve(__dirname, 'dist'),filename: 'bundle.js'},// 模块规则module: {rules: [{test: /\.js$/,exclude: /node_modules/,use: {loader: 'babel-loader',options: {presets: ['@babel/preset-env']}}},{test: /\.css$/,use: ['style-loader', 'css-loader']}]},// 插件配置plugins: [new HtmlWebpackPlugin({template: './src/index.html'})]
};
在这个示例中,Webpack 会从 src/index.js
开始构建项目,使用 babel-loader
处理 JavaScript 文件,使用 style-loader
和 css-loader
处理 CSS 文件,最后使用 HtmlWebpackPlugin
生成 HTML 文件,并将打包后的文件输出到 dist
目录中。
4. 手写webpack插件
下面为你详细介绍如何手写一个 Webpack 插件,并且给出一个具体示例。
原理概述
Webpack 插件是基于事件流机制实现的,其核心是借助钩子(Hooks)来达成。Webpack 在构建流程的不同阶段会触发不同的钩子,插件可以在这些钩子上挂载自己的逻辑,进而在特定的构建阶段执行自定义操作。
开发步骤
- 创建插件类:要定义一个包含
apply
方法的 JavaScript 类。 - 挂载钩子:在
apply
方法里,借助compiler
或者compilation
对象挂载钩子函数。 - 实现自定义逻辑:在钩子函数中实现所需的自定义逻辑。
示例:自定义 Webpack 插件,在构建完成后输出构建信息
下面是一个自定义 Webpack 插件的示例代码,此插件会在构建完成后输出构建信息。
class CustomWebpackPlugin {constructor(options) {// 接收插件配置选项this.options = options;}apply(compiler) {// 监听 'done' 钩子,该钩子在构建完成后触发compiler.hooks.done.tap('CustomWebpackPlugin', (stats) => {const { outputPath, assets } = stats.compilation;console.log('构建完成!');console.log('输出路径:', outputPath);console.log('生成的资源:');Object.keys(assets).forEach((assetName) => {console.log(`- ${assetName}`);});if (this.options && this.options.message) {console.log('自定义消息:', this.options.message);}});}
}module.exports = CustomWebpackPlugin;
使用自定义插件
在 webpack.config.js
中使用这个自定义插件。
代码解释
CustomWebpackPlugin
类:- 构造函数:接收插件的配置选项
options
。 apply
方法:接收compiler
对象作为参数,此对象代表了整个 Webpack 编译实例。compiler.hooks.done.tap
:监听done
钩子,该钩子会在构建完成后触发。在钩子函数里,我们获取构建统计信息stats
,并输出构建完成的信息、输出路径以及生成的资源列表。若存在自定义消息,也会将其输出。
- 构造函数:接收插件的配置选项
webpack.config.js
:- 引入
CustomWebpackPlugin
插件。 - 在
plugins
数组中实例化该插件,并传入配置选项。
- 引入
借助以上步骤,你就能创建并使用自定义的 Webpack 插件了。你可以依据需求在不同的钩子上挂载逻辑,从而实现更复杂的功能。
相关文章:
2025年03月18日柯莱特(外包宁德)一面前端面试
目录 自我介绍你怎么从0到1搭建项目的webpack 的构建流程手写webpack插件你有什么想问我的吗 2. 你怎么从 0 到 1 搭建项目的 在面试中回答从 0 到 1 搭建前端项目,可按以下详细步骤阐述: 1. 项目前期准备 需求理解与分析 和产品经理、客户等相关人…...
汇川EASY系列之以太网通讯(MODBUS_TCP做主站)
汇川Easy系列以太网通讯中(MODBUSTCP,plc做主站),终于可以不用使用指令就可以完成了,全程通过简单的配置就可通讯。本文将通过EASY系列PLC与调试助手之间完成此操作。具体演示如下; 关于主站和从站的介绍 A/请求:即主动方 向被动方发送的一个要求的信息。 B/主站:发…...
uni-app jyf-parser将字符串转化为html 和 rich-text
uni-app jyf-parser将字符串转化为html-CSDN博客 方法二: rich-text | uni-app...
PyTorch中Batch Normalization1d的实现与手动验证
PyTorch中Batch Normalization1d的实现与手动验证 一、介绍 Batch Normalization(批归一化)是深度学习中常用的技术,用于加速训练并减少对初始化的敏感性。本文将通过PyTorch内置函数和手动实现两种方式,展示如何对三维输入张量…...
LoRA中黑塞矩阵、Fisher信息矩阵是什么
LoRA中黑塞矩阵、Fisher信息矩阵是什么 1. 三者的核心概念 黑塞矩阵(Hessian) 二阶导数矩阵,用于优化问题中判断函数的凸性(如牛顿法),或计算参数更新方向(如拟牛顿法)。 Fisher信息矩阵(Fisher Information Matrix, FIM) 统计学中衡量参数估计的不确定性,反映数据…...
Transformer中,Fisher矩阵与权重之间关系
Transformer中,Fisher矩阵与权重之间关系 目录 Transformer中,Fisher矩阵与权重之间关系一、Fisher矩阵与Transformer权重的关系二、Fisher矩阵的更新方式三、举例说明给出案例:Transformer权重矩阵,Fisher矩阵,说明对应关系和怎么更新二阶导数计算需要大量算力有什么方法…...
本地安装deepseek大模型,并使用 python 调用
首先进入 ollama 官网 https://ollama.com/点击下载 下载完成后所有都是下一步,就可以 点击搜索 Models : https://ollama.com/search然后点击下载: 选择后复制: ollama run deepseek-r1:32b例如: 让它安装完成后࿱…...
asp.net mvc 向前端响应json数据。用到jquery
最近在给客户开发提醒软件时,用asp.net mvc 开发。该框架已经集成了bootstrap,直接贴asp.net mvc 端代码: {Layout null; }<!DOCTYPE html><html> <head><meta name"viewport" content"widthdevice-width" /…...
《基于深度学习的指纹识别智能门禁系统》开题报告
个人主页:大数据蟒行探索者 1研究背景 1.1开发目的和意义 指纹识别作为生物特征识别领域的一项重要技术,在安全认证、犯罪侦查和个人身份验证等方面具有广泛应用前景。随着深度学习技术的迅猛发展,基于深度学习的指纹识别系统成为了当前研究…...
数据预处理流程与关键步骤解析
数据预处理流程图(Markdown格式): #mermaid-svg-b3mhJcpFWaJ9qMZ8 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-b3mhJcpFWaJ9qMZ8 .error-icon{fill:#552222;}#mermaid-svg-b3m…...
单片机开发资源分析实战——以STM32F103ZET6为例子,分析我们的单片机
目录 第一件事情:为什么叫STM32F103ZET6 分析我们的资源手册 第二件事情,关心我们的GPIO引脚输出 第三件事情:去找对应外设的说明部分 本文章隶属于项目: Charliechen114514/BetterATK: This is a repo that helps rewrite ST…...
uv命令介绍(高性能Python包管理工具,旨在替代pip、pip-tools和virtualenv等传统工具)
文章目录 **主要功能**1. **快速安装和管理 Python 包**2. **生成和管理锁文件 (requirements.lock)**3. **创建虚拟环境**4. **与 poetry 兼容** **核心优势**1. **极快的速度**:基于 Rust 实现,利用多线程和缓存大幅加速依赖解析。2. **轻量且独立**&a…...
React Native进阶(六十):webview实现屏蔽所嵌套web页面异常弹窗
文章目录 一、前言二、解决方案三、注意事项四、拓展阅读 一、前言 在React Native项目集成web页面时,webview嵌套方式是常用方式。如果所嵌套的web页面由于某种不可控因素导致出现错误弹窗信息,webview作为web嵌套方式应该对其行为可控。 React Nativ…...
IS-IS原理与配置
一、IS-IS概述 IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)是ISO(International Organization for Standardization,国际标准化组织)为它的CLNP(ConnectionLessNet…...
响应式CMS架构优化SEO与用户体验
内容概要 在数字化内容生态中,响应式CMS架构已成为平衡搜索引擎可见性与终端用户体验的核心载体。该系统通过多终端适配技术,确保PC、移动端及平板等设备的内容渲染一致性,直接降低页面跳出率并延长用户停留时长。与此同时,智能S…...
mysql 主从配置
核心概念: 主服务器(Master):负责处理客户端的写操作,并将数据更改记录到二进制日志(binlog)中。从服务器(Slave):负责读取主服务器的二进制日志,…...
Windows下编译安装Qt5.15.0指南
1. 系统要求 操作系统: Windows 7 或更高版本(推荐 Windows 10/11)。 磁盘空间: 至少 20-30 GB(编译过程会生成大量中间文件)。 内存: 建议 8GB 或更高。 编译器: 需要安装 Visual Studio(推荐 MSVC 2017 或 MSVC 2…...
001-JMeter的安装与配置
1.前期准备 下载好JMeter : https://jmeter.apache.org/download_jmeter.cgi 下载好JDK : :Java Downloads | Oracle 中国 下载图中圈蓝的JMeter和JDK就行,让它边下载,我们边往下看 2.为什么要下载并安装JDK ? JMeter 是基于 Java 开发的工具&#…...
kube-score K8S Yaml静态代码分析工具详解
kube-score 是一款专注于 Kubernetes 配置文件的静态代码分析工具,旨在通过自动化检查帮助用户识别资源配置中的潜在问题,并遵循最佳实践以提升集群的安全性、稳定性和性能。以下是其核心功能、使用方法和应用场景的详细解析: 一、核心功能与…...
【Go】Go语言结构体笔记
整体介绍 虽然 Go 语言不是传统意义上的面向对象语言,但它提供了结构体(struct)来组织数据,并且可以为结构体绑定方法,从而达到面向对象的部分效果。 关键知识点包括: 结构体定义与实例化 定义结构体时使用…...
Oracle数据库性能优化全攻略:十大关键方向深度解析与实践指南
文章目录 一、SQL查询优化二、索引优化三、内存管理四、I/O优化五、分区表与分区索引六、并行处理七、统计信息管理八、锁与并发控制九、数据库参数调优十、应用设计优化结论 在当今数据驱动的时代,数据库的性能优化成为了确保企业应用高效运行的关键。Oracle作为业…...
Modern C++面试题及参考答案
目录 解释右值引用的定义及其与左值引用的核心区别 std::move 的实现原理是什么?为什么它本身不执行移动操作? 移动构造函数与拷贝构造函数的调用场景有何不同? 实现一个支持移动语义的类需要遵循哪些原则? 完美转发(Perfect Forwarding)的实现原理及 std::forward 的…...
【单片机通信技术应用——学习笔记三】液晶屏显示技术,取模软件的应用
一、液晶显示技术简介 1.RGB信号线 RGB是一种色彩模式,是工业界的一种颜色标准,是通过红(R)、绿(G)、蓝(B)三个颜色通道的变化,以及它们相互之间的叠加来得到各式各样的…...
Git push后撤销提交
一、介绍 当某次更改完工程后,push了本地仓库到云端,但是发现有地方改错了,想撤销这次推送,或者某次提交就更改了很小一部分,想和本地这次修改的合并为一次推送,省的在云端显示特别多次提交,显得…...
React多层级对象改变值--immer
reduxjs/toolkit底层就是immer,,,所以在使用redux的时候,直接赋值,就会响应式的数据 如果不使用reduxjs/toolkit,可以自己使用immer来实现 安装immer npm install immer引入produce函数,,prod…...
17153. 班级活动(蓝桥杯-python)
代码写法 import os import sys# 请在此输入您的代码n int(input()) a list(map(int,input().split()))da {} flag1 0 flag2 0for i in a:da[i] da.get(i,0)1for i,j in da.items():if j 1:flag1 1if j > 2:flag2 j-2if flag2 > flag1:print(flag2) else:print(…...
html5-qrcode前端打开摄像头扫描二维码功能
实现的效果如图所示,全屏打开并且扫描到二维码后弹窗提醒,主要就是使用html5-qrcode这个依赖库,html5-qrcode开源地址:GitHub - mebjas/html5-qrcode: A cross platform HTML5 QR code reader. See end to end implementation at:…...
【后端】【Django】【ORM】SearchFilter 详解
SearchFilter 详解 SearchFilter 是 Django REST Framework(DRF)提供的一个过滤器,用于在 ModelViewSet 视图集中支持搜索功能。它允许用户通过 URL 查询参数(默认 search)对多个字段进行模糊匹配。 一、基本用法 &a…...
python 实现一个简单的window 任务管理器
import tkinter as tk from tkinter import ttk import psutil# 运行此代码前,请确保已经安装了 psutil 库,可以使用 pip install psutil 进行安装。 # 由于获取进程信息可能会受到权限限制,某些进程的信息可能无法获取,代码中已经…...
使用密码连接Redis服务的两种方式
说明:本文介绍连接需要密码的Redis服务的两种方式 方式一 连接时,携带密码,如下: redis-cli -a [密码]如下: 有两个问题: 密码直接放在命令里,可通过 history 找到,不安全&#x…...
基于C语言实现的观察者模式 以温度监控系统为例
场景为 温度监控系统:当温度传感器检测到温度变化时,自动通知所有注册的显示器(如LCD、手机App)更新显示。 场景描述 主题(Subject):温度传感器,负责检测温度变化并通知观察者。 观察者(Observer):显示器(LCD显示器、手机App),订阅温度数据并在温度变化时更新显…...
英伟达黄仁勋2025GTC演讲深度解析:液冷GPU、AI工厂、机器人AI…...
目录 一、技术产品与架构升级:从芯片到算力工厂1. 新一代GPU与计算架构2. AI工厂与算力操作系统 二、AI技术演进:从生成式到物理AI1. AI发展的三大阶段2. 推理算力需求爆炸式增长 三、生态合作与行业落地1. CUDA生态与开源工具2. 跨行业合作案例 四、未来…...
学习Flutter:搭建第一个 Flutter 应用
引言 曾几何时,我们还在为 Android 和 iOS 各写一套 UI 而头疼,做一个需求像是两家公司在竞争。但 Flutter 的出现,改变了这一切。它让跨平台开发变得可能,让一个程序员的代码可以同时运行在多个设备上,省时省力&…...
lua实现面向对象(封装/继承/多态)
lua实现面向对象封装/继承/多态 lua实现面向对象(封装/继承/多态) lua实现面向对象(封装/继承/多态) print("***********面向对象**********") print("*************封装************") --表就是表现类的一种形式 --实现了new方法:本质上是创建一个空表&a…...
WX小程序
下载 package com.sky.utils;import com.alibaba.fastjson.JSONObject; import org.apache.http.NameValuePair; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.Cl…...
【模拟面试】计算机考研复试集训(第十一天)
文章目录 前言一、专业面试1、什么是面向对象编程?2、软件工程的主要模型有哪些?3、Cache和寄存器的区别4、卷积层有哪些参数,它们代表什么?5、你有读博的打算吗?6、你的师兄/姐临近毕业,仍做不出成果&…...
【深度技术揭秘】 Android SystemUI锁屏界面动态布局重构:横竖屏智能适配指南
1. 问题背景与需求拆解 在Android 13系统定制中,发现平板横屏锁屏界面存在两大视觉问题: 时钟控件尺寸过大,与竖屏样式不统一 解锁图标位置异常,横向居中而非顶部居中(如图示) 需实现: 横竖屏…...
AI比人脑更强,因为被植入思维模型【20】卡尼曼双系统理论
定义 卡尼曼双系统理论思维模型是由诺贝尔经济学奖得主丹尼尔卡尼曼提出的,该理论认为人类的思维系统可以分为两个相互关联但又具有不同特点的子系统,即系统1(快思考)和系统2(慢思考)。系统1是基于直觉、经…...
修改服务器windows远程桌面默认端口号
修改服务器windows远程桌面默认端口号 在Windows服务器上修改远程桌面协议(RDP)的默认端口(3389)可以增强服务器的安全性,减少被恶意扫描和攻击的风险。以下是修改远程端口的详细步骤: 按 Win R 打开运行…...
3.22模拟面试
前端模拟面试(1 年经验) 面试时长:40-60 分钟 面试难度:初中级 技术栈:Vue 3、TypeScript、微前端(qiankun)、Webpack/Rspack、Ant Design、组件库迁移 一、基础知识 HTML & CSS 介绍一下…...
MySQL高频八股——索引
大家好,我是钢板兽! 今天来更新MySQL高频八股的最后一篇文章,包括很多内容:索引分类、最左匹配原则、范围查询使联合索引失效、索引下推、给联合查询加索引、索引失效情况。 在MySQL的第一篇八股文章,我写了MySQL的索…...
二分查找(java)
文章目录 1. 基本原理2. 步骤3.练习 1. 基本原理 二分查找(Binary Search)是一种基于分治思想的高效搜索算法,核心逻辑是通过不断缩小搜索区间来定位目标值。其前提是数据必须为有序数组,时间复杂度为 O(log n)。 2. 步骤 1.…...
2025_0321_生活记录
刚刚写完待会儿早上要汇报的文档,看了一眼时间,现在已经是凌晨2点多了。一直说要早睡,但是一直都没做到。。。算了,不苛求自己了。 昨天是春分,春分秋分,昼夜平分。不知不觉就到春天了,但房间里…...
【LangChain入门 6 Chain组件】单链和多链
一、单链 1.1 LCEL的语法 | 为关键字,使用 | 作为链接符号 from langchain_core.output_parsers import StrOutputParser from langchain_ollama import ChatOllama llm ChatOllama( model"deepseek-r1:7b") parser StrOutputParser() # 加了这段后&…...
决策树基础
决策树 定义 从根节点开始,也就是拥有全部的数据,找一个维度对根节点开始划分, 划分后希望数据整体的信息熵是最小的, 针对划分出来的两个节点,我们继续重复刚才的划分方式寻找信息熵最小的维度和阈值。 递归这个…...
MATLAB+Arduino控制小车直行+转向
1 硬件 两轮车arduino板子 硬件连接 注意:电机连线。 这个小车的电机电流小,可以用arduino板子直接驱动,如果是大电流的,需要你自带电池,供电用用你的电池(如移动电源),控制信号&…...
【uni-app】引用公共组件
目录 一、建立公共组件 1.1新建vue文件 1.2编写公共文件代码 1.3使用 注意事项 一、建立公共组件 1.1新建vue文件 在公共组件文件目录下新建所需要的功能文件 1.2编写公共文件代码 按需求写对应功能的代码 1.3使用 在需要使用的文件下引用公共组件 注意事项 想要使用s…...
六西格玛遇上Python:统计学的高效实践场
在当今数据驱动的时代,数据分析和可视化工具成为了各行业优化流程、提升质量的关键手段。六西格玛(Six Sigma)作为一种以数据为基础、追求完美质量的管理理念,其实施依赖于一系列基础工具的灵活运用。而Python,凭借其强…...
虚幻基础:UI
文章目录 控件蓝图可以装载其他控件蓝图可以安装其他蓝图接口 填充:相对于父组件填充水平框尺寸—填充—0.5:改变填充的尺寸填充—0.5:改变与父组件的距离 锚点:相对于父组件的控件坐标系原点,屏幕比例改变时ÿ…...
事件、页面跳转、wxml语法——微信小程序学习笔记
1. 事件 1.1 事件绑定 <!--pages/infoPage/infoPage.wxml--><button type"primary" bind:tap"childrenClicked">子按钮</button> // pages/infoPage/infoPage.jsPage({childrenClicked(){console.log("childrenClicked")} …...