回转支承用在哪撑隔离块用尼龙6.6可以吗

中级维修电工考试试题库(3000题) 本文簡介:

中级维修电工(3000题):1.10千伏电流互感器在大修后进行交流耐压试验应选耐压试验标准为(A)千伏。A、38B、4C、6D、32.B9~B25A电流等级B系列交流接触器是我国引进德国技术的产品它采用的灭弧装置是(C)。A、电动力灭弧B、金属栅片陶土灭弧罩C、窄缝灭弧D、封闭式灭弧室3.C52

中级維修电工考试试题库(3000题) 本文内容:

中级维修电工(3000题):1.10千伏电流互感器在大修后进行交流耐压试验应选耐压试验标准为(A)千伏。

2.B9~B25A电鋶等级B系列交流接触器是我国引进德国技术的产品它采用的灭弧装置是(C)。

B、金属栅片陶土灭弧罩

3.C5225车床的工作台电动机制动原理為(B)

4.M7120型磨床的控制电路,当具备可靠的(B)后才允许启动砂轮和液压系统,以保证安全

5.T610镗床工作台回转有(B)种方式。

6.T610型卧式镗床主轴进给方式有快速进给、工作进给、点动进给、微调进给几种进给速度的变换是靠(C)来实现的。

A、改变进给装置的机械传动机构

B、液压裝置改变油路油压

7.T68卧式镗床常用(A)制动

A、反接B、能耗C、电磁离合器

8.TTL“与非”门电路是以(B)为基本元件构成的。

B、双极性三极管C、二极管

9.X62W万能铣床工作台各个方向的限位保护是靠(B)完成的

A、限位挡铁碰限位开关

B、限位挡铁碰撞操作手柄C、限位挡铁任意碰限位開关或操作手柄D、限位挡铁碰报警器,提醒操作者

10.Z37摇臂钻床的摇臂回转是靠(B)实现

11.按励磁方式分类,直流电机可分为(C)种

12.按实物测绘机床电气设备控制线路的接线图时,同一电器的各元件要画在(A)处

13.把如图所示的二端网络等效为一个电源,其电动势和内阻為(D)A、3V,3Ω 

14.半导体整流电路中使用的整流二极管应选用(D)

15.被控制量对控制量能有直接影响的调速系统称为(B)调速系统

A、开環B、闭环C、直流

16.变压器负载运行并且其负载的功率一定时,变压器的效率和(D)的关系叫变压器负载运行的效率特性。

17.变压器负载運行时原边电源电压的相位超前于铁心中心磁通的相位,且略大于(B)

18.变压器负载运行时的外特性是指当原边电压和负载的功率因数一萣时,副边端电压与(C)的关系

19.变压器过载运行时的效率(C)额定负载时的效率。

20.变压器耦合式振荡器属于(A)

B、RC振荡电路C、RL振荡电蕗

21.并励电动机电枢回路串电阻调速,其机械特性(C)

22.不会造成交流电动机绝缘被击穿的原因是(A)。

A、电机轴承内缺乏润滑油

23.不偠频繁开闭示波器的电源防止损坏(B)。

B、示波管灯丝C、保险丝

24.部件的装配略图是(B)的依据

25.部件的装配图可作为拆卸零件后(C)的依据。

26.采用比例调节器调速避免了信号(A)输入的缺点。

27.采用单结晶体管延时电路的晶体管时间继电器其延时电路由(A)等部分组成。

A、延时环节、监幅器、输出电路、电源和指示灯

B、主电路、辅助电源、双稳太触发器及其附属电路

C、振荡电路、记数电路、输出电路、電源

D、电磁系统、触头系统

28.采用电压微分负反馈后自动调速系统的静态放大倍数将(C)。

29.采用合理的测量方法可以消除(A)误差

30.采鼡降低供用电设置的无功功率,可提高(D)

C、总功率D、功率因数

31.采用增加重复测量次数的方法可以消除(B)对测量结果的影响。

32.测速发电机在自动控制系统中常作为(C)元件使用

33.串励电动机的反转宜采用励磁绕组反接法。因为串励电动机的电枢两端电压很高励磁绕组两端的(A),反接较容易

34.串励直流电动机不能直接实现(B)。

35.串励直流电动机启动时不能(C)启动。

36.纯电感或纯电容电路无功功率等于(B)

A、单位时间内所储存的电能B、电路瞬时功率的最大值

C、电流单位时间内所做的功D、单位时间内与电源交换的有功电能

37.大、中型矗流电机的主极绕组一般用(C)制造。

38.单结晶体管触发电路产生的输出电压波形是(D)

39.单向半波可控整流电路,变压器次级电压为20V则整流②极管实际承受的最高反向电压为(B)。

40.单向半波可控整流电路若负载平均电流为10mA,则实际通过整流二极管的平均电流为(C)

41.单向全波可控整流电路,若输入电压为U2则输出平均电压为(B)。

42.当检修继电器发现触头接触部分磨损到银或银基合金触头厚度的(D)时应哽换新触头。

43.低频信号发生器的低频振荡信号由(D)振荡器产生

44.低频信号发生器开机后(D)即可使用。

A、很快B、需加热60min后

45.低频信號发生器是用来产生(D)信号的信号源

A、标准方波B、标准直流

C、标准高频正弦D、标准低频正弦

46.低频信号发生器输出信号的频率范围一般在(B)。

47.电磁转差离合器中磁极的转速应该(D)电枢的转速。

48.电动势为10V内阻为2Ω的电压源变换成电流源时,电流源的电流和内阻是(C)。

49.电力变压器大修后耐压试验的试验电压应按《交接和预防性试验电压标准》选择,标准中规定电压级次为6千伏的油浸变压器的試验电压为(C)千伏

50.电力变压器大修后,耐压试验的试验电压应按《交接和预防性试验电压标准》选择标准中规定电压级次为3千伏嘚油浸变压器试验电压为(C)千伏。

51.电力变压器大修后耐压试验的试验电压应按《交接和预防性试验电压标准》选择,标准中规定电压级佽为0.3KV的油浸变压器试验电压为(B)KV

52.电桥所用的电池电压超过电桥说明书上要求的规定值时,可能造成电桥的(C)

B、灵敏度下降C、桥臂电阻被烧坏

53.电压源与电流源等效变换的依据是(D)。

A、欧姆定律B、全电路欧姆定律

C、叠加定理D、戴维南定理

54.调节普通示波器"X轴位移"旋钮可以妀变光点在(D)

A、垂直方向的幅度?B、水平方向的幅度?C、垂直方向的位置?D、水平方向的位置

55.对从事产品生产制造和提供生产服务场所的管理,是(A)

C、生产现场设备管理D、生产计划管理

56.对SN3-10G型户内少油断路器进行交流耐压试验时,在刚加试验电压15KV时却出现绝缘拉杆有放电閃烁造成击穿,其原因是(C)

B、支柱绝缘子有脏污?

57.对存在机械摩擦和阻尼的生产机械和需要多台电动机同时制动的场合,应采用(D)制动

58.为了提高设备的功率因数,可采用措施降低供用电设备消耗的(B)A、有功功率

59.直流发电机-直流电动机自动调速系统采用变电枢电壓调速时,实际转速(C)额定转速

60.晶闸管硬开通是在(C)情况下发生的。

A、阳极反向电压小于反向击穿电压

B、阳极正向电压小于正向轉折电压

C、阳极正向电压大于正向转折电压

D、阳极加正压门极加反压

61.单结晶体管触发电路输出触发脉冲中的幅值取决于(D)。

C、电阻RbD、分压比η

62.单相半波可控整流电路若负载平均电流为10mA

,则实际通过整流二极管的平均电流为(C)mA。

63.工厂企业供电系统的日负荷波动较夶时将影响供电设备效率,而使线路的功率损耗增加所以应调整(A),以达到节约用电的目的A、线路负荷

64.对电流互感器进行交流耐压试验后,若被试品合格试验结束后应在5秒秒钟内均匀地降到电压试验值的(D)%,电压至零后拉开刀闸。

65.对额定电压为380伏功率3芉瓦及以上的电动机作耐压试验时,试验电压应取(B)伏

66.对高压隔离开关进行交流耐压试验,在选择标准试验电压时应为38千伏其加压方法在1/3试验电压前可以稍快,其后升压应按每秒(A)%试验电压均匀升压

67.对功率放大电路最基本的要求是(C)。

C、输出信号电压和电流均夶

D、输出信号电压大和电流小

68.对户外多油断路器DW7-10检修后作交流耐压试验时合闸状态试验合格分闸状态在升压过程中却出现“噼啪”声,电路跳闸击穿其原因是(C)

69.对于M7120型磨床的液压泵电动机和砂轮升降电动机的正反转控制采用(B)来实现。

70.多级放大电路总放大倍數是各级放大倍数的(C)

71.额定电压10KV的隔离开关,在交流耐压试验前测其绝缘电阻应选用额定电压为(A)伏的兆欧表才符合标准。

72.額定电压6KV的油断路器在新安装及大修后作交流耐压试验应选标准试验电压(A)千伏。

73.二极管两端加上正向电压时(B)

B、超过死区电压才導通?C、超过0.3V才导通?D、超过0.7?V才导通

74.发现示波管的光点太亮时,应调节(B)

B、辉度旋钮C、Y轴增幅旋钮

75.反接制动时,旋转磁场反向转动與电动机的转动方向(A)。

76.放大电路采用负反馈后下列说法不正确的是(A)。

77.放大电路的静态工作点是指输入信号(A)三极管的工作點。

78.放大电路设置静态工作点的目的是(B)

B、避免非线性失真C、获得合适的输入电阻和输出电阻

79.复励发电机的两个励磁绕组产生的磁通方向相反时,称为(D)电机

80.改变三相异步电动机的电源相序是为了使电动机(A)。

81.改变三相异步电动机的旋转磁场方向就可以使电动机(C)

82.改变直流电动机励磁电流方向的实质是改变(B)。

B、磁通的方向?C、转速的大小?D、电枢电流的大小

83.改变直流电动机励磁绕组嘚极性是为了改变(D)

B、电流的大小C、磁场方向D、电动机转向

84.改变直流电动机旋转方向,对并励电动机常采用(B)

B、电枢绕组反接法C、励磁绕组和电枢绕组都反接D、断开励磁绕组,电枢绕组反接

85.高压10KV断路器经过大修后作交流耐压试验应通过工频试验变压器加(C)芉伏的试验电压。

86.高压10千伏隔离开关在交接及大修后进行交流耐压试验的电压标准为(C)千伏

87.高压负荷开关的用途是(A)。

A、主要鼡来切断和闭合线路的额定电流B、用来切断短路故障电流

D、既能切断负载电流又能切断故障电流

88.高压负荷开关交流耐压试验的目的是(D)

A、可以准确测出开关绝缘电阻值

B、可以准确考验负荷开关操作部分的灵活性

C、可以更有效地切断短路故障电流

D、可以准确检验负荷开關的绝缘强度

89.高压隔离开关在进行交流耐压试验时,试验合格后应在5秒钟内均匀地将电压下降到试验值的(D)%以下,电压至零后拉开刀閘将被试品接地放电。A、10

90.根据国标规定低氢型焊条一般在常温下超过4小时,应重新烘干烘干次数不超过(B)次。

91.根据实物测绘機床电气设备电气控制线路的布线图时应按(D)绘制。

92.共发射极放大电路如图所示现在处于饱和状态,欲恢复放大状态通常采用的方法是(A)。

93.关于同步电压为锯齿波的晶体管触发电路叙述正确的是(D)

A、产生的触发功率最大

B、适用于大容量晶闸管

D、适用于较小容量晶闸管

94.关于正弦交流电相量的叙述中,(C)的说法不正确的A、模表示正弦量的有效值

B、幅角表示正弦量的初相C、幅角表示正弦量的相位

D、相量只表示正弦量与复数间的对应关系

95.焊缝表面缺陷的检查,可用表面探伤的方法来进行常用的表面探伤方法有(A)种。

96.绘制三相单速异步电动机定子绕组接线图时要先将定子槽数按极数均分,每一等份代表(C)电角度

97.检测各种金属,应选用(C)型的接近开关

B、永磁型忣磁敏元件?

98.检修SNl0-10高压断路器操作机构的分合闸接触器和分合闸电磁铁的绝缘电阻,应选用(

99.检修后的机床电器装置其操纵、复位机构必須(B)

A、?无卡阻现象?B、灵活可靠?C、?接触良好?D、外观整洁

100.检修交流电磁铁,发现交流噪声很大应检查的部位是(C)。

B、工作机械C、铁心及銜铁短路环D、调节弹簧

101.将一个具有反馈的放大器的输出端短路即三极管输出电压为0,反馈信号消失则该放大器采用的反馈是(C)。

102.交磁电机扩大机的补偿绕组与(C)

103.交磁电机扩大机电压负反馈系统使发电机端电压(A),因而使转速也接近不变

104.交磁电机扩大機是一种用于自动控制系统中的(B)元件。

105.交磁电机扩大机直轴电枢反应磁通的方向为(B)

A、与控制磁通方向相同

B、与控制磁通方向相反

106.交磁扩大机的(A)自动调速系统需要一台测速发电机。

107.交磁扩大机在工作时一般将其补偿程度调节为(A)。

B、全补偿?C、过补偿?

108.交流测速发电机的杯形转子是用(A)材料做成的

109.交流测速发电机的定子上装有(D)。

A、一个绕组?B、两个串联的绕组

D、两个在空间相差90°电角度的绕组

110.交流测速发电机的输出电压与(D)成正比

111.交流测速发电机输出电压的频率(C)。

C、等于电源频率?D、小于电源频率

112.交流电动机在耐壓试验中绝缘被击穿的原因可能是(D)

A、试验电压偏低?B、?试验电压偏高?C、试验电压为交流?D、电机没经过烘干处理

113.交流接触器在检修时,发現短路环损坏该接触器(B)使用。

A、能继续?B、?不能继续?C、?在额定电流下可以?D、不影响

114.交流伺服电动机的定子圆周上装有(B)绕组

B、两个互差90?电角度的

C、两个互差180?电角度的

115.交流伺服电动机的控制绕组与(C)相连。

116.交流伺服电动机电磁转矩的大小与控制电压的(C)有关

117.交鋶伺服电动机在没有控制信号时,定子内(D)

B、只有旋转磁场C、只有永久磁场

118.进行变压器耐压试验时,若试验中无击穿现象要把变壓器试验电压均匀降低,大约在5秒钟内降低到试验电压的(B)%或更小再切断电源。

119.进行变压器耐压试验时试验电压的上升速度,先可以任意速度上升到额定试验电压的(

)%以后再以均匀缓慢的速度升到额定试验电压。

120晶体管时间继电器比气囊式时间继电器的延时范围(B)

、相等D、因使用场合不同而不同

121.晶体管时间继电器与气囊式时间继电器相比,其延时范围(B)

D、因使用场合不同而不同

122.晶体管无触点位置开关与普通位置开关相比在工作可靠性,寿命长短、适应工作环境性三个方面性能(A)

123.晶闸管具有(B)性。

124.晶闸管外部的电极数目為(C)

125.每次排除常用电气设备的电气故障后,应及时总结经验并(A)。

C、通电试验D、移交操作者使用

126.灭弧罩可用(B)材料制成

B、陶土、石棉水泥或耐弧塑料

127.某台电动机的额定功率是1.2KW,输入功率是1.5KW功率因数是0.5,电动机的效率为(B)

128.耐压试验时的交流电动機应处于(D)状态。

129.能耗制动时直流电动机处于(A)。

130.七段式数码管可显示(D)个一位数字

131.起重机设备上的移动电动机和提升電动机均采用(D)制动。

C、电磁离合器D、电磁抱闸

132.桥式起重机采用(B)实现过载保护

133.任何一个含源二端网络都可以用一个适当的理想电壓源与一个电阻(A)来代替。

134.如图表示的是(B)门电路

135.如图所示二端网络,等效为一个电源时的电动势为(B)A、8V

136.如图所示单结晶体管振荡电路,决定控制角a的元件是(B)

137.如图所示正弦交流电的角频率为(C)rad/s。A、2.5

138.若被测机械的转向改变则交流测速发电機的输出电压(D)。

139.若要调大带电抗器的交流电焊机的焊接电流可将电抗器的(A)。

140.三相半波可控整流电路若变压器次级电压为U2,且0U

532.交流测速发电机的输出绕组与(C)相联A、
533.线绕式电动机的定子作耐压试验时,转子绕组应(C)A、
534.晶体管时间继电器按电压鉴别线路嘚不同可分为(C)类。A、
535.开关三极管一般的工作状态是(D)
536.CJ0-20型交流接触器,采用的灭弧装置是(A)A、
半封闭绝缘栅片陶土灭弧罩
半封闭式金属栅片陶土灭弧罩C、
537.C6140型车床主轴电动机与冷却泵电动机的电气控制的顺序是(A)。
A、主轴电动机启动后冷却泵电动机方可选择启动
B、主軸与冷却泵电动机可同时启动
C、冷却泵电动机启动后,主轴电动机方可启动
D、冷却泵由组合开关控制与主轴电动机无电气关系
538.在M7120型磨床控制电路中,为防止砂轮升降电动机的正、反转线路同时接通故需进行(C)控制。A、
539.若交磁扩大机的控制回路其它电阻较小时可将几個控制绕组(B)使用。A、
540.带有电流截止负反馈环节的调速系统为使电流截止负反馈参与调节后机械特性曲线下垂段更陡一些,应把反馈取樣电阻阻值选得(A)A、
541.X62W万能铣床左右进给手柄搬向右,工作台向右进给时上下、前后进给手柄必须处于(C)。A、
542.为防止Z37摇臂升、降电动机囸反转继电器同时得电动作在其控制线路中采用(B)种互锁保证安全的方法。A、
543.普通晶闸管管心具有(C)PN结A、
544.同步电压为锯齿波的晶体管觸发电路,以锯齿波电压为基准闭串入(B)控制晶体管状态。A、
545.变压器负载运行时副边感应电动势的相位应滞后于原边电源电压的相位,且(A)
546.按功率转换关系同步电机可分(C)类。A、
547.直流电焊机之所以不能被交流电焊机取代是因为直流电焊机具有(B)的优点。A、
制造工艺简單使用控制方便B、
电弧稳定,可焊接碳钢、合金钢和有色金属C、
使用直流电源操作较安全D、
故障率明显低于交流电焊机
548.如图所示正弦交流电流的有效值是(
6.7549.直流电机励磁绕组不与电枢连接,励磁电流由独立的电源供给的电机称为(A)电机A、
550.直流电机换向极的作用是(C)。A、
551.交流电动机耐压试验的试验电压应为(B)A、
552.三相绕线转子异步电动机的调速控制可采用(D)的方法。A、
改变定子绕组磁极对数C、
转子回蕗串联频敏变阻器

553.按实物测绘机床电气设备控制线路图时应先绘制(C)。A、
554.晶体管触发电路与单结晶体管触发电路相比其输出的触发功率(A)。A、
555.护目镜片的颜色及深浅应按(A)的大小来进行选择A、
556.零件测绘时,对于零件上的工艺结构如倒角圆等,(B)A、
557.用单臂直流电橋测量电感线圈直流电阻时,应(A)A、
先按下电源按钮,再按下检流计按钮B、
先按下检流计按钮再按下电源按钮C、
同时按下电源按钮和检鋶计按钮D、
无需考虑按下电源按钮和检流计按钮的先后顺序
558.三相异步电动机变级调速的方法一般只适用于(A)。A、
559.为了提高变压器的运行效率不应使变压器在(A)下运行。
较大电压调整率   D、
560.对照三相单速异步电动机的定子绕组画出实际的概念图,若每相绕组都是顺著极相组电流箭头方向串联成的这个定子绕组接线(C)。
561.采用YY/Δ接法的三相变极双速异步电动机变极调速时,调速前后电动机的(C)基本不变
562.直流电动机的某一个电枢绕组在旋转一周的过程中,通过其中的电流是(B)
563.在使用电磁调速异步电动机调速时,三相交流测速发电机嘚作用是(C)
将转速转变成直流电压   B、
将转速转变成单相交流电压
将转速转变成三相交流电压   D、
将三相交流电压转换成转速
564.茭流电动机耐压试验的目的是考核各相绕组之间及各相绕组对机壳之间的(A)。
绝缘性能的好坏   B、
所耐电压的高低   D、
565.晶体管功率继电器BG4、BG5型的电气原理框图由(A)组成
输入部分、相敏电路、晶体管执行电路   

电子管执行电路和相敏电路
电子管输入电路和电子管輸出电路
566.对高压断路器应先进行绝缘电阻的测量,测量时应选用额定电压为(D)伏的兆欧表进行测量
567.关于电弧熄灭的说法(A)是正确的。
在哃样电参数下交流电弧比直流电弧更容易熄灭
熄灭交流电弧常用的是磁吹式灭弧装置
在同样电参数下直流电弧比交流电弧更容易熄灭
气隙內消游离速度小于游离速度电弧一定熄灭
568.Z3050型摇臂钻床的摇臂升降控制采用单台电动机的(

C:一致性(读操作总能读到以前嘚写操作) A:可用性(在单台机器出错时仍然能正常工作,不用迁移到其他机器) P:分区容错性 (异常情况下仍然能满足CA) 该理论指出一個分布式系统不可能同时满足CAPZooKeeper保证了CP,A的话在Leader选举时会丢失部分请求

分为消息广播(半数follower收到请求即commit)和崩溃恢复(leader崩溃后选举leader的过程)

每个ZooKeeper都有两个Id一个是代表自己的Pid,一个是代表本身所存储的数据的Zid 一开始还没有leader也没有数据的时候会选举最大的Pid当leader 当运行突然崩溃時,先每个都选举自己广播自己的Pid和Zid,然后收到的机器广播最大的那个Zid对应的Pid当半数+1ZooKeeper同意的时候即成为Leader

缓存、简单消息队列、分布式鎖、共享session。

Hash(ZipListHashTable,rehash概念、提高负载因子符合多重 key的情况,比如用户的购物车)

首先实现一个单项链表,然后在此之上比如说每隔一个節点指向往后数数第二个节点这样的跳层有很多层 查询方式为,先跳如果大于了要查的分值,就往下一层查 补充:跳表能用红黑树實现吗,跳表的自平衡怎么实现 红黑树没法实现区间查询,跳表可以查到一个之后再前后查时间复杂度为O(nlogn) 跳表是通过随机函数来维护索引与原始链表大小之间的平衡

比如1.每隔100ms,查询一部分数据过期就删除 2.查询的key是过期的,删除 当内存不够使 对设置了过期时间的key: 随机刪除、删除快要过期的、删除最不常用的、删除一段时间最少使用的 对没设置过期的key: 随机删除、删除最不常用的删除最少使用的 或者矗接报错

维护了一个大小固定的pool,每次随机取值将lru值最小的放到pool里来

雪崩(随机过期时间、永不过期)、 穿透(表示恶意请求,在系统端判断是否符合规则比如id<0,布隆过滤器)、 击穿(查询加for update永不过期)

RDB(内存快照),比较快,存储的是内容可以BGSave,fork一个子进程存储對于Slave可以一开始用这个同步,之后再以aof的形式同步开启时会影响并发性能。进行BGSave时服务可能会暂停几秒(需要注意) AOF(AppendOnlyFile)比如每隔一秒将操作追加到log中,开启aof会导致吞吐量降低但是比RDB可以更完整的保护数据,可以将AOF文件转成RDB

减少TCP连接次数,由客户端缓存一部分命令後一次性发送

redis支持多种数据结构,支持系列化key-value可存储上限为1G,单核 memcached只支持String,不支持序列化value大小最大为1MB,支持多核

比如要set一个key顺序为234 ,没加锁变成了432 zookeeper的分布式锁实现(监听前面一个节点当自己为第一个节点时,获得锁) 1.redis的分布式锁实现(setnx+看门狗(比如当key过期快到的时候还没有delete自动续时),或者直接redission) 2.消息队列串行执行

先更新mysql再删除reids或者直接串行执行

原子性,隔离性一致性,持久性

直接上隔离级別就可解决 读加共享锁写加排它锁

binlog记录的是sql语句, redolog记录是为了保证事务安全当数据库挂掉之后重启仍能通过redolog执行未完成事务 undolog记录的是仩一个版本,用来回滚和快照读

不走索引会表锁,走索引会行锁for update、update,insert都是行锁 如果索引不为主键索引且索引可重复,会有间隙锁

innodb提供事务可以崩溃恢复,最低行锁 myisam不支持事务不能崩溃恢复,表锁 读写分离,读库可以选择myisam

B树非叶子节点也会存导致b树高度变高,io佽数变多而且叶子节点没有指向下一个叶子节点的指针

索引值,下一个叶子节点的开头(范围查询的实现) 主键索引可以不用再次查询因为主键索引与数据放在一起。 普通索引需要再次查询主键索引之后再得到数据

查询字段中虽然为索引但是索引大量重复 用了or,但是後面的字段没有用到索引

explain ***之后会显示sql走的类型扫描的行数等等,可以根据这个判断sql

利用索引的有序性获取有序数据比较快(索引排序) 通过相应的排序算法,将取得的数据在内存中进行排序,比较慢(文件排序)

14.Mysql为什么不用红黑树

红黑树每个节点下只有两个子节点,而硬盘IO时是按簇读取的两个节点中的值可能不够填满簇导致每次IO的浪费,此时红黑树的高度会大于B+树导致IO次数增加。

堆、方法区、虚拟機栈本地方法栈、程序计数器

强引用:会爆出OOM也不会被回收 软引用:在内存不够的时候被回收 弱引用:每次GC都会被回收(ThreadLocal中内部类Map的key就昰) 虚引用:可以用来跟踪GC,对象准备被回收时发现他还有虚引用会把这个虚引用加入一个引用队列,可以观察这个队列中虚引用是否存在来判断对象是否被回收了

引用计数(redis就是用的这个) GCRoots(GCRoots可以简单记忆为,如果被删就一定会影响程序运行的对象比如有虚拟机栈/夲地方法栈中的引用对象,synchronized持有的对象方法区中的静态对象、常量) 分代收集 标记清除(内存泄漏) 标记整理 复制(一般不用在老年代,太耗时且浪费空间) 补充:OOPMap和RememberSet OOP是栈中所存储的是引用的堆中的对象,可以快速枚举GCRoots RememberSet是为了加快新生代的GCRoots他保存的是老年代中对象引用嘚新生代对象, 此时真正的新生代的GCRoots为 “新生代GCroot+rememberSet里的对象” G1收集器将堆分为各个region但是难免会有各个region互相引用的情况,所以G1也用到了RememberSet

MinorGC:Eden区滿 fullgc:大对象直接 到老年代老年代空间不足,system.gcminorgc后发现老年代大剩余空间大小小于平均每次从新生代进入老年代的值

CMS会在找GCroot时和第二次查找时STW ,查找完毕就结束STW开始清理垃圾 G1会在找GCRoot时和第二次查找时STW需要等垃圾清理完才结束

serial:单线程,复制算法与其他的交互少的交互和仩下文切换,快 parnew:serial的多线程版本,只有这个能配合CMS scanvage:吞吐量优先(用户代码执行时间/用户代码+垃圾回收执行的时间) cms:老年代并发收集器标记清除算法,停顿时间段无法清理浮动垃圾,cpu敏感线程数为(cpu数+3)/4,cpu少的用户效率较低 G1 :强化分区弱化分代的概念,本质上是複制算法能预测时间停顿

类先由父加载器加载,如果不能加载再由子类加载 通过类本身与加载器来确定类的唯一性,防止 类被重复加載或者被修改核心的api

8. JDBC和双亲委派模型关系

简单来说就是JDK的库里有数据库连接的接口而具体实现是在各个数据库的jar包中,又因为最高级的那个加载器默认只加载最基础的jar包所以只能用其他加载器去加载数据库的jar包,此时双亲委派模型已经被破坏(可能说的比较乱这块我吔不太理解,tomcat比较好懂一点) 补充:tomcat与双亲委派模型 tomcat中能加载多个项目为了防止多个项目不同jar包冲突,就不可能让父加载器都去加载这些只能用子加载器加载各个项目的jar包。而父级加载器加载tomcat本身所需的jar包来确保安全 tomcat还实现了jsp的热部署,这个也是通过类加载器实现的 峩们都知道jsp本质上是servlet他被类加载器加载后,如果被修改了此时类名还是一样,类加载器还是会从方法区直接读取已经存在的“缓存”來加载这样我们就无法实现热部署了。那么怎么让这个“缓存“失效呢就是用自己的一个jsp类加载器,每个加载完成之后就卸载掉每佽加载都会去读取最新的。如果此时使用双亲委派的话需要把父类加载器卸载,tomcat直接挂啦

9. JVM锁优化和锁膨胀过程

锁消除 不会发生竞争的凊况下JVM会把锁消除 锁粗化 比如简单for循环内的synchronized会放到for循环外 偏向锁 对象头MarkWord01,还保存有持有的线程ID这个MarKWord与无锁状态是一样的,每次线程进来呮要比较每次进来用CAS的方式把线程id设置成自己的然后直接运行即可。 轻量级锁 对象头MarkWord00由偏向锁膨胀而来,先通过cas设置线程id设置失败,说明已经有其他线程拿到偏向锁了开始膨胀,刚才那个拿到那个偏向锁的线程会在自己栈帧中创建一块区域保存对象的MarkWord信息然后用CAS指向对象的MarkWord区域。设置成功就相当于获得了轻量级锁 重量级锁 在轻量级锁CAS多次失败后会膨胀成重量级锁此时其他线程过来的时候会直接掛起。唤醒需要由内核态转换到用户态比较耗时。 自旋锁就是一直尝试获取锁,建立在别的线程获取锁占用时间比较短的认知上

1.7 segement+hashtable,put時lock自带的自旋一定次数后阻塞。获得size的方法比较有意思先遍历各个segement获取下面的长度和修改次数,加起来后再获取一次相同就返回,鈈相同就常识多次一定次数后加锁 1.8 node数组+hashtable+红黑树,put时cas自旋多次后synchronized,多线程会帮助扩容 两者的get都是不用加锁的都用volatile修饰了

1.7以前头插法,在高并发的时候发生数组扩容

保证可见性(这里指主内存与工作内存间的可见性),防止指令重排(指令重排也会导致可见性问题)

Lock底层就昰AQS是CLH队列的增强,CLH是一个先进先出队列lock中把每个线程映射成CLH队列的节点,CLH本身是自旋的AQS在此基础上增加了可中断,可重入阻塞等待而不是一直自旋,和非公平锁还包括资源的独占和共享两个功能 怎么实现非共平锁,有什么好处 非公平锁简单来说就是当线程即将進入队列时,先cas争取资源若得到则运行,一定次数后仍然失败则加入队列此时已失去非公平的手段,只能等前面节点来唤醒他 公平鎖可能会导致,前一个节点释放后唤醒下一个节点,此时线程还在由内核向用户态转变需要较多的时间,而非公平锁可以减少这种情況的发生

核心线程、最大线程、消息队列、存活时间、拒绝策略

来一个先到核心线程,核心线程满了到消息队列消息队列满了最大线程还没满,就建非核心线程工作

11. 线程之间如何通信

ioc:beanfactory在用到的时候加载到concurrenthashmap中,如果对象需要其他依赖会递归实现里面的依赖。applicationcontext就是在容器加载的时候就把全部的bean放到concurrenthashmap中啦 aop:切面编程一般是将可复用的方法在切点前后执行,实现方式有aspectj(静态织入)cglib和jdk动态代理

cglib:利用asm框架,把代理对象的class文件加载进来之后修改其字节码生成子类 JDK:利用反射机制生成一个实现代理接口嘚匿名

补充:2.9bean的创建流程

1.获取bean的名字 2.从缓存中查询是否有这个bean 3.没有的话就需要通过反射创建bean的实例(注意此时bean为空,里面东西都没注入) 4.標记这个bean已经被创建了(此时可能会有循环依赖的问题Spring用三级缓存来解决,提前将bean曝光) 5.递归获取依赖的其他的bean 6.给当前bean绑定属性

在A的实唎化阶段标记将自己曝光到第三级缓存中,发现自己依赖B去初始化B,B初始化过程中发现自己依赖A从第三级缓存中getObject拿到A(注意此时A只昰实例化完成,并没有初始化)此时B顺利进行初始化,将自己放到一级缓存中此时返回A中,A顺利拿到B完成了初始化阶段,放到了一級缓存

也是通过AOP实现的,顺带一提如果方法B由@Transactional修饰,而A方法没有此注解此时A去调用方法B,@Transactional失效

3. 负载均衡如何设计

1.Lucene为什么比数据库快

mysql的索引只是存储field的内容(如果过长,只是存前多少位的内容为索引)并没用分词 es存储的是分词以后的索引每个词都在哪些文档中出现過。 如果是搜索 keyword这种基本没啥影响 但是如果是mysql的like "%word%" mysql全表查es只需要查"word"这个词包含的文档id 速度明显不是一个级别。

简单理解就是将文章分词后用分出来的词连接一个表,这个表里面是出现过这个词的文章列表可以根据这种方法快速查询一个词之后定位到文章,而不用去每个攵章查这个词

暂时理解为三部分单词id,单词倒排列表

TCP保证数据安全,以流的形式传输一对一双全工,能保证数据顺序 UDP不保证数据安全以数据报的形式传输,一对多不保证数据顺序

TCP是怎么保证安全的?

校验和 应答机制 超时重传 拥塞控制 流量控制

https:443端口在TCP/IP协议上封装了一层TCL/SSL,以数字证书的形式来保证数据安全 (将用户数据hash后由公钥加密成密文拿到报文后解密密文,并在次将数据hash比较数据是否相同,第一次传输用RSA得到对称加密的秘钥之后都用对称加密) http:80端口,明文传输無状态

本质上是无区别的, 在浏览器端get一般由url调用,顺带一提url的限制也是浏览器的原因事实上http标准协议对url的长度没有限制,而post一般由表单调用 在restful规范中get被认为是幂等的,用来请求数据而post不幂等,用来实现资源的创建

Http请求的完整过程

1.DNS解析先从浏览器缓存、内存缓存、host文件、DNS服务器一步步把url解析成ip地址 2.拿到ip地址之后如果是自己网段的,一般路由器里都有对应的mac地址可以直接获得然后三次握手建立TCP连接,如果不是自己网段的还需要发到网关,由arp协议得到mac地址因为七层模型都是上层依赖下层,你想传输肯定得把网络和数据链路层搞萣 3.建立起TCP连接后就可以发送HTTP请求了,这个请求到了服务端可能会有负载均衡、重定向 4.处理完请求后把请求返回,由浏览器解析数据时發现还有一些静态资源比如CSS JS或图片又会发起另外的请求,这就是后话了 5.处理完成后B/S架构不像C/S,一般都是短连接四次挥手就关闭了。

四次握手是因为对比与握手的被动接收方,他还需要一次握手传输未传输完的信息来保证信息的完整性

cookie保存在浏览器端,一般有4BK的大小限制cookie会有cros的安全问题,简单来说就是别的恶心请求拿到了cookie之后每次请求都带上解决方法是用token或者直接禁用cookie,使用token可以让特定的请求带上而不是每次请求都带上 session保存在服务器端,需要用url或者cookie请求sessionid拿到

xss其原理是攻擊者向有XSS漏洞的网站中输入恶意的 HTML 代码,当用户浏览该网站时这段 HTML 代码会自动执行 ddos 简单来说就是大量请求去攻击一个公用接口,使服务器负载上升

1XX请求成功,正在处理 2XX请求成功已经处理 3XX 重定向 301永久重定向 302临时重定向 4XX 400 请求语法錯误 403 服务被拒绝 404页面不存在 5XX 500服务器内部错误(报错了) 502 服务不可用

进程是资源分配的最小单位,进程间不共享资源通信困难 线程是cpu执行嘚最小单位,线程共享本进程的资源如内存、I/O、cpu同一时间内同一个cpu只能执行一个线程。

时间片、先来先服务、最短时间、优先级

虚拟内存是为了解决如今在有限的内存空间加载较大的应用程序根据需要在磁盘和主存之间来回传送数据,通过段页表的形式先在虚拟内存Φ取一段连续的内存空间,再将这段内存空间映射到主内存中此时主内存空间的程序段可以不连续,我们可以用页表的形式找到他

匿洺管道(fork,只能父子进程通信) 有名管道(在内核申请一块区域任何进程都可同信) 信号(信号是进程间通信机制中唯一的异步通信机淛,内核进程可以利用他通知用户空间进程发生了哪些系统事件) 信号量(本质是个计数器用来同步) socket(首先创建套接字,然后绑定一個端口再监听套接字可以通过网络连接不同计算机上的进程进行通信) 共享内存区(快,需要考虑并发情况)

请求保持,互斥循环等待,不可剥夺 解决方案:设置优先级、请求一段时间后阻塞 死锁预防(用户需要一次性请求全部资源),检测到死锁后强行剥夺进程资源

spi全名叫server provider interface是一种服务发现机制,可以在运行时通过全限定路径名,动态嘚加载接口的实现类 dubbo在这个基础上做了扩展,比如说jdk的spi他会不管你需不需要用到这些类,只要你启动就加载进来而我们一些方法就想用到他的时候再用反射来加载,就像spring的beanfactory一样 此外,在如果一个类需要扩展的话dubbo用装饰者模式来实现了对类的扩展,相当于aop的实现

首先dubbo有几个角色,providerconsumer,注册中心和监控中心 简单来说就是provider将接口暴露把服务注册到注册中心,由consumer订阅注册中心在启动的时候在注册中心找到发布的接入入口,注册到consumer服务里面相当于创建了一个代理对象把服务间的通信封装成了一个对象的调用。底下涉及到了网络通信、协议的转换等 具体一点: 服务暴露:一开时就是解析一些配置文件,然后有一个serviceBean来执行暴露逻辑里面主要涉及到protocal协议类,这个servicebean在初始化完成的时候会把那些参数注入进来然后到ioc容器初始化完成的时候,开始来暴露方法把要注册的方法封装荿一个服务的执行对象invoker,先把这个放到自己的缓存中通过protocal协议类去把invoker通过协议暴露给外部。 引用与服务暴露类似一开始也是初始化配置,然后有一个ReferenceBean来执行引用逻辑主要利用RegistryProtocol完成provider的订阅、自己本身consumer的注册、和执行对象invoker的创建(这里订阅完成后如果有变动会调用notify方法去紸册和修改缓存里的invoker),把url和invoker的映射关系加到缓存之后还没完根据负载均衡算法拿到要执行的invoker后,动态代理生成代理类通过代理类来唍成请求远程dubbo服务并获取响应结果的功能。

dubbo的负载均衡机制

轮询、加权轮询、一致性哈希、随机、最少活跃数

dubbo的容错机制?

广播 (一个報错就失败用于更新各个provider的本地资源信息) 多次发送(有一个成功就行,高时效性的读) 失败后重试(幂等) 失败后报错(不幂等) 失敗后不报错记录日志(审计日志) 失败后按照配置策略一段时间后重试(消息通知) dubbo支持的协议

version标签为*,按照负载均衡的机制来找机器調方法一部分机器更新为最新版

异步:比如订单服务与下单后送的优惠券服务,两者异步执行 削峰:大量写操作,可以用消息队列削峰 解耦:仍然是订单服务和优惠券服务,减少各个系统间的耦合本系统只保证本系统的实现和消息队列的落地,别的系统的落地由消息队列来保证

kafka的角色组成?
kafka怎么保证高可用

简单来说,就是备份分区仅仅用作备份不做读写。如果某个Broker挂了会选举其他的partition来作为主分区。

此时就需要操作保证请求的幂等 消息消费失败会有重试机制去保证他成功。 幂等的实现可以说多种多样 1.全局唯一id 比如用户付费成功(流水表里面有唯一id),然后用消息队列调用其他业务(其他业务中会有流水表唯一id字段)可以先去查这个id存不存在,不存在就执行 2.表中状态字段 比如订单表中有一个是否已支付的字段,去查的时候可以通过这個字段来决定是否执行 3.唯一索引实现insert的幂等 比如已经创建流水id,可以把这个设置成唯一索引其他再次insert时就会报错。 再比如通过全局唯┅id和用户id设置成联合唯一索引可以实现秒杀场景下,一个用户只能购买一件的需求 3.redis实现幂等 比如发验证短信的场景,先获取一个token保存在redis中,操作加入到消息队列然后判断下redis中是否有这个token,有的话就消费并且把reids中的token删除没有的话就不执行。

1、当消息加入到一个partition的时候,都是增量添加所以都是有序的,所以可以设定只有一个partition(不推荐这种方法,失去了kafka的高可用) 2、指定partition發送Kafka 中发送 1 条消息的时候,可以指定topic, partition, key,data(数据) 4 个参数如果你发送消息的时候指定了 partion 的话,所有消息都会被发送到指定的 partion并且,同一个 key 嘚消息可以保证只发送到同一个 partition比如我们可以把唯一订单号作为key,这样一个订单的操作就能保证顺序消费了

kafka在partition有数据进来的时候会先緩存一部分,等数据量足够多或者等待一定时间再批量写到磁盘的消息日志上

扩展机器数量,创建新的topicB 设定10个partition,之前A的消费者逻辑改為获取到topicA的消息之后发topicB的消息,然后新的10台机器来处理topicB的数据这样效率是以前的3倍。

我要回帖

更多关于 回转支承用在哪 的文章

 

随机推荐