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

硬件面试经典 100 题(71~90 题)

71、请问下图电路的作用是什么?

该电路实现 IIC 信号的电平转换(3.3V 和 5V 电平转换),并且是双向通信的。

上下两路是一样的,只分析 SDA 一路:

1) 从左到右通信(SDA2 为输入状态):
SDA1 为 3.3V 高电平时,Vgs=0,NMOS 管截止,SDA2 被电阻 Rp 拉高到 5V。
SDA1 为低电平 0V 时,Vgs=3.3V,NMOS 管导通,SDA2 为低电平。

2) 从右到左通信(SDA1 为输入状态):
SDA2 为高电平时,Vgs=0(S 极被 Rp 拉高至 3.3V),NMOS 管截止,SDA1 为 高电平 3.3V。SDA2 为低电平 0V 时,NMOS 管内部的二极管导通,S 极被拉低到零点几伏,Vgs 为高电平,NMOS 管导通,从而 SDA2 将 S 极电压拉得更低,直至 0V,SDA1 为低电平 0V。

陈氏解释

72、电路如下图所示。已知 U_{S}(t)=10\sqrt{2} cos \omega t(V )

求: (1)频率 ω 为何值时,电路发生谐振?电路的品质因数 Q 是多少?

      (2)电路谐振时, U_{L} 和 U_{C} 的有效值是多少?

(1) 电路发生谐振时,j\omega L=\frac{1}{(j\omega C)}\omega =\omega _{0}=\frac{1}{\sqrt{LC}}= \frac{1}{\sqrt{10^{-4}\times 10^{-8}}}rad/s=10^{6}

电路的品质因数 Q=\frac{\omega _{o}L}R=100

(2) U_{L}=U _{C}=QU_{S}=100\times 10V=1000V

陈氏解释

解题并不难,但是我对答案中提到的一些概念还是挺模糊的,遂解释如下:

一、电路谐振

1.1定义

电路谐振是指当一个 RLC 串联电路的电感(L)和电容(C)对特定频率的交流电源产生的感抗和容抗相等,且互相抵消时,电路的总阻抗变为电阻 R,从而电流达到最大值的现象。

1.2特性

  • 总阻抗最小: 在谐振频率下,电路的总阻抗只剩下电阻,感抗和容抗相互抵消。
  • 电流最大: 因为总阻抗最小,所以电流达到最大值。
  • 电感和电容的电压相等且相反: 虽然电感和电容的电压相等但方向相反,但它们的大小都可以远大于电源电压,这就是谐振升压效应

谐振升压效应顾名思义只发生在谐振电路中,可以是串联谐振电路也可以是并联谐振电路。

谐振时,尽管电源提供的电压 U_{S} 可能比较低,但电路中的电感和电容由于大电流的存在,会分别产生感抗和容抗。感抗和容抗之间的电压可以用以下公式表示:

U_{L}=I\cdot X_{L}=\frac{U_{S}}{R}\cdot \omega L

U_{C}=I\cdot X_{CC}=\frac{U_{S}}{R}\cdot \frac{1}{\omega C}

1.3作用

  • 滤波: 在滤波器中利用谐振可以选取特定频率的信号,滤掉其他频率。

    串联谐振电路: 当电路中的感抗和容抗相等且相反,电路达到谐振,此时总阻抗最小。对于输入的交流信号,只有在谐振频率附近的信号会通过电路(输入的信号就是电压,也就是说只有这个电压会引起电流的变化),其余的频率信号由于较高的阻抗而被抑制。因此,这种电路可以用作带通滤波器,允许特定频率的信号通过。

    并联谐振电路: 当电路达到谐振时,总阻抗最大,这意味着在谐振频率附近的信号不会通过电路(输入的信号就是电压,也就是说这个电压不会引起敏感的电流变化)。因此,在谐振频率附近的频率信号会被抑制,非谐振频率附近的信号会被放大或传输。这种电路可以用作带阻滤波器,阻止特定频率的信号通过。

  • 信号增强: 在接收机等电路中,谐振可以用于特定频率信号的放大。
    在接收机等电路中,利用谐振可以增强特定频率的信号。当电路在谐振频率上工作时,电感和电容的反应相互抵消,使得电路阻抗最低,电流最大。这种电流的增强作用可以放大接收到的信号,从而使特定频率的信号得到更强的响应。

二、品质因素 Q

品质因数(Q 因数)是电路谐振时能量储存与能量损失的比率。高 Q 值意味着电路谐振时,能量损失少,谐振效应更显著,频率选择性更高。

对于 RLC 串联电路存在公式:Q= \frac{\omega _{0}L}{R},其中 \omega _{0} 是谐振频率,L 是电感,R 是电阻。

公式的推导过程

1、谐振时电路中电磁场的总储能就是电感的总储能:LI_{0}^{2}

2、谐振时一周期内电路消耗的能量:RI_{0}^{2}T_{0}

3、品质因素:= 2\pi \frac{LI_{0}^{2}}{RI_{0}^{2}T_{0}}=\omega _{0} \frac{LI_{0}^{2}}{RI_{0}^{2}}=\frac{\omega _{0}L}{R}

三、有效值

有效值是指一个交流信号在一个周期内所表现的“平均”电力,至于答案中的计算公式不得不提到在串联谐振时品质因素的另一个定义:

Q=\frac{U_{L}}{U_{S}}Q=\frac{U_{C}}{U_{S}}

73、如果一个 BGA 封装的 CPU 芯片焊接到 PCB 上后,因为焊接不良的原因导致某些信号开路,并且某些信号与旁边的信号短路,请问如何定位这两种故障,把开路和短路的信号找出来?

因为一般 IC 的 IO 端口都包含了类似下图所示的保护二极管电路,所以可以用数字万用表的二极管档来判断端口特性。测试方法是:正极接地,负极接需要测试的信号焊盘。如果 PCB 焊盘开路,则万用表跟什么都没连接一样,读数没有任何变化, 万用表显示为“1”。如果有两个以上的信号短接在一起,则万用表的读数会比测量正常的信号的读数偏小,因为有两个以上的保护二极管电路并联到一起了。

陈氏解释

一、前提知识

万用表的二极管档:

连接测试线

  • 红色测试线(正极)连接到万用表的 “ VΩmA ” 端口。
  • 黑色测试线(负极)连接到 “ COM ” 端口。

测试二极管

  • 将红色测试线接到二极管的阳极(正极),黑色测试线接到阴极(负极)。
  • 在正确连接的情况下,万用表会显示出二极管的正向电压降(通常在0.6V到0.7V之间,具体值取决于二极管的类型)。这表明二极管是正常的。
  • 如果万用表显示“OL”(超出量程),说明二极管是开路或者方向接反。二极管如果反向连接时,万用表应显示“OL”。

二、针对这道题

上面的答案中接线方式与我给出的接线方式相反,我猜测可能是因为上述所测的二极管一个是有上拉一个是有下拉,可能需要根据这样的实际情况进行调整,其次接反也没有关系,只可能是万用表显示上多一个负号,所以上述测量方式也是可以可以说的通的。

74、请简述一下动圈式扬声器(喇叭)的工作原理,并画出动圈式扬声器的结构图。

工作原理:动圈式扬声器是利用电流在磁场中受到磁场力作用的原理制成的。如下图所示,绕在纸盆上的导线构成的线圈处于同心圆盘形(截面是 E 形)磁铁的磁场中,放大器送出的音频电流通过线圈,纸盆在磁铁的磁场驱动下就振动起来,纸盘上的鼓膜产生音频的振动,从而使鼓膜周围的空气振动起来而产生声音。

陈氏解释

基本结构

  • 音圈:动圈式扬声器内部有一个由细导线绕制而成的音圈,通常与扬声器的振膜相连。
  • 永久磁铁:扬声器内部有一个固定的永久磁铁,形成一个稳定的磁场。
  • 振膜:与音圈相连的振膜负责将音圈的振动转换为声波。振膜一般由轻质材料制成,以确保良好的声学性能。

工作过程

  • 电信号输入:音频信号从功放输入到扬声器的音圈上。音频信号是一个随时间变化的电流。
  • 电磁力作用:音圈位于永久磁铁的磁场中,当电流通过音圈时,会在磁场中产生一个电磁力。这一力会使音圈在磁场中移动。
  • 振膜振动:音圈的移动会带动连接在音圈上的振膜一起移动。振膜的振动将空气推拉,形成声波,从而产生声音。

75、为何有源压电式蜂鸣器只需要接上额定直流电压即可发声?这种蜂鸣器可以接音频输出信号作为普通喇叭用吗,为什么?

有源压电式蜂鸣器内部有振荡电路(由晶体管或集成电路组成)和驱动电路,所以只需提供直流电源即可发声。又因为内部振荡电路的振荡频率是固定的,所以只能发出一种声音,不能用于普通喇叭电路。

陈氏解释

有源压电式蜂鸣器的工作原理

  1. 内部振荡电路

    • 有源压电式蜂鸣器内部包含一个振荡电路,这个电路可以产生固定频率的振荡信号。这个振荡电路的作用是产生驱动压电元件所需的高频信号。
    • 当你将额定的直流电压接到有源蜂鸣器的电极时,内部的振荡电路会自动启动,并生成所需的高频信号。
  2. 压电元件的作用

    • 有源蜂鸣器内部的压电元件(通常是压电陶瓷片)会对这个高频信号做出响应。压电元件在电压的作用下会发生机械变形,从而产生声波。
    • 这个声波会通过蜂鸣器的外壳发出,从而实现声音的发出。

76、如下左图是有源电磁式蜂鸣器的驱动电路,右图是有源压电式蜂鸣器的驱动电路。请问为什么左图需要二极管而右图不需要,左图二极管的作用是什么?

因为电磁式蜂鸣器内部有线圈,在三极管关断的瞬间,线圈会产生一个反向的电动势(图中方向是下正上负),二极管的作用是给线圈提供一个电流的泄放通路,不至于对三极管造成损害。右图因为压电式蜂鸣器是靠压电陶瓷片的振动发声,内部没有线圈等感性原件,所以不需要放电二极管。

77、请解释一下什么是 Setup-Time 和 Hold-Time,什么是 Setup-Time 裕量和 Hold-Time 裕量。

Setup-Time 和 Hold-Time 是芯片对输入信号和参考时钟信号之间的时间要求。Setup-Time 是指参考时钟沿到来之前输入信号保持稳定不变的时间,Hold-Time 是指参考时钟沿过后输入信号保持稳定不变的时间。如果信号的 Setup-Time 和 Hold-Time 不满足要求,输入信号将不能打入触发器。如果输入信号在参考时钟沿前后稳定的时间均超过 Setup-Time 和 Hold-Time,那么超过量就分别被称为 Setup-Time 裕量和 Hold-Time 裕量。如下图,t_{su} 为 Setup-Time,t_{h} 为 Hold-Time:

78、请用 D 触发器画一个二分频电路。

陈氏解释

一、由两个或非门构成的 SR 锁存器

 

二、由两个与非门构成的 SR 锁存器

三、电平触发的 SR 触发器

四、电平触发的 D 触发器

电瓶触发的 SR 触发器有两个信号输入端, s 和r,但是在实际情况下,很多地方它都只有一个输入信号,那么我们为了能够适应单端输入信号的需求,需要对前边讲到的电瓶触发的 SR 触发器做一些改进,用一个输入信号 d 去代替原来的 s 和 r 两个输入信号。

于是我们就需要在电路结构上做一些改变,仍然是之前讲到的电瓶触发的 SR 触发器,右侧还是我们的基本 SR 储存器,由两个与非门构成的,左侧仍然是输入控制电路,只不过现在的输入信号只有一个d,那么怎么接呢?我们只需要把 d 信号直接接到输入控制电路与非门的 s 输入端, d 经过反向器变成 d 非街道输入控制电路 r 的输入端,于是就构成了由电瓶触发的 d 触发器。下面就来分析一下该电路的一个工作原理。

首先看时钟信号为 0 的情况,当时钟信号为 0 意味着输入控制电路的两个输入端都是0,上方的与非门输入是零和 d 做一个与非运算,零和 d 座与非之后应该输出为一。下边是零和d,非做与非运算,由于已经有一个 0 了, 0 和任何量做与非运算输出都唯一。因此的话,对于右侧的基本的 s r 触发器来说,输入的 s 非和 r 非均等于一由两个与飞门构成的 SR 储存器,它要求的是高电瓶是无效的,低电瓶有效。所以说当前情况下意味着我们右侧的 SR 储存器是既不至 0 也不至1,也就是保持原状态不变,所以说在时钟信号为 0 的时候,输出保持不变,当时钟信号为一的时候,我们要根据 d 等于 0 和 d 等于一两种情况分别讨论。始终信号为 1D 等于0,意味着上边的输入控制电路的与非门应该是 0 和一做与非运算对应的输出应该是 s 非等于一,下方则是时钟信号 e 和 d 非 e 这两个 e 做与非运算输出的则是 r 非等于0。我们讲到了后边的 SR 储存器要求低,电瓶有效,目前情况下是 RC 等于0,也就是 RESET 是有效信号,它是一个自邻操作,因此在当前情况下 q 输出就变为 0 了,应该说是 q 新的距离。另外一种情况则是 d 等于 e 的时候,我们再把对应的输入控制电路标一下,上方则是两个一做与非运算对应的输出应该是0。下方则是 0 和一做与非运算对应的输出 r 非等于一低电瓶有效,意味着 s 非等于 0 是有效的输入信号。

s 是 set 字数,或者说字一,也就是说电路的下一个状态输出会被置为e,因此 q 心应该是等于一的。我们就会发现当前情况下 q 心等于 d 等于一。我们把这两种情况去组合一下,就会发现当时钟信号为一的时候,输出的 q 星应该与输入的 d 是相等的,也就是 q 星等于d。

接下来我们就可以写出由电瓶触发的 d 触发器对应的特性表和特性方程。由于我们是在 SR 储存器的基础之上做了一个改进,所以说直接在 SR 储存器对应的特性表上进行操作即可。由于 d 和 d 非必然是一个0,因此的话我们可以把上方同时为 0 的这种情况删掉,这是不可能出现的。最下方 s 和 r 同时唯一的情况也删掉,因为 d 和 d 非不可能同时唯一剩下的则是我们电瓶触发的 d 触发器的特性表。为了能够得到特性方程,我们还是把对应的等于一的情况提取出来。时钟信号等于一的时候,它是一个正常的工作状态,所以说对应的应该是等于一,这个是D0,是 d 非的非仍然是一个d。

所以说这两个实际上是同一个量,都是一个d, q 非下边这个左边是 d 和 q 上边这两个时钟信号为 0 的时候,它是一个保持不变的状态,所以说这个部分我们不需要考虑到特性方程里边,因为它是一个截止状态。所以说最后只有这两项合并完就只剩下了一个d,也就是说电瓶触发的 d 触发器,它的逻辑函数或者说它的特性方程就是 q 星等于d,相当于是说在我们的电瓶信号为有效输入信号的时候,输入和输出之间是一个同步的关系,输出会和输入保持原状态相同的一个状态。

在实际设计电路时候,我们仍然是以图形符号去表示电瓶触发的低触发器右侧则是对应的图形符号。我们可以看图形符号的框里边写了一个e, d 代表的就是 d 触发器。接下来再看输入端是否有圈,没有圈意味着是高电频有效,也就是现在是一个高电频有效的 d 触发器。根据电瓶是高电瓶有效还是低电瓶有效,我们就可以确定输入端究竟应该输入什么信号是有效的。现在是高电频有效,所以说时钟信号 clock 等于一的时候,它是一个正常的 d 触发器的功能,输出和输入之间是保持同步的,时钟信号为 0 的时候是一个无效时钟信号,那么输出保持原状态不变,最后则是 d 触发器的 d 输入端。实际上我们在很多情况下可以拿 c MOS 的传输门去构建电瓶触发的 d 触发器,比如说现在这个图则是用传送门去构成的。

由于 d 触发器,它的输入和输出是一个同步的关系,也就是说在有效电瓶期间,输入信号和输出信号它们之间是使从相同的,所以该电路也被称之为透明的地形储存器。我们来分析一下该电路它的一个工作状态是不是实现了输入和输出同步的功能,或者说该电路是不是我们讲到的电瓶触发的低触发器?仍然是从时钟信号来进行分析,当时钟信号为 0 的时候。时钟信号经过一个反向器得到c, c 等于一。再经过一个反向器得到 c 等于0,那么这两个 c 和 c 非实际上是传输门的一个控制信号,就控制两个传输门 T G 1 和 T G 2 它的一个工作状态。在当前情况下我们就会发现上边 c 等于0,下方 c 非等于一传输门,下方是带圈的,意味着低电瓶有效。上边没有圈,意味着高电瓶有效。

而现在给的控制信号则是与要求的控制信号正好相反,于是 T G 1 它是一个截止的状态,一旦 TG 1 截止,那么输入的地信号就没有办法进入我们的这个电路,于是在电路内部, q 飞和 q 它们之间是一个内循环,导致输出保持原状态不变。当时钟信号等于一的时候,对应的 c 非就等于 0 了, c 等于一,我们就会发现上边的传输门下边给的 CC 是0,上边给的 c 是一,下边低电瓶有效给0,上方高电瓶有效给一,那么该传输门它是一个导通的状态。也就是说 d 信号是可以正常进来的。而下方的传输门我们就会发现 CC 上边是0,下边 c 是一,而下边有圈,要求是 0 的时候有效,意味着该传输门是一个截止的状态,也就是该反馈回路不起作用了,最终就可以看到 d 这个信号可以经过 TG 1 进入我们的电路,然后经过反向器得到 q 飞,再经过一个反向器得到q。也就是说 d 飞,再飞一次变成 d 输出就是 q 心等于d。他跟我们前边讲到的电瓶触发的 d 触发器的功能是完全一样的,所以说由 c MOS 的传输门构成的这个电路也是一个电瓶触发的地触发器。

最后我们来画一下电瓶触发的 d 触发器的电压波形图。在画电压波形图的时候,我们要记住电瓶触发的 d 触发器它的一些特点,电瓶触发的 d 触发器首先是要求电瓶信号的高低来控制工作状态,低电瓶意味着输出保持不变,高电频的时候导通输入和输出保持同步。所以说我们按照这个规律去画相应的电压波形。当时钟信号为 0 的时候意味着保持不变。由于初始的时候 q 等于0, q 非等于一,所以说该在该阶段 q 和 q 非一个为 0 保持不变,一个为一保持不变。

接下来进入了时钟信号为高电频的时候,它是一个有效的时钟信号,那么 d 触发器在有效电瓶的时候,它是一个输入和输出同步的情况,也就是对应的输出要和输入一样才行,因此的话我们只需要把 d 触发器这个先高电瓶再低电瓶直接写下来,就是对应的输出 q 的电压波形,而 q 飞正好是 q 的一个取反。所以说它在 q 等于一的时候等于0,在 q 等于 0 的时候它等于一,正好是跟 q 相反的一个波形。

接下来又进入了时钟,信号为低电瓶时候,相当于是一个保持不变的情况,所以我们只需要把对应的 q 和 q 非保持原状态不变往后画就可以了。之后再进入了第四个阶段,时钟信号又等于一了,对应的仍然是一个输出跟随的状态,我们只需要把 d 信号它的电压波形直接抄下来,就是输出 q 的电压波形。然后再取一个反得到 q 飞的电压波形,最后又是一个低电瓶的时钟信号,对应的是保持原状态不变,所以说原来的 q 等于高电瓶,我们只需要保持不变往后画就可以了。 q 飞保持低电瓶不变,往后画就可以了。于是就得到了输出的 q 和 q 飞的电压波形了。

五、边沿触发的 D 触发器

79、下图是一个传输线串联匹配的模型,假设驱动端 A 的输出阻抗 R_{0} 为 10~20 欧姆(输出高电平和输出低电平时输出阻抗不 一样),传输线特征阻抗 Z_{0} 等于 50 欧姆,请问串联匹配电阻 R_{Ts} 应该如何取值?

R_{Ts}=Z_{0}-R_{0},所以 R_{Ts} 取 30~40 欧姆,可以取标称值 33 欧姆。

陈氏解释

80、请分析下图三极管单管放大电路中的二极管 VD1 的作用。

二极管 VD1 起温度补偿作用:PN 结的导通压降随温度升高而略有下降,如果没有 VD1 温度补偿二极管,放大电路会出 现温漂现象,电路输出电压会出现漂移。如果没有 VD1,温度升高的时候三极管的 Vbe 电压降低,但 Vb 不变,基极电流 Ib 增大;反之则温度降低,Ib 减小。加入 VD1 后可抵消三极管 Vbe 的变化,稳定 Ib 电流。

陈氏解释

81、请问下图电路中二极管 D1、D2 有什么作用?

在 Vi 输入电压接近于零时,D1、D2 给三极管 T1、T2 提供偏置电压,使 T1、T2 维持导通,以消除交越失真。

陈氏解释

82、请画出 RC 微分电路和 RC 积分电路。

陈氏解释

83、请画出交流降压和桥式整流电路。

陈氏解释

84、请画出一个晶体管级的差分放大电路。

陈氏解释

85、请画出一个 220V 交流电源的 EMI 滤波器的基本电路图。

陈氏解释

86、下图是反激式开关电源的局部原理图,请给反激式变压器加上尖峰吸收电路。

陈氏解释

87、如图所示为恒流源电路,已知稳压管工作在稳压状态,试求负载电阻中的电流 IL。

I_{L}=\frac{6V}{10K}=0.6mA

陈氏解释

88、请画出运算放大器构成的反相放大器、同相放大器、电压跟随器、反相加法器、减法器、微分器和积分器电路。

陈氏解释

89、下图运放电路中的 R1、R2 和 C1 作用是什么?电路的放大倍数是多少?

 R1、R2 和 C1 的作用是提供 1/2 的电源电压 3V 作为参考电压。 电路的放大倍数是-2。

陈氏解释

90、由理想运算放大器组成的晶体管电流放大系数 \beta 测试电路如图所示,设晶体管的 U_{BE}=0.7V

(1) 求出晶体管的 b、c、e 各极的电位。

(2) 若电压表的读数为 200mV,试求出晶体管的 β。

1)U_{b}=0VU_{c}=6VU_{e}=0.7V

2)I_{b}=\frac{u_{o}}{R _{2}}=\frac{0.2}{10}=0.02mAI_{C}=\frac{12-6}{6}=1mA\beta =\frac{1mA}{0.02mA}=50

陈氏解释


第 78 题参考:数字电子技术基础 5.5 电平触发的D触发器_哔哩哔哩_bilibili

相关文章:

硬件面试经典 100 题(71~90 题)

71、请问下图电路的作用是什么? 该电路实现 IIC 信号的电平转换(3.3V 和 5V 电平转换),并且是双向通信的。 上下两路是一样的,只分析 SDA 一路: 1) 从左到右通信(SDA2 为输入状态&…...

【git】代理相关

问题: 开启了翻墙代理工具,拉取代码时报错:fatal: 无法访问 xxxx : Failed to connect to github.com port 443: 连接超时 解决: 0,取消代理仍然无法拉取 1,查看控制面板-网络与Internet-代理&#xff…...

golang gin框架中创建自定义中间件的2种方式总结 - func(*gin.Context)方式和闭包函数方式定义gin中间件

在gin框架中,我们可以通过2种方式创建自定义中间件: 1. 直接定义一个类型为 func(*gin.Context)的函数或者方法 这种方式是我们常用的方式,也就是定义一个参数为*gin.Context的函数或者方法。定义的方法就是创建一个 参数类型为 gin.Handler…...

Linux高级编程 8.13 文件IO

一、文件IO 操作系统为了方便用户使用系统功能而对外提供的一组系统函数。称之为 系统调用(unistd.h) 其中有个 文件IO,一般都是对设备文件操作,当然也可以对普通文件进行操作。 这是一个基于Linux内核的没有缓存的IO机制 文件IO特性&…...

【k8s】ubuntu18.04 containerd 手动从1.7.15 换为1.7.20

ubutnu18.04之前手动安装了1.7.15现在下载1.7.20containerd-1.7.20-linux-amd64.tar.gz root@k8s-worker-i58265u:/home/zhangbin# root@k8s-worker-i58265u:/home/zhangbin# https://github.com/containerd/containerd/releases/download/v1.7.20/containerd-1.7.20-linux-am…...

常用浮动方式

目录 一、标准流 二、float浮动 三、 flex浮动 3.1flex组成 3.2 主轴对齐方式 3.3侧轴对齐方式 3.4修改主轴方向 3.5弹性盒子换行 3.6行对齐方式 一、标准流 标签在网页中的默认排布规则 例如: 块元素独占一行、行内元素可以一行显示多个 二、float浮动 让块…...

设计模式反模式:UML常见误用案例分析

文章目录 设计模式反模式:UML常见误用案例分析1. 反模式概述2. 反模式的 UML 图示误用2.1 God Object 反模式2.2 Spaghetti Code 反模式2.3 Golden Hammer 反模式2.4 Poltergeist 反模式 3. 总结 设计模式反模式:UML常见误用案例分析 在软件工程领域&am…...

Python编码系列—Python SQL与NoSQL数据库交互:深入探索与实战应用

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…...

贪心算法---跳跃游戏

题目: 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 思路…...

利用EditPlus进行Json数据格式化

利用EditPlus进行Json数据格式化 git下载地址:https://github.com/michael-deve/CommonData-EditPlusTools.git (安装过editplus的直接将里面的json.js文件复制走就行) 命令:Cscript.exe /nologo “D:\Program Files (x86)\EditPlus 3\json.js” D:\P…...

xss.function靶场(easy)

文章目录 第一关Ma Spaghet!第二关Jefff第三关Ugandan Knuckles第四关Ricardo Milos第五关Ah Thats Hawt第六关Ligma第七关Mafia第八关Ok, Boomer 网址&#xff1a;https://xss.pwnfunction.com/ 第一关Ma Spaghet! 源码 <!-- Challenge --> <h2 id"spaghet&qu…...

【LLM入门】Let‘s reproduce GPT-2 (124M)【完结,重新回顾一下,伟大!】

文章目录 03:43:05 SECTION 4: results in the morning! GPT-2, GPT-3 repro03:56:21 shoutout to llm.c, equivalent but faster code in raw C/CUDA【太牛了ba】03:59:39 summary, phew, build-nanogpt github repo 03:43:05 SECTION 4: results in the morning! GPT-2, GPT-…...

c语言----取反用什么符号

目录 前言 一、逻辑取反 二、按位取反 三、应用场景 前言 在C编程语言中&#xff0c;取反使用符号!表示逻辑取反&#xff0c;而使用~表示按位取反。 其中&#xff0c;逻辑取反!是将表达式的真值&#xff08;非0值&#xff09;转换为假&#xff08;0&#xff09;&#xff0c…...

【html+css 绚丽Loading】 - 000003 乾坤阴阳轮

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽Loading&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495…...

【Web】巅峰极客2024 部分题解

目录 EncirclingGame GoldenHornKing php_online admin_Test EncirclingGame 玩赢游戏就行 GoldenHornKing 利用点在传入的app 可以打python内存马 /calc?calc_reqconfig.__init__.__globals__[__builtins__][exec](app.add_api_route("/flag",lambda:__i…...

在AMD GPU上进行Grok-1模型的推理

Inferencing with Grok-1 on AMD GPUs — ROCm Blogs 我们展示了如何通过利用ROCm软件平台&#xff0c;能在AMD MI300X GPU加速器上无缝运行xAI公司的Grok-1模型。 介绍 xAI公司在2023年11月发布了Grok-1模型&#xff0c;允许任何人使用、实验和基于它构建。Grok-1的不同之处…...

在亚马逊云科技上部署开源大模型并利用RAG和LangChain开发生成式AI应用

项目简介&#xff1a; 小李哥将继续每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿AI技术解决方案&#xff0c;帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS AI最佳实践&#xff0c;并应用到自己的日常工作里。 本次介绍的是如何在亚马逊云科技上利用Sag…...

Spring——Bean的生命周期

Bean的生命周期牵扯到Bean的实例化、属性赋值、初始化、销毁 其中Bean的实例化有四种方法、构造器实例化、静态工厂、实例工厂、实现FactoryBean接口 对于Bean的生命周期我们可以在Bean初始化之后、销毁之前对Bean进行控制 两种方法&#xff1a; 一、配置 1、在Bean的对象…...

云计算实训30——自动化运维(ansible)

自动化运维 ansible----自动化运维工具 特点&#xff1a; 部署简单&#xff0c;使用ssh管理 管理端与被管理端不需要启动服务 配置简单、功能强大&#xff0c;扩展性强 一、ansible环境搭建 准备四台机器 安装步骤 mo服务器&#xff1a; #下载epel [rootmo ~]# yum -y i…...

网络性能优化:从问题诊断到解决方案

网络性能优化是确保网络高效、稳定运行的关键过程&#xff0c;它通过改进网络设备、协议和配置&#xff0c;以提高网络吞吐量、降低延迟并提升用户体验。在网络性能优化的全过程中&#xff0c;从问题诊断到解决方案的实施&#xff0c;需要经过一系列详细的步骤和策略。本文将从…...

深度学习10--强化学习

强化学习(增强学习、再励学习、评价学习简称RL)是近年来机器学习领域最热门的方向之一&#xff0c;是实现通用人工智能的重要方法之一。本章将通俗易懂地讲一下强化学习中的两个重要的模型DQN 和DDPG。 马尔可夫决策过程(Markov Decison Process,MDP)包括两个对象&#xff…...

SSA-SVM多变量回归预测|樽海鞘群优化算法-支持向量机|Matalb

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、算法介绍&#xff1a; 四、完整程序下载&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平台编译&a…...

KEEPALIVED高可用集群知识大全

目录 一、KEEPALIVED高可用集群简介 1、Keepalived 高可用集群的工作原理 2、Keepalived 高可用集群的作用 二、KEEPALIVED部署 1、网络配置 2、软件安装与启动 3、配置虚拟路由器 4、效果实现 三、启用keepalived日志功能 四、KEEPALIVED的几种工作模式 1、KEEPALI…...

JavaWeb系列三: JavaScript学习 下

JavaScript学习 数组学习数组定义数组使用和遍历 js函数快速入门函数定义方式方式1: function关键字定义函数方式2: 将函数赋给变量 js函数注意事项和细节js函数练习 js自定义对象方式1: Object形式方式2: {}形式 事件基本介绍事件分类onload加载完成事件onclick单击事件onblur…...

web开发,过滤器,前后端交互

目录 web开发概述 web开发环境搭建 Servlet概述 Servlet的作用&#xff1a; Servlet创建和使用 Servlet生命周期 http请求 过滤器 过滤器的使用场景&#xff1a; 通过Filter接口来实现&#xff1a; 前后端项目之间的交互&#xff1a; 1、同步请求 2、异步请求 优化…...

CUDA-MODE 第一课课后实战(下)

我的课程笔记&#xff0c;欢迎关注&#xff1a;https://github.com/BBuf/how-to-optim-algorithm-in-cuda/tree/master/cuda-mode CUDA-MODE 第一课课后实战&#xff08;下&#xff09; Nsight Compute Profile结果分析 继续对Nsight Compute的Profile结果进行分析&#xff0…...

PostgreSQL数据库内核(三):缓冲区管理器

文章目录 共享缓冲区基础知识逻辑读和物理读LRU算法和CLOCK时钟算法 共享缓冲区管理器结构共享缓冲表层共享缓冲区描述符层共享缓冲页层 共享缓冲区管理器工作流程初始化缓冲区读缓冲区淘汰策略共享缓冲区锁 共享缓冲区基础知识 通常数据库系统都会在内存中预留buffer缓冲空间…...

[log4cplus]: 快速搭建分布式日志系统

关键词: 日志系统 、日志分类、自动分文件夹、按时间(月/周/日/小时/分)轮替 一、引言 这里我默认看此文的我的朋友们都已经具备一定的基础,所以,我们本篇不打算讲关于log4cplus的基础内容,文中如果涉及到没有吃透的点,需要朋友们动动自己聪明的脑袋和发财的手指,进一…...

redis I/O复用机制

I/O复用模型 传统阻塞I/O模型 串行化处理&#xff0c;就是要等&#xff0c;假如进行到accept操作&#xff0c;cpu需要等待客户端发送的数据到tcp接收缓冲区才能进行read操作&#xff0c;而在此期间cpu不能执行任何操作。 I/O复用 用一个进程监听大量连接&#xff0c;当某个连…...

Adobe PhotoShop - 制图操作

1. 排布照片 菜单 - 视图 - 对齐&#xff1a;打开后图层将会根据鼠标的移动智能对齐 菜单 - 视图 - 标尺&#xff1a;打开后在页面出现横纵标尺&#xff0c;方便图层的对齐与排列 2. 自动生成全景照 在日常处理中&#xff0c;我们常常想要将几张图片进行拼接获得一张全景图&…...

Mysql 中的Undo日志

在 MySQL 的 InnoDB 存储引擎中&#xff0c;Undo Log 是用于实现数据库事务的回滚功能的一种日志。Undo Log 记录了对数据的修改&#xff0c;以便在事务出现问题时可以恢复到之前的状态。下面将介绍 Undo Log 的结构和样本数据。 Undo Log 的基本概念 目的: Undo Log 的主要目…...

虹软科技25届校招笔试算法 A卷

目录 1. 第一题2. 第二题3. 论述题 ⏰ 时间&#xff1a;2024/08/18 &#x1f504; 输入输出&#xff1a;ACM格式 ⏳ 时长&#xff1a;2h 本试卷分为不定项选择&#xff0c;编程题&#xff0c;必做论述题和选做论述题&#xff0c;这里只展示编程题和必做论述题&#xff0c;一共三…...

C++ | Leetcode C++题解之第345题反转字符串中的元音字母

题目&#xff1a; 题解&#xff1a; class Solution { public:string reverseVowels(string s) {auto isVowel [vowels "aeiouAEIOU"s](char ch) {return vowels.find(ch) ! string::npos;};int n s.size();int i 0, j n - 1;while (i < j) {while (i < …...

Kubernetes拉取阿里云的私人镜像

前提条件 登录到阿里云控制台 拥有阿里云的ACR服务 创建一个命名空间 获取仓库的访问凭证&#xff08;可以设置固定密码&#xff09; 例如 sudo docker login --usernameyourAliyunAccount registry.cn-guangzhou.aliyuncs.com 在K8s集群中创建一个secret 使用kubectl命令行…...

Leetcode每日刷题之118.杨辉三角

1.题目解析 杨辉三角作为一个经典的数学模型&#xff0c;其基本原理相信大家已经耳熟能详&#xff0c;这里主要是在学习了vector之后&#xff0c;对于本题有了新的解法&#xff0c;更加简便。关于vector的基本使用详见 面向对象程序设计(C)之 vector&#xff08;初阶&#xff0…...

【ARM 芯片 安全与攻击 5.2 -- 芯片中侧信道攻击与防御方法介绍】

文章目录 什么是 Speculation Barriers?如何使用 Speculation Barriers?什么是 PAN?如何启用 PAN?使用 PAN 保护操作系统Spectre 攻击防御示例Meltdown 攻击防御示例Summary什么是 Speculation Barriers? Speculation Barriers,是一种防止处理器在投机执行中泄漏敏感信息…...

XSS-games

XSS 1.XSS 漏洞简介2.XSS的原理3.XSS的攻击方式4.XSS-GAMESMa SpaghetJefffUgandan KnucklesRicardo MilosAh Thats HawtLigmaMafiaOk, BoomerWW3svg 1.XSS 漏洞简介 ​ XSS又叫CSS&#xff08;Cross Site Script&#xff09;跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Sc…...

日撸Java三百行(day25:栈实现二叉树深度遍历之中序遍历)

目录 一、栈实现二叉树遍历的可行性 二、由递归推出栈如何实现中序遍历 1.左子树入栈 2.根结点出栈 3.右子树入栈 4.实例说明 三、代码实现 总结 一、栈实现二叉树遍历的可行性 在日撸Java三百行&#xff08;day16&#xff1a;递归&#xff09;中&#xff0c;我们讲过…...

【vue讲解:ref属性、动态组件、插槽、vue-cli创建项目、vue项目目录介绍、vue项目开发规范、es6导入导出语法】

0 ref属性&#xff08;组件间通信&#xff09; # 1 ref属性放在普通标签上<input type"text" v-model"name" ref"myinput">通过 this.$refs[myinput] 拿到的是 原生dom对象操作dom对象&#xff1a;改值&#xff0c;换属性。。。# 2 ref属…...

ubuntu:最新安装使用docker

前言 系统&#xff1a;ubuntu 22.04 desktop 目的&#xff1a;安装使用docker 安装小猫猫 没有安装包的&#xff0c;可以自己去瞅瞅&#xff0c;这里不提供下载方式 sudo dpkg -i ./cat-verge_1.7.5_amd64.deb 在应用里&#xff0c;打开这个软件&#xff0c;并开启系统猫猫 配…...

Linux ssh 免密失效

sudo chmod -R 777 /home/xxx sudo chown -R xxx:xxx /home/xxx 为什么我输入这两条指令后&#xff0c;ssh免密失效了&#xff1f; 当你使用 sudo chmod -R 777 /home/xxx 和 sudo chown -R xxx:xxx /home/xxx 这两条指令后&#xff0c;可能会导致 SSH 免密登录失效的原因有以…...

k8s上部署ingress-controller

一、安装helm仓库 # helm pull ingress-nginx/ingress-nginx 二、修改 三、运行 # kubectl label nodes node01.110111.cn ingresstrue# kubectl label nodes node02.110112.cn ingresstrue# helm upgrade --install ingress-nginx -n ingress-nginx . -f values.yaml 四、检…...

Android 13 about launcher3 (1)

Android 13 Launcher3 android13#launcher3#分屏相关 Launcher3修改 wm density界面布局不改变 /packages/apps/Launcher3/src/com/android/launcher3/InvariantDeviceProfile.java Launcher的默认配置加载类&#xff0c;通过InvariantDeviceProfile方法可以看出&#xff0c;…...

服务器数据恢复—raid5阵列热备盘未全部启用导致阵列崩溃的数据恢复案例

服务器存储数据恢复环境&#xff1a; 一台EMC某型号存储中有一组RAID5磁盘阵列。该raid5阵列中有12块硬盘&#xff0c;其中2块硬盘为热备盘。 服务器存储故障&#xff1a; 该存储raid5阵列中有两块硬盘离线&#xff0c;只有1块热备盘启用替换掉其中一块离线盘&#xff0c;另外…...

HTML—css

css概述 C S S 是 C a s c a d i n g S t y l e S h e e t s &#xff08; 级 联 样 式 表 &#xff09; 。 C S S 是 一 种 样 式 表 语 言 &#xff0c; 用 于 为 H T M L 文 档 控 制 外 观 &#xff0c; 定 义 布 局 。 例 如 &#xff0c; C S S 涉 及 字 体 、 颜 色 、…...

IO多路复用(Input/Output Multiplexing)

IO多路复用(Input/Output Multiplexing) 是一种在单个线程中管理多个输入/输出通道的技术。它允许一个线程同时监听多个输入流(如网络套接字、文件描述符等),并在有数据可读或可写时进行相应的处理,而不需要为每个通道创建一个独立的线程。这种技术主要用于处理并发连接…...

android与pc 用socket无线通信

今天做一个android与pc通信的小demo&#xff08;不是wifi&#xff0c;蓝牙&#xff09;android为客户端&#xff0c;pc为服务器&#xff08;一对多&#xff09;。pc代码很简单&#xff0c;android客户端代码也不难&#xff0c;但是有一点不太明白就是在客户端向服务器发送消息时…...

【流程引擎】springboot完美集成activiti工作流方案

前言 activiti工作流引擎项目&#xff0c;企业erp、oa、hr、crm等企事业办公系统轻松落地&#xff0c;一套完整并且实际运用在多套项目中的案例&#xff0c;满足日常业务流程审批需求。 项目源码配套文档获取&#xff1a;本文末个人名片直接获取。 一、项目形式 springboot…...

11、常见API

01、String类概述及构造方法简介 一、字符串 由多个字符组成的一串数据 二、简介 String类代表的是一个字符串。字符串对象在开发中是最常见的。为了方便我们对字符串进行操作&#xff0c;java就把字符串用对象进行了封装&#xff0c;这个封装就是String类 三、String类的构造方…...

渗透第三次作业

目录 第一关Ma Spaghet! 第二关Jefff&#xff1a; 第三关&#xff1a;Ugandan Knuckles 第四关&#xff1a;Ricardo Milos 第五关&#xff1a; Ah Thats Hawt 第一关Ma Spaghet! <h2 id"spaghet"></h2> <script>spaghet.innerHTML (new URL(…...