- 博客(54)
- 收藏
- 关注
原创 Flink常见面试题总结
Flink 是一个面向流处理和批处理的分布式数据计算引擎,能够基于同一个Flink运行,可以提供流处理和批处理两种类型的功能。在 Flink 的世界观中,一切都是由流组成的,离线数据是有界的流;实时数据是一个没有界限的流:这就是所谓的有界流和无界流。
2024-05-20 21:59:51
1501
原创 开放性面试问题
职业前景广阔:随着数据量的爆炸式增长,各行各业都需要大数据分析来驱动决策和创新。技术前沿:大数据技术处于技术发展的前沿,涉及到机器学习、人工智能、云计算等多个领域。选择这个方向可以不断学习新技术,保持职业技能的先进性。多样化的应用领域:大数据技术应用广泛,包括金融、医疗、零售、制造、物流等多个行业。选择大数据方向可以有机会接触到不同的行业,增加职业的多样性和趣味性。个人兴趣:本人对数据分析、数据挖掘等技术本身就有浓厚的兴趣,选择大数据方向的工作可以让他们在感兴趣的领域中发挥特长。
2024-05-20 10:51:02
214
原创 Java基础篇常见面试问题总结
装箱:将基本类型转换成包装类对象拆箱:将包装类对象转换成基本类型的值java 为什么要引入自动装箱和拆箱的功能?主要是用于 java集合中,List list=new ArrayList();list 集合如果要放整数的话,只能放对象,不能放基本类型,因此需要将整数自动装箱成对象。Integer是 int的包装类,int则是 java的一种基本数据类型Integer变量必须实例化后才能使用,而 int变量不需要。
2024-05-15 22:01:26
831
原创 H2-FDetector模型解析
这个实现包括三个主要部分:H2FDetector_layer、MultiRelationH2FDetectorLayer 和 H2FDetector。每个部分都有其独特的功能和职责。下面是这些组件的详细实现和解释。
2024-05-14 11:14:30
490
1
原创 数据结构常见算法
快速排序是一种高效的排序算法,它采用了分治法的思想。其基本思想是选择一个基准元素,然后将待排序的数组按照基准元素的大小分割成两个子数组,一个子数组中的元素都小于基准元素,另一个子数组中的元素都大于基准元素。归并排序是一种基于分治思想的排序算法,它将待排序的数组分成两个子数组,然后分别对这两个子数组进行排序,最后将两个已排序的子数组合并成一个有序的数组。你可以将归并排序比作整理一副扑克牌的过程,将一副乱序的牌分成两堆,然后分别将这两堆牌整理成有序的序列,最后再将这两堆有序的牌合并起来。
2024-04-26 14:29:08
1013
原创 力扣hot100(python解析)
先对数组进行切片,对切片后的数组进行遍历,对原数组进行值的修改。题目的前提是需要在原数组上进行修改,没有返回值。
2024-04-22 16:44:16
1000
原创 Java高级常见面试题总结
何为进程?进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。何为线程?线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈,所以系统在产生一个线程,或是在各个线程之间做切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。
2024-04-22 09:41:35
1149
1
原创 Java基础常见知识点总结
a.数据类型 变量名 = 值;b.数据类型 变量名;变量名 = 值;c.连续定义三个相同类型的变量数据类型 变量名1,变量名2,变量名3;变量名1 = 值;变量名2 = 值;变量名3 = 值;【注】字符串不属于基本数据类型,属于引用数据类型,用String表示String是一个类,只不过字符串在定义的时候可以和基本数据类型格式一样。
2024-04-09 07:45:28
699
原创 Spark面试重点
RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,代表一个不可变、可分区、里面的元素可并行计算的集合。Resilient:RDD中的数据可以存储在内存中或者磁盘中。
2024-04-06 20:03:39
1531
原创 数据仓库面试总结
概念存储数据的仓库, 主要是用于存储过去既定发生的历史数据, 对这些数据进行数据分析的操作, 从而对未来提供决策支持四大特征面向于主题的: 面向于分析, 分析的内容是什么 什么就是我们的主题集成性: 数据是来源于各个数据源, 将各个数据源数据汇总在一起非易失性(稳定性): 存储在数据仓库中数据都是过去既定发生数据, 这些数据都是相对比较稳定的数据, 不会发生改变时变性: 随着的推移, 原有的分析手段以及原有数据可能都会出现变化(分析手动更换, 以及数据新增)
2024-04-04 21:31:56
1675
原创 MySQL面试重点
原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态。隔离性(Isolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立 环境下运行。持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。上述就是事务的四大特性,简称ACID。
2024-04-03 10:19:26
1047
原创 Hadoop面试重点
文章目录1. Hadoop 常用端口号1. Hadoop 常用端口号hadoop2.xhadoop3.x访问HDFS 端口500709870访问 MR 执行情况端口80888088历史服务器1988819888客户端访问集群端口90008020
2024-03-28 07:33:54
355
原创 动态规划相关题目
英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的。
2024-03-26 23:11:48
381
原创 贪心算法相关题目
贪心的本质是选择每一阶段的局部最优,从而达到全局最优。例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎么拿?指定每次拿最大的,最终结果就是拿走最大数额的钱。每次拿最大的就是局部最优,最后拿走最大数额的钱就是推出全局最优。将问题分解为若干个子问题找出适合的贪心策略求解每一个子问题的最优解将局部最优解堆叠成全局最优解做题的时候,只要想清楚 局部最优 是什么,如果推导出全局最优,其实就够了。
2024-03-23 23:08:52
803
原创 Hive面试重点
总的来说,Hive 通过将数据存储在 HDFS 中,并通过表来组织和管理数据,实现了对大规模数据的高效读写和查询。同时,Hive 还提供了丰富的数据导入导出功能,支持多种文件格式和数据源,满足了不同场景下的数据处理需求。Hive 读写文件的机制主要涉及到数据的导入和导出,以及数据在 Hadoop 分布式文件系统(HDFS)中的存储和管理。总的来说,Hive 适用于大数据分析和处理,而传统数据库适用于实时交互式查询和事务处理。这些区别主要源于它们的设计目标、数据模型、查询语言、数据处理方式等方面。
2024-03-20 19:59:29
750
原创 Yarn面试重点
YARN(Yet Another Resource Negotiator)是Hadoop 2.x引入的资源管理器,用于管理Hadoop集群中的资源和作业调度。总体而言,YARN集群的架构是一个分布式资源管理系统,通过ResourceManager和NodeManager协同工作,实现对集群资源的有效管理和作业调度,支持多种类型的应用程序运行在Hadoop集群中。总的来说,FIFO调度器、容量调度器和公平调度器是YARN中常用的三种资源调度模型,每种模型都有其适用的场景和优缺点。
2024-03-18 20:05:55
1164
原创 MapReduce面试重点
总的来说,Join操作在MapReduce中通常通过Mapper和Reducer协同工作来实现,利用Shuffle阶段对具有相同键的记录进行分组,然后在Reduce阶段进行连接操作。具体的实现方法取决于数据规模、数据分布和连接类型等因素。:中间键值对被分发到不同节点,以便相同键的值能被发送到同一个Reduce任务,同时对键进行排序,确保相同的键在Reduce阶段按顺序到达。:Reduce阶段生成的结果被写入输出目标,如文件系统中的文件或数据库中的表格,作为MapReduce过程的最终结果。
2024-03-14 23:08:29
861
原创 HDFS面试重点
总体而言,HDFS的架构是一个主从式的架构,其中NameNode作为中心管理元数据和客户端请求,而DataNode负责存储实际的数据块。通过将文件分成多个数据块并在集群中复制多个副本,可以提高数据的容错性。如果某个节点发生故障或者数据损坏,系统可以从其他副本所在的节点上获取数据,从而保证数据的可靠性和可用性。将文件分成固定大小的数据块可以使得数据在集群中分布均匀,并且能够实现并行处理。每个数据块都可以在集群中的不同节点上进行存储和处理,从而实现数据的高效读写和处理。
2024-03-12 10:23:32
1441
原创 大数据中的混合计算模式
混合计算模式是一种将实时计算(Real-time Computing)和离线计算(Batch Processing)结合使用的计算方式。在混合计算模式中,系统综合利用实时计算和离线计算的优势,以满足不同任务和业务场景的需求。实时计算部分用于处理即时产生的数据,能够在数据生成的瞬间进行计算和分析。这有助于实现快速响应、实时监控和即时决策。离线计算部分则用于处理大规模、历史的数据集,执行复杂的分析、挖掘和模型训练任务。这种计算模式适用于需要全面了解长期趋势和进行深度分析的场景。
2024-01-18 08:30:57
558
原创 字典的相关总结
字典是另一种可变容器模型,且可存储任意类型对象。1)键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。2)值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
2024-01-12 16:42:02
413
原创 XGBoost算法模型与使用
XGBoost 非常重要,尤其在分类、回归和排名问题上表现卓越。其实际使用场景包括金融风控、医学诊断、工业制造和广告点击率预测等领域。XGBoost以其高效的性能和鲁棒性,成为许多数据科学竞赛和实际项目中的首选算法,极大提高模型准确性并降低过拟合风险。根据业务逻辑,可以使用其他自定义的方法来将非数值型特征转换为数值型特征。在实际应用中,可以根据数据的性质和问题的要求选择合适的方法。同时,建议使用交叉验证等技术来评估不同的编码方式对模型性能的影响。
2024-01-10 10:30:32
1254
原创 Dropout系列问题
正则化通过向模型的损失函数中添加额外的项(正则化项)来实现,这些项惩罚模型的复杂性,使其更趋向于简单的模型。这些技术通过在损失函数中引入额外的惩罚项,来限制模型参数的范围,降低模型的复杂度,从而提高模型的泛化能力。不同的问题可能需要不同的设置。提高模型的稳定性:通过减少模型参数的绝对值,正则化可以使模型的参数更稳定,减少参数之间的差异。集成方法:如果你使用Dropout来进行集成学习(如Dropout后的平均或加权),通常可以选择较低的单个Dropout率,因为多个子模型的组合会提供更强的正则化效果。
2023-10-26 10:26:51
146
原创 学习率理解
在梯度下降法中,都是给定的统⼀的学习率,整个优化过程中都以确定的步⻓进⾏更新,在迭代优化的前期中,学习率较⼤,则前进的步⻓就会较⻓,这时便能以较快的速度进⾏梯度下降,⽽在迭代优化的后期,逐步减⼩学习率的值,减⼩步⻓,这样将有助于算法的收敛,更容易接近最优解。开始的学习率要⼤⼀些,之后要越来越⼩,要根据样本量的⼤⼩设置区间的间隔⼤⼩,样本量越⼤,下图即为分段常数衰减的学习率变化图,横坐标代表训练次数,纵坐标代表学习。这种衰减⽅式简单直接,收敛速度快,是最常⽤的学习率衰减⽅式,如下图所示,绿⾊的为学习率。
2023-10-24 09:32:11
112
原创 权重偏差初始化
这可能导致梯度消失或梯度爆炸问题,这在深层网络中尤为严重,因为在反向传播中,梯度会以指数级别增加或减少,从而使权重调整变得异常困难。对称性问题:如果所有的权重都相同,那么在前向传播中,每个隐藏单元都会接收相同的输入信号,这会导致所有隐藏单元学习相同的特征。是的,通常将神经网络的权重初始化为小的随机数是一种有效的策略,以避免对称性问题和梯度问题。⼀化后,我们可以有理由认为有⼀半的权重是正的,另⼀半是负的。神经⽹络计算出来的输出值是⼀样的,神经⽹络在进⾏反向传播算法计算出来的梯度值也⼀样,并且。
2023-10-23 10:13:34
145
原创 预训练与微调
用别人的参数、修改后的网络和自己的数据进行训练,使得参数适应自己的数据,这样⼀个过程,通常称之为微调(fine tuning).模型的微调举例说明:我们知道,CNN 在图像识别这⼀领域取得了巨⼤的进步。如果想将 CNN 应⽤到我们⾃⼰的数据集上,这时通常就会⾯临⼀个问题:通常我们的dataset 都不会特别⼤,⼀般不会超过 1 万张,甚⾄更少,每⼀类图⽚只有⼏⼗或者⼗⼏张。这时候,直接应⽤这些数据训练⼀个⽹络的想法就不可⾏了,因为深度学习成功的⼀个关键性因素就是⼤量带标签数据组成的训练集。
2023-10-22 11:16:56
95
原创 归一化理解
批归一化(Batch Normalization,通常简称为BN)是一种用于深度神经网络中的正则化和优化技术。它的主要目的是加速神经网络的训练,并改善模型的收敛性能。批归一化是由Sergey Ioffe和Christian Szegedy于2015年提出的,并已成为深度学习中的一种标准技术。批归一化的核心思想是在神经网络的每个隐藏层的输入上进行归一化操作,以使每层的输入分布稳定。对于每个训练批次,在每个特征维度上计算均值和方差。使用均值和方差对每个批次的输入进行归一化,使其具有零均值和单位方差。
2023-10-21 11:07:11
133
原创 Batch_Size理解
尽管Batch Size有很多优点,但选择适当的Batch Size仍然是一个有挑战性的任务,因为它依赖于数据集的大小、模型的架构、硬件资源和训练算法等因素。总之,增大 Batch Size 可以提高训练效率和性能,但需要权衡硬件资源、内存需求和模型性能,以确保选择一个合适的 Batch Size 值。:通常,较大的 Batch Size 需要更大的学习率,而较小的 Batch Size 需要更小的学习率。尝试不同的值,观察模型的性能,包括训练损失和验证损失,以及模型在测试数据上的性能。
2023-10-18 07:21:47
6558
原创 激活函数理解
Softmax函数是一种常用的激活函数,通常用于多类别分类问题,用于将原始分数(或称为logits)转化为类别概率分布。Softmax函数的定义如下:给定输入向量zz1z2znzz1z2zn,其中ziz_izi表示第iii个类别的原始分数或得分,Softmax函数将这些分数转化为类别的概率分布pp1p2pnpp1p2pnpiezi∑j1nezj,对于i12n。
2023-10-17 08:22:53
458
1
原创 超参数理解
超参数(Hyperparameters)是机器学习和深度学习模型中的参数,但与模型的权重和偏差不同,超参数是在训练模型之前设置的,而不是通过训练过程学习的。超参数对于模型的性能和行为起着关键作用,因此选择合适的超参数对于获得良好的模型性能至关重要。学习率(Learning Rate):学习率控制了模型在每次迭代中更新权重的幅度。太大的学习率可能导致模型不稳定,而太小的学习率可能导致模型收敛速度过慢。批量大小(Batch Size):批量大小定义了模型在每次迭代中使用的训练样本数量。
2023-10-16 07:32:06
5336
1
原创 网络操作与计算
在前向传播过程中,输入数据被传递给神经网络的各个层,每一层都执行一些线性变换(例如权重矩阵相乘)和非线性激活函数操作(例如ReLU、Sigmoid、Tanh等)。反向传播是神经网络训练中的关键步骤,用于更新神经网络的权重,以减小预测误差。一旦前向传播生成了预测结果,就需要计算模型的误差,然后将这个误差传递回网络,以调整权重,使网络的输出更加接近实际目标。通过不断迭代前向传播和反向传播过程,神经网络逐渐调整其权重和参数,以提高模型的性能,使其能够更好地预测输入数据的目标。这是深度学习中的一种监督学习方法。
2023-10-12 09:55:39
56
原创 深度学习基本概念
多层感知机的深度和宽度(每个隐藏层中的神经元数量)是可调整的超参数,它们的选择需要根据具体问题和数据集进行调整。感知机的一个重要性质是只能用于线性可分的问题,也就是说,只有当存在一个超平面能够将不同类别的样本完全分开时,感知机才能够学习并达到100%的分类准确率。多层感知机(Multilayer Perceptron,MLP)是一种人工神经网络模型,通常包括一个或多个隐藏层,用于处理各种复杂的机器学习任务,如分类、回归和模式识别。隐藏层的数量和每个隐藏层中的神经元数量是根据问题和模型设计来确定的。
2023-10-10 09:40:17
242
1
原创 降维和聚类理解
SOM不同于传统的聚类算法,它通过在高维输入空间中构建一个低维的自组织网络,将数据点映射到该网络上,并利用竞争学习来实现数据的聚类和可视化。需要注意的是,FCM的结果受到初始中心的选择、聚类数K的选择和停止条件的设置等参数的影响。:对于每个数据点和每个聚类中心,计算数据点属于该聚类的隶属度,通常使用模糊度量函数,如欧氏距离或马氏距离的函数形式。需要注意的是,SOM的性能和结果受到网络结构、学习率、停止条件等参数的选择影响,因此需要仔细调整这些参数以获得最佳的结果。这个过程被称为竞争学习。
2023-10-09 10:04:04
1177
1
原创 EM算法理解
它的基本思想是通过迭代的方式,交替进行两个主要步骤:E步(Expectation Step)和M步(Maximization Step),以最大化似然函数或对数似然函数。需要注意的是,EM算法不保证收敛到全局最优解,因为它的结果取决于初始参数的选择和算法的收敛性质。此外,EM算法对于高维参数空间和复杂的模型可能会收敛较慢,或者陷入局部最优解,因此在实际应用中需要谨慎使用,并可能需要结合其他优化技术或正则化方法。:在这一步,利用E步中得到的隐变量的期望信息,来最大化似然函数或对数似然函数关于参数的期望值。
2023-10-06 10:04:57
151
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人