当前位置: 首页 > news >正文

40 个机器学习面试问题(文末福利送书)

原创
在这里插入图片描述

文章目录

    • 初学者问题 (10)
      • 1. 偏差和方差之间的权衡是什么?
      • 2.解释有监督和无监督机器学习的区别
      • 3. 监督学习和无监督学习最常用的算法是什么?
      • 4.解释KNN和k-means聚类的区别
      • 5. 什么是贝叶斯定理?我们为什么用它?
      • 6. 什么是朴素贝叶斯分类器?我们为什么要使用它们?
      • 7. 解释第一类错误和第二类错误的区别
      • 8. 判别模型和生成模型有什么区别?
      • 9. 什么是参数模型?举个例子
      • 10. 解释数组和链表的区别
    • 中级问题 (15)
      • 1. 会为时间序列数据集选择哪种交叉验证技术?
      • 2. 如何根据训练集大小选择分类器?
      • 3.解释ROC曲线和AUC
      • 4. 解释无监督学习的 LDA
      • 5. 你如何确保你没有过度拟合模型?
      • 6. SQL中,主键和外键是如何关联的?
      • 7. 会使用哪些评估方法来衡量 ML 模型的有效性?
      • 8. 解释如何处理数据集中丢失或损坏的数据
      • 9. 解释将如何开发数据管道
      • 10. 如何修复模型中的高方差?
      • 11.什么是超参数?它们与模型参数有何不同?
      • 12.你正在处理一个数据集。你如何选择重要变量?
      • 13. 如何选择数据集使用的算法?
      • 14. 使用神经网络有哪些优点和缺点?
      • 15.决策树的默认分裂方法是什么?
    • 高级问题 (10)
      • 1. 给你一个数据集,其中缺失值沿着中位数 1 个标准差分布。有多少百分比的数据不受影响?
      • 2. 你被告知你的回归模型存在多重共线性。如何验证这是真的并建立更好的模型?
      • 3、为什么XGBoost比SVM表现更好?
      • 4. 你构建了一个包含 10,000 棵树的随机森林模型。训练误差为 0.00,但验证误差为 34.23。解释出了什么问题。
      • 5. 解释构建 ML 模型的阶段。
      • 6. 下面混淆矩阵的召回率、特异度和准确率是多少?
      • 7. 对于 NLP,使用编码器-解码器模型的主要目的是什么?
      • 8. 对于使用 TensorFlow 的深度学习,需要哪个值作为评估的输入EstimatorSpec?
      • 9. 使用 scikit-learn 时,当特征值变化很大时,我们是否需要缩放特征值?
      • 10. 你的数据集有 50 个变量,但有 8 个变量的缺失值高于 30%。你如何解决这个问题?
    • 赠书福利
      • 书籍介绍
      • 活动规则

初学者问题 (10)

1. 偏差和方差之间的权衡是什么?

偏差(模型与数据的拟合程度)是指由于 ML 算法中的不准确或简单假设导致的错误,这会导致过度拟合。

方差(模型根据输入发生的变化有多少)是指由于 ML 算法的复杂性而导致的错误,这会对训练数据和过度拟合的高度变化产生敏感性。

换句话说,简单模型是稳定的(低方差)但有很大偏差。复杂模型容易过度拟合,但表达了模型的真实性(低偏差)。误差的最佳减少需要偏差和方差的权衡,以避免高方差和高偏差。

2.解释有监督和无监督机器学习的区别

监督学习需要训练标记数据。换句话说,监督学习使用基本事实,这意味着我们对我们的输出和样本有现有的了解。这里的目标是学习一个近似输入和输出之间关系的函数。

另一方面,无监督学习不使用带标签的输出。这里的目标是推断数据集中的自然结构。

3. 监督学习和无监督学习最常用的算法是什么?

在这里插入图片描述

4.解释KNN和k-means聚类的区别

主要区别是KNN需要标注点(分类算法,监督学习),而k-means不需要(聚类算法,无监督学习)。

要使用 K 最近邻,可以使用要分类为未标记点的标记数据。K 均值聚类采用未标记的点并学习如何使用点之间的距离的平均值对它们进行分组。
在这里插入图片描述

5. 什么是贝叶斯定理?我们为什么用它?

贝叶斯定理是我们如何在知道其他概率时找到概率。换句话说,它提供了先验知识事件的后验概率。该定理是计算条件概率的一种原则性方法。

在 ML 中,贝叶斯定理用于将模型拟合到训练数据集的概率框架中,并用于构建分类预测建模问题(即朴素贝叶斯、贝叶斯最优分类器)。

6. 什么是朴素贝叶斯分类器?我们为什么要使用它们?

朴素贝叶斯分类器是分类算法的集合。这些分类器是具有共同原理的一系列算法。朴素贝叶斯分类器假设一个特征的出现或不存在不会影响另一个特征的存在或不存在。

换句话说,我们称之为“朴素”,因为它假设所有数据集特征都同等重要且独立。

朴素贝叶斯分类器用于分类。当独立性假设成立时,它们很容易实施,并且比其他复杂的预测器产生更好的结果。它们用于垃圾邮件过滤、文本分析和推荐系统。

7. 解释第一类错误和第二类错误的区别

I 类错误是误报(声称没有发生某事),II 类错误是假阴性(声称什么都没有发生,但实际发生了)。

8. 判别模型和生成模型有什么区别?

判别模型学习不同类别数据之间的区别。生成模型学习数据类别。 判别模型通常在分类任务上表现更好。

9. 什么是参数模型?举个例子

参数模型具有有限数量的参数。只需要知道模型的参数即可进行数据预测。常见的例子如下:线性支持向量机、线性回归和逻辑回归。

非参数模型具有无限数量的参数以提供灵活性。对于数据预测,您需要模型的参数和观察数据的状态。常见的例子如下:k近邻、决策树、主题模型。

10. 解释数组和链表的区别

数组是对象的有序集合。它假设每个元素都具有相同的大小,因为整个数组存储在一个连续的内存块中。数组的大小在声明时指定,之后不能更改。数组的搜索选项是线性搜索和二进制搜索(如果已排序)。

链表是一系列带有指针的对象。不同的元素存储在不同的内存位置,并且可以在需要时添加或删除数据项。

链表的唯一搜索选项是线性的。

其他初学者问题可能包括:

哪个更重要:模型性能还是准确性?为什么?
F1分数是多少?它是如何使用的?
什么是维度诅咒?
我们什么时候应该使用分类而不是回归?
解释深度学习。它与其他技术有何不同?
解释可能性和概率之间的区别。

中级问题 (15)

1. 会为时间序列数据集选择哪种交叉验证技术?

时间序列不是随机分布的,而是按时间顺序排列的。想使用前向链接之类的东西,这样您就可以在查看未来数据之前基于过去的数据进行建模。例如:

Fold 1 : training [1], test [2]
Fold 2 : training [1 2], test [3]
Fold 3 : training [1 2 3], test [4]
Fold 4 : training [1 2 3 4], test [5]
Fold 5 : training [1 2 3 4 5], test [6]

2. 如何根据训练集大小选择分类器?

对于小型训练集,具有高偏差和低方差模型的模型更好,因为它不太可能过度拟合。一个例子是朴素贝叶斯。

对于大型训练集,具有低偏差和高方差模型的模型更好,因为它表达了更复杂的关系。一个例子是逻辑回归。

3.解释ROC曲线和AUC

ROC 曲线是分类模型在所有阈值下性能的图形表示。它有两个阈值:真阳性率和假阳性率。

AUC(Area Under the ROC Curve)简单来说就是ROC曲线下的面积。AUC 测量 ROC 曲线下方从 (0,0) 到 (1,1) 的二维面积。它用作评估二元分类模型的性能指标。
在这里插入图片描述

4. 解释无监督学习的 LDA

Latent Dirichlet Allocation (LDA) 是主题建模的常用方法。它是一种将文档表示为主题组合的生成模型,每个主题都有自己的概率分布。

LDA旨在将高维空间的特征投影到低维空间。这有助于避免维数灾难。

5. 你如何确保你没有过度拟合模型?

我们可以使用三种方法来防止过拟合:

  1. 使用交叉验证技术(如 k 折交叉验证)
  2. 保持模型简单(即采用较少的变量)以减少方差
  3. 使用正则化技术(如 LASSO)来惩罚可能导致过度拟合的模型参数

6. SQL中,主键和外键是如何关联的?

外键允许根据相应表的主键匹配和连接表。

7. 会使用哪些评估方法来衡量 ML 模型的有效性?

首先,会将数据集拆分为训练集和测试集。您还可以使用交叉验证技术来分割数据集。然后,您将选择并实施绩效指标。例如,您可以使用混淆矩阵、F1 分数和准确性。

8. 解释如何处理数据集中丢失或损坏的数据

需要识别查找数据并删除行/列,或将它们替换为其他值。

Pandas提供了执行此操作的有用方法:isnull()和dropna(). 这些允许识别和删除损坏的数据。fillna()方法可用于用占位符填充无效值。

9. 解释将如何开发数据管道

数据管道使我们能够采用数据科学模型并对其进行自动化或扩展。常见的数据管道工具是 Apache Airflow,Google Cloud、Azure 和 AWS 用于托管它们。

10. 如何修复模型中的高方差?

如果模型具有低方差和高偏差,我们使用装袋算法,该算法使用随机抽样将数据集划分为子集。我们使用这些样本生成一组具有单一学习算法的模型。

此外,我们可以使用正则化技术,其中较高的模型系数受到惩罚以降低整体复杂性。

11.什么是超参数?它们与模型参数有何不同?

模型参数是模型内部的变量。参数的值是根据训练数据估计的。

超参数是模型外部的变量。该值无法从数据中估计,它们通常用于估计模型参数。

12.你正在处理一个数据集。你如何选择重要变量?

  • 在选择重要变量之前删除相关变量
  • 使用随机森林和绘制变量重要性图表
  • 使用套索回归
  • 使用线性回归根据 p 值选择变量
  • 使用正向选择、逐步选择和反向选择

13. 如何选择数据集使用的算法?

选择 ML 算法取决于相关数据的类型。业务需求是选择算法所必需的,构建算法也是构建模型的必要条件,因此在回答这个问题时,说明需要更多信息。

例如,如果你的数据以线性方式组织,线性回归将是一个很好的算法。或者,如果数据由非线性交互组成,则最好使用 bagging 或 boosting 算法。或者,如果你正在处理图像,神经网络将是最好的选择。

14. 使用神经网络有哪些优点和缺点?

优点:

  • . 将数据存储在整个网络上,而不是数据库上
  • 并行处理
  • 分布式存储器
  • 即使在有限的信息下也能提供很高的精度

缺点:

  • 需要复杂的处理器
  • 过于依赖误差值
  • 是个黑匣子

15.决策树的默认分裂方法是什么?

默认方法是Gini Index,它是特定节点不纯度的度量。本质上,它计算错误分类的特定特征的概率。

也可以使用随机森林,但首选基尼指数,因为它不是计算密集型的,也不涉及对数函数。

其它问题:

解释决策树的优点和缺点。
使用反向传播技术时的梯度爆炸问题是什么?
什么是混淆矩阵?你为什么需要它?

高级问题 (10)

1. 给你一个数据集,其中缺失值沿着中位数 1 个标准差分布。有多少百分比的数据不受影响?

数据分布在中位数上,因此我们可以假设我们使用的是正态分布。这意味着大约68%的数据位于距均值 1 个标准差的位置。因此,大约32%的数据不受影响。

2. 你被告知你的回归模型存在多重共线性。如何验证这是真的并建立更好的模型?

应该创建一个相关矩阵来识别和删除相关性高于 75% 的变量。请记住,我们这里的这个阙值是主观的。

还可以计算VIF(方差膨胀因子)来检查是否存在多重共线性。VIF 值大于或等于 4 表明不存在多重共线性。小于或等于 10 的值告诉我们存在严重的多重共线性问题。

不能只删除变量,因此应该使用惩罚回归模型或在相关变量中添加随机噪声,但这种方法不太理想。

3、为什么XGBoost比SVM表现更好?

XGBoost 是一种使用许多树的集成方法。这意味着它会随着自身的重复而改善。

SVM 是一个线性分离器。所以,如果我们的数据不是线性可分的,SVM 需要一个 Kernel 来让数据达到可以分离的状态。这可能会限制我们,因为每个给定数据集都没有完美的内核。

4. 你构建了一个包含 10,000 棵树的随机森林模型。训练误差为 0.00,但验证误差为 34.23。解释出了什么问题。

模型可能过度拟合。0.00 的训练误差意味着分类器模仿了训练数据模式。这意味着它们不可用于我们看不见的数据,从而返回更高的错误。

使用随机森林时,如果我们使用大量树,就会出现这种情况。

5. 解释构建 ML 模型的阶段。

这在很大程度上取决于手头的模型,因此您可以提出澄清问题。但一般来说,流程是这样的:

  1. 了解商业模式和最终目标
  2. 收集数据采集
  3. 做数据清洗
  4. 基本探索性数据分析
  5. 使用机器学习算法开发模型
  6. 使用未知数据集检查准确性

6. 下面混淆矩阵的召回率、特异度和准确率是多少?

  • TP / True Positive:案例为阳性,预测为阳性
  • TN/True Negative:案例为阴性,预测为阴性
  • FN / False Negative:案例为阳性,但被预测为阴性
  • FP / False Positive:案例为阴性,但被预测为阳性

在这里插入图片描述

计算如下:

召回 = 20%
特异性 = 30%
精度 = 22%

计算过程:

召回率 = TP / (TP+FN) = 10/50 = 0.2 = 20%特异性 = TN / (TN+FP) = 15/50 = 0.3 = 30%精度 = TP/ (TP + FP) = 10 / 45 = 0.2 = 22%

7. 对于 NLP,使用编码器-解码器模型的主要目的是什么?

我们使用编码器-解码器模型根据输入序列生成输出序列。

使编码器-解码器模型如此强大的原因在于解码器使用编码器的最终状态作为其初始状态。这使解码器可以访问编码器从输入序列中提取的信息。

8. 对于使用 TensorFlow 的深度学习,需要哪个值作为评估的输入EstimatorSpec?

损失指标是必需的。在使用 TensorFlow 执行模型时,我们使用EstimatorSpec对象来组织训练、评估和预测。

EstimatorSpec对象使用一个称为模式的必需参数进行初始化。该模式可以采用以下三个值之一

  • tf.estimator.ModeKeys.TRAIN
  • tf.estimator.ModeKeys.EVAL
  • tf.estimator.ModeKeys.PREDICT

9. 使用 scikit-learn 时,当特征值变化很大时,我们是否需要缩放特征值?

是的。大多数机器学习算法使用欧氏距离作为衡量两个数据点之间距离的度量。如果取值范围相差很大,同样的变化在不同的特征上的结果就会有很大的不同。

10. 你的数据集有 50 个变量,但有 8 个变量的缺失值高于 30%。你如何解决这个问题?

可以采用三种通用方法:

  1. 只需删除它们(不理想)
  2. 为缺失值分配一个唯一类别,以查看是否存在产生此问题的趋势
  3. 检查目标变量的分布。如果找到模式,保留缺失值,将它们分配给新类别,并删除其他值。

其它问题:

对于 k-means 或 kNN,为什么我们使用欧氏距离而不是曼哈顿距离?
解释正常软间隔 SVM 和具有线性核的 SVM 之间的区别。

赠书福利

书籍介绍

人工智能(Artifificial Intelligence, AI)作为一门前沿交叉学科,是研究和开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。中国科学院院士徐宗本认为:“人工智能的基础是数学,人工智能要走得远,需要把数学的基本问题解决好。同时,人工智能的一些原理和方法也给数学研究带来了特别的启示,有些甚至是革命性的。”

没有有基础科学的强力支持,应用科学是不可能做出顶尖成绩的。例如,人工智能的深度学习目前存在许多不足,例如大样本依赖,可解释性差,易受欺骗等,但当前没有更好的算法来替代。要解决这些问题,需要对相关数学理论进行深入的研究,了解大数据内在的数学结构和原理。《人工智能数学基础》这本书以零基础讲解为宗旨,面向学习数据科学与人工智能的读者,通俗地讲解每一个知识点,帮助读者快速打下数学基础,适合准备从事数据科学与人工智能相关行业的读者。
在这里插入图片描述
图书购买:

当当:http://product.dangdang.com/29145839.html
京东:https://item.jd.com/13009168.html

活动规则

本次活动,请针对本文中的知识点进行评价,在评论区评论,如果别人对你的评论点赞量多(可以转发给其他同学帮你点赞),我将会对点赞数量top2的同学每人赠送一本以上书籍,其它未中奖同学感兴趣可以自行购买。本次活动同时在公众号举行,即:CSDN活动处送两本,公众号处送两本,公众号具体活动请关注:玩转大数据。两者截止时间:2022年12月12日。

关注我:
在这里插入图片描述

可以参考上次活动:https://chuanchuan.blog.csdn.net/article/details/128088582
获奖者为以下三名,获奖同学请联系我把收货地址给我:
在这里插入图片描述

相关文章:

verilog设计-cdc:多比特信号跨时钟域(DMUX)

一、前言 多比特一般为数据,其在跨时钟域传输的过程中有多种处理方式,比如DMUX,异步FIFO,双口RAM,握手处理。本文介绍通过DMUX的方式传输多比特信号。 二、DMUX同步跨时钟域数据 dmux表示数据分配器,该方…...

图解卡尔曼滤波(Kalman Filter)--理解1

https://mp.weixin.qq.com/s?__biz=MzU0NjgzMDIxMQ==&mid=2247601352&idx=1&sn=080e64b063f9c7c9b69d8ee7c3e526d1&chksm=fb54ae24cc2327325b628cbe903b3daa82f10c73c3afc470f68fc85b82b1cf5aa3c228e82246&scene=27...

Android下的Touch事件分发详解

文章目录 一、事件传递路径二、触摸事件的三个关键方法2.1 dispatchTouchEvent(MotionEvent ev)2.2 onInterceptTouchEvent(MotionEvent ev)2.3 onTouchEvent(MotionEvent event) 三、事件传递机制:隧道方式和冒泡方式3.1 冒泡方式和隧道方式的过程3.2 时序图3.3 简…...

【教程】JavaScript代码混淆及优化

摘要 本文将介绍常见的JavaScript代码混淆技术,包括字符串转十六进制、Unicode编码、Base64加密、数值加密、数组混淆、花指令、逗号表达式、控制流程平坦化和eval执行。通过对这些混淆技术的理解和应用,可以提高代码的安全性和保护知识产权。 引言 随…...

循序渐进丨MogDB 对 Oracle DBLink兼容性增强

本特性自 MogDB 5.0.0版本开始引入,支持 Oracle DBLink语法,可以使用符号访问 Oracle 数据库中的表。 示 例 01 环境准备 MogDB 环境 已安装 MogDB 数据库。已安装oracle_fdw插件,具体安装方法参见oracle_fdw安装文档https://docs.mogdb.io/…...

大白话扩散模型(无公式版)

背景 传统的图像生成模型有GAN,VAE等,但是存在模式坍缩,即生成图片缺乏多样性,这是因为模型本身结构导致的。而扩散模型拥有训练稳定,保持图像多样性等特点,逐渐成为现在AIGC领域的主流。 扩散模型 正如…...

40 个机器学习面试问题(文末福利送书)

原创 文章目录初学者问题 (10)1. 偏差和方差之间的权衡是什么?2.解释有监督和无监督机器学习的区别3. 监督学习和无监督学习最常用的算法是什么?4.解释KNN和k-means聚类的区别5. 什么是贝叶斯定理?我们为什么用它?6. 什么是朴素贝…...

Springboot流浪动物管理系统p2326计算机毕业设计-课程设计-期末作业-毕设程序代做

Springboot流浪动物管理系统p2326计算机毕业设计-课程设计-期末作业-毕设程序代做 【免费赠送源码】Springboot流浪动物管理系统p2326计算机毕业设计-课程设计-期末作业-毕设程序代做本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开…...

Request和Response基础知识入门

文章目录1,Request和Response的概述2,Request对象2.1 Request继承体系2.2 Request获取请求数据2.2.1 获取请求行数据2.2.2 获取请求头数据2.2.3 获取请求体数据2.2.4 获取请求参数的通用方式2.3 IDEA快速创建Servlet2.4 请求参数中文乱码问题2.4.1 POST请…...

实战Docker未授权访问提权

1、fofa关键字 port“2375” && body“page not found” 2、docker -H tcp://ip:port 可查看到当前所有的实例 3、docker -H tcp://ip:port pull alpine 4、docker -H tcp://ip:port run -it --privileged alpine bin/sh 5、fdisk -l 查看其分区结构 6、创建一个…...

【微信小程序】页面跳转、组件自定义、获取页面参数值

🏆今日学习目标:第十七期——页面跳转、组件自定义、获取页面参数值 😃创作者:颜颜yan_ ✨个人主页:颜颜yan_的个人主页 ⏰预计时间:25分钟 🎉专栏系列:我的第一个微信小程序 文章目…...

数据结构:二叉树的链式结构

文章目录一.前言二.二叉树遍历2.1前序遍历/先根遍历2.2中序遍历/中根遍历2.3后序遍历/后根遍历2.4层序遍历2.5二叉树的销毁三.二叉树节点个数四.二叉树叶子节点的个数五.二叉树的高度六.二叉树第K层的节点个数七.找二叉树的节点八.题目8.1判断单值二叉树8.2相同的树8.3另一棵子…...

[附源码]计算机毕业设计小区疫情事件处理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…...

03、自定义镜像上传阿里云

目录 1、alpine Linux简介 2、基于alpine制作JDK8镜像 1.1 下载镜像 1.2 创建并编辑dockerfile 1.3 执行dockerfile创建镜像 1.4 创建并启动容器 1.5 进入容器 1.6 测试jdk 3、Docker容器之最小JRE基础镜像 4、将Docker镜像上传至阿里云(或从阿云下载镜像) 5、Docke…...

机器学习之过拟合和欠拟合

文章目录前言什麽是过拟合和欠拟合?过拟合和欠拟合产生的原因:欠拟合(underfitting):过拟合(overfitting):解决欠拟合(高偏差)的方法1、模型复杂化2、增加更多的特征,使输入数据具有更强的表达能力3、调整参数和超参数4、增加训练…...

【Linux网络编程】服务端编程初体验

文章目录前言服务端是啥、有什么特点核心函数socket的简介服务器编程客户端代码The End前言 在上节课(Linux网络编程初体验)中我们实现了连接bilibili的功能,并获取其html源码 如图所示. 今天我们要自己编写个服务端来服务我们的客户端 提示:以下是本篇…...

《人类简史》笔记四—— 想象构建的秩序

目录 一、盖起金字塔 1、未来的来临 2、 由想象构建的秩序 3、如何维持构建的秩序 二、 记忆过载 三、亚当和夏娃的一天 一、盖起金字塔 1、未来的来临 原始社会: 人口少; 狩猎和采集; 整体活动范围大(有几十甚至上百平方…...

TIDB在centos7.9上通过docker-compose进行安装、备份

1.环境介绍: 在centos7.9上安装tidb docker-compose版本 虚拟机配置2C/8G/40G 最小化安装 2.安装步骤 2.1 安装centos7.9 略 2.2 安装docker (1)安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2(2…...

Spring中Bean的生命周期

先直接说出过程,再来演示具体的操作 过程 简化来说就是 1、首先是实例化Bean,当客户向容器请求一个尚未初始化的bean时,或初始化bean的时候需要注入另一个尚末初始化的依赖时,容器就会调用doCreateBean()方法进行实例化&#xf…...

ACM第三周---周训---题目合集.

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石.CSDN 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​ 📣系列专栏:ACM周训练题目合集.CSDN 💬总结&#xff1a…...

VUE+Spring Boot前后端分离开发实战(六):基于RABC权限通用后台管理系统-给角色动态分配权限和用户

文章目录 前言功能设计后端实现前端实现写在后面前言 本文记录了通用后台管理系统中RABC权限中两个功能:给角色分配权限、给角色设置用户。 给角色分配用户:前端使用到了elementUI中的tree,包括加载树以及给已选配权限给默认值等。给角色设置用户:前端用到了elementUI中的…...

Dockerfile自定义镜像实操【镜像结构、Dockerfile语法、构建Java项目】

要自定义镜像,就必须先了解镜像的结构才行。 1 镜像结构 镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。 以MySQL为例,镜像的组成结构: 简单讲,镜像就是在系统函数库、运行环境基础上,添加应用…...

javaScript 进阶之路 --- 《加深理解回调函数》

前言: 回想当初第一次看到“回调函数”这个名词的时候,真的快把我难哭了。所有视频教程在讲到某个知识点的时候,大概都会说一句:“啊,这里怎么办呢?这里我们就需要用到一个回调函数...”。 等等&#xff0…...

Linux开发常用ps命令选项详解

【摘要】本文介绍了在Linux应用/内核开发调试中,经常需要用到的两个选项组合,当然,如果你需要查看更多更详尽的选项说明,可以参考man说明文档,即命令行下输入man ps进行查看。 aux选项组合 使用场景:更多…...

【ceph】分布式存储ceph

1 块存储,文件存储,对象存储 1.1 简介 文件存储:分层次存储,文件存储在文件夹中;访问文件时系统需要知道文件所在的路径。 举例:企业部门之间运用网络存储器(NAS)进行文件共享。 …...

Spring框架(九):Spring注解开发Annotation

Spring注解开发引子如何用注解替代xml基础配置Bean可以加一些注解来实现原有的xml文件的功能Component注解及其衍生注解依赖注入AutowireSpring非自定义的注解开发Spring其他注解注解的原理解析-xml方式注解的原理解析-注解方式引子 痛定思痛,主要问题出现在自己雀…...

python隶属关系图模型:基于模型的网络中密集重叠社区检测方法

隶属关系图模型 是一种生成模型,可通过社区联系产生网络。下图描述了一个社区隶属关系图和网络的示例(图1)。最近我们被客户要求撰写关于社区检测的研究报告,包括一些图形和统计输出。 图1.左:社区关系图(圆…...

Java实现猜数游戏

1 问题 编写一个Java程序,实现以下功能: 2 方法 首先导入java.util包下的Random,让程序随便分配给用户一个数。 再导入java.util包下的Scanner类,构建Scanner对象,以便输入。 利用Random().nextInt()生成一个随机的i…...

阿里云安装mysql、nginx、redis

目录 安装mysql 安装nginx ​编辑安装redis 先看一下系统基本信息 安装mysql rpm -qa | grep mariadb 卸载mariadb rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 下载mysql源 wget -i http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm yum…...

毕业设计-基于机器视觉的行人车辆跟踪出入双向检测计数

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…...

linux 安装nginx

1.安装依赖包 //一键安装上面四个依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2.下载并解压安装包 /或上传解压包 //创建一个文件夹 cd /usr/local mkdir nginx cd nginx //下载tar包 wget http://nginx.org/download/nginx-1.13.7.tar.gz t…...

javaee之黑马旅游网1

这是一个用来锻炼javaweb基础知识的项目,先来导入一些我们准备好的文件 下面这些东西是我们项目必备的,我们提前准备好了 ,这个我会上传到我的资源,你们可以自己去下载 利用maven来创建一个项目 选择无骨架创建项目,域…...

【高并发基础】理解 MVCC 及提炼实现思想

文章目录1. 前言2. MVCC 概念2.1 MVCC 版本链2.2 MVCC trx_id2.3 MVCC Read View3. 提出问题4. 解决问题4.1 不读未提交的数据4.1.1 一般的并发情况4.1.2 特殊的并发情况4.1.3 剩下的并发情况4.2 如果自己修改了数据,要第一时间读到5. MySQL RC 使用 MVCC5.1 MVCC D…...

Flow-vue源码中的应用

认识 Flow Flow 是 facebook 出品的 JavaScript 静态类型检查工具。Vue.js 的源码利用了 Flow 做了静态类型检查,所以了解 Flow 有助于我们阅读源码。 #为什么用 Flow JavaScript 是动态类型语言,它的灵活性有目共睹,但是过于灵活的副作用…...

学习python第一天(数据类型)

关于Python的数据类型 Python数据类型包括: 数字类型,字符类型,布尔类型,空类型,列表类型,元组类型,字典类型 1、数字类型 包括:整型int 浮点型float(有小数位的都是是浮点型) 注…...

echarts:nuxt项目使用echarts

一、项目环境 nuxt 2.X vue2.X vuex webpack 二、安装 yarn add echarts 三、使用 3.1、plugins目录下创建echarts.js import Vue from vue import * as echarts from echarts // 引入echarts Vue.prototype.$echarts echarts // 引入组件(将echarts注册为全…...

认证服务-----技术点及亮点

大技术 Nacos做注册中心 把新建的微服务注册到Nacos上去 两个步骤 在配置文件中配置应用名称、nacos的发现注册ip地址,端口号在启动类上用EnableDiscoveryClient注解开启注册功能 使用Redis存验证码信息 加入依赖配置地址和端口号即可 直接注入StringRedisTempla…...

【计算机毕业设计】74.家教平台系统源码

一、系统截图(需要演示视频可以私聊) 摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐…...

Hbase的SQL接口之Phoenix使用心得

PHOENIX 官方定义 A SQL layer over HBase delivered as a client-embedded JDBC drivertargeting low latency queries over HBase data 不同于Hive on HBase的方式,Phoenix将Query Plan直接使用HBaseAPI实现,目的是规避MapReduce框架,减少…...

Springboot萌宠社交分享系统的设计与实现hfdwz计算机毕业设计-课程设计-期末作业-毕设程序代做

Springboot萌宠社交分享系统的设计与实现hfdwz计算机毕业设计-课程设计-期末作业-毕设程序代做 【免费赠送源码】Springboot萌宠社交分享系统的设计与实现hfdwz计算机毕业设计-课程设计-期末作业-毕设程序代做本源码技术栈: 项目架构:B/S架构 开发语言…...

线性代数与解析几何——Part4 欧式空间 酉空间

线性代数与解析几何——Part4 欧式空间 & 酉空间 1. 欧氏空间 1. 定义 & 性质2. 内积表示与标准正交基3. 欧氏空间的同构4. 欧氏空间的线性变换5. 欧氏空间的子空间 2. 酉空间 1. 定义 & 性质2. 酉变换3. Hermite变换4. 规范变换 1. 欧氏空间 1. 定义 & 性质…...

带头双向循环链表的实现

目录前言节点声明链表的初始化尾插打印链表头插尾删头删查找节点指定位置插入指定位置删除链表销毁前言 之前讲过单链表的实现,在实现的过程中,我们会发现每次删除或者在前面插入节点的时候,都要提前保存上一个节点的地址。这样做十分麻烦&a…...

07【C语言 趣味算法】最佳存款方案(采用 从后往前 递推解决)

目录 一、前情回顾二、Problem:最佳存款方案2.1 Description of the problem2.2 Analysis of the problem2.3 Algorithm design2.4 The complete code and the results of the run(完整的代码 以及 运行结果)一、前情回顾 06【C语言 & 趣味算法】牛顿迭代法求方程根(可…...

游戏开发36课 cocoscreator scrollview优化

在cocoscreator内,ScrollView控件封装的挺完美的了,不过对于一些对性能要求比较高的场景,会存在问题,以top100排行榜排行榜举例子 1、应用卡顿甚至崩溃 按照官方用例使用ScrollView,插入100个玩家的item,理…...

屏幕开发学习 -- 迪文串口屏

一 前言 最近学习了一款基于图形化开发的屏幕,在摸索一周后,基本熟悉了这款产品的一个开发过程,今天给大家分享一下迪文串口屏的学习过程,有不足之处,还请见谅😁,包含了环境搭建和功能DEMO 二 …...

微机-------CPU与外设之间的数据传送方式

目录 一、无条件方式二、查询方式三、中断方式四、DMA方式一、无条件方式 外设要求:简单、数据变化缓慢。 外设被认为始终处于就绪状态。始终准备好数据或者始终准备好接收数据。 IN AL,数据端口 数据端口的地址通过CPU的地址总线送到地址译码器进行译码,同时该指令进行的是…...

从源码上解决rosdep update失败问题

(一)卸载官方的rosdep、rosdistro 卸载rosdistro # python2 sudo apt-get purge python-rosdistro# python3 sudo apt-get purge python3-rosdistro卸载rosdep # python2 sudo apt-get purge python-rosdep# python3 sudo apt-get purge python3-rosd…...

常用的shell命令

常用的shell命令 1、ls命令 功能:显示文件和目录的信息 ls 以默认方式显示当前目录文件列表 ls -a 显示所有文件包括隐藏文件 ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行 ls -lh 显示文件的…...

新手入门SLAM必备资料

新手入门SLAM必备资料 文章目录 新手入门SLAM必备资料一、SLAM学习书籍1.必读经典2.有很多期,跟着会议一起出的文集3.入门书籍,简单实现及代码4.SLAM入门教材吐血推荐,对深入理解SLAM实质非常有帮助5.作者Joan Sola关于Graph-SLAM的教程,包含位姿变换、传感器模型、图优化以…...

如何选择和使用腾讯云服务器的方法新手教程

本文将介绍如何选择和使用腾讯云服务器的方法新手教程。云服务器能帮助快速构建更稳定、安全的应用,降低开发运维的难度和整体IT成本。腾讯云CVM云服务器提供多种类型的实例、操作系统和软件包。各实例中的 CPU、内存、硬盘和带宽可以灵活调整,以满足应用…...

亚马逊云科技re:Invent:Serverless是所有构想的核心

12月2日,2022亚马逊云科技re:Invent全球大会上,Amazon.com副总裁兼首席技术官Werner Vogels博士向开发者们展示了另一种可能。在一系列Serverless工具的帮助下,一些代码可以少写,因为未来你可能再也不需要写它们了。这恐怕是自云原…...

数据链路层(必备知识)

文章目录1、数据链路层的作用2、认识以太网<1>以太网帧格式<2>认识MAC地址<3>认识MTU<4>查看硬件地址和MTU3、ARP协议<1>什么是ARP协议<2>ARP数据报格式<3>ARP协议的工作机制4、其他重要协议或技术<1> DNS<2>NAT技术1、…...

【Spring系列】- Spring循环依赖

Spring循环依赖 &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 一个有梦有戏的人 怒放吧德德 &#x1f31d;分享学习心得&#xff0c;欢迎指正&#xff0c;大…...

Python学习基础笔记二十一——迭代器

列表&#xff0c;我们使用for循环来取值&#xff0c;我们把每个值都取到&#xff0c;不需要关心每一个值的位置&#xff0c;因为只能顺序的取值&#xff0c;并不能跳过任何一个去取其他位置的值。那么我们为什么可以使用for循环来取值&#xff0c;for循环内部是怎么工作的呢&am…...

【云原生之Docker实战】使用docker部署IT资产管理系统GLPI

【云原生之Docker实战】使用docker部署IT资产管理系统GLPI 一、GLPI介绍1.GLPI简介2.GLPI功能二、检查本地docker环境1.检查docker版本2.检查docker状态三、下载GLPI镜像四、编辑docker-compose.yaml文件五、部署GLPI系统1.创建数据目录2.使用docker compose创建容器应用3.查看…...

【SSM框架 二】Spring

文章目录二、Spring1、简介2、IOC理论思想3、Hello Spring4、IOC创建对象的方式4.1 无参构造构造器注入4.2 有参构造器注入5、Spring的配置5.1 别名5.2 Bean的配置5.3 import6、DI依赖注入6.1 构造方法注入6.2 set方法注入6.3 扩展注入6.4、Bean的作用域7、Bean的自动装配7.1 正…...

小米还涉足了哪些领域

小米作为一家全球性的移动互联网企业&#xff0c;其业务领域相当广泛&#xff0c;除了核心的智能手机业务外&#xff0c;还涉足了许多其他领域。以下是对小米涉足领域的简要介绍&#xff1a; 智能硬件与IoT平台&#xff1a;小米是全球领先的智能硬件和IoT平台公司&#xff0c;致…...

JAVA数据篇-队列Queue使用

文章目录 前言一、队列使用&#xff1a;二、队列元素的存入&#xff1a;三、队列元素的取出&#xff1a;三、队列数据实现类&#xff1a;非并发安全的队列&#xff1a;并发安全的队列&#xff1a; 总结 前言 在 Java 中&#xff0c;队列&#xff08;Queue&#xff09;是一种用…...

C# 创建XML文件

XML序列化和反序列化 使用 System.Xml.Serialization 命名空间中的 XmlSerializer 类来进行 XML 格式的序列化和反序列化。 using System.IO; using System.Xml.Serialization;namespace ConsoleApplication1 {class Program{static void Main(string[] args){List<Studen…...

使用 Error Boundary 捕获 React 组件错误

使用 Error Boundary 捕获 React 组件错误 在 React 应用程序中&#xff0c;我们经常会遇到组件渲染过程中出现的错误。为了提高用户体验并确保应用程序的稳定性&#xff0c;React 16 引入了 Error Boundary&#xff0c;它是一种能够捕获并处理组件树中错误的机制。本文将介绍…...

十一、Spring源码学习之registerListeners方法

registerListeners()方法 protected void registerListeners() {// Register statically specified listeners first.//获取容器中事件监听并存放到多播器中 applicationListenersfor (ApplicationListener<?> listener : getApplicationListeners()) {getApplicationE…...

Spring 基于XML的DI

例如以下类&#xff1a; teanDao是没有new的&#xff0c;所以直接用的时候会报空指针异常&#xff0c;所以再Spring自动创建该Service的时候要给teamDao注入&#xff0c;也就是赋值吧。 因为TeamDao这个对象是要用的&#xff0c;所以这个对象也是要创建的&#xff0c;但是要在…...