- 博客(121)
- 收藏
- 关注
原创 美团笔试-测试方向
9.给定一个无向图节点编号{A、B、C、D、E、F}边的结合{A->C, A->D, B->C, B->E,B->F,C-D,C-F,E-F}深度优先遍历的结果()19.一个四元组(+,a, b, t1) (+,t1, c,t2)则可以推导的中间表示是哪一项(t2 = (a + b) + c)总比较次数 = 1 + 2 + 3 + 3 + 2 + 3 + 3 + 4 + 4 + 4 = 29。s1中{1,2,3,4}4是栈顶 s2中{4,3,2,1}1是栈顶,Q中{*、+、&、-}
2024-08-17 22:06:29
653
原创 安装Docker以及安装过程中的错误解决
如果你进行了一系列无脑操作,跟着网上各种教程乱下药,导致最后问题复杂。那么下面教程将帮你解决问题。此教程针对第一次安装docker的友友,如果已经安装过且报错的朋友,请移步报错合集。环境:centOs 7 + FinalShell。
2024-08-02 22:49:17
5257
3
原创 动归(3)
请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。,请你找出数组中乘积最大的非空连续。测试用例的答案是一个。
2024-08-02 22:32:46
297
原创 动态规划(2)
是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。如果可以利用字典中出现的一个或多个单词拼接出。,找到其中最长严格递增子序列的长度。
2024-08-01 23:05:57
348
原创 买卖股票最佳时机(I/2)
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。在每一天,你可以决定是否购买和/或出售股票。设计一个算法来计算你所能获取的最大利润。你也可以先购买,然后在。买入这只股票,并选择在。
2024-07-31 22:13:31
351
原创 动归||完全平方数和零钱兑换
是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。如果没有任何一种硬币组合能组成总金额,返回。,表示不同面额的硬币;你可以认为每种硬币的数量是无限的。计算并返回可以凑成总金额所需的。的完全平方数的最少数量。
2024-07-30 21:11:17
349
原创 动归||爬楼梯及变阶
2.3 爬楼梯有时间限制,每上一阶需要花费一定的时间,且在某些特定的台阶会有额外的时间奖励。2.2 爬楼梯时,每上一阶需要消耗一定的体力值,不同的台阶消耗的体力值不同。2.4 爬楼梯时,每上一阶有一定的概率滑倒并回到起点。阶可以直接到达第 1 阶,每次可以上 1 阶或 2 阶,求从第 1 阶出发经过。2.1 假设每次爬楼梯可以选择上 1 阶、2 阶或者 4 阶,求到达第。,每次只能爬1阶或2阶,求在规定时间内到达第。,每次只能爬1阶或2阶,求成功到达第。,每次只能爬1阶或2阶,求到达第。
2024-07-29 21:53:47
918
原创 数字信号||用窗函数法设计FIR数字滤波器(5)
在设计高通和带阻滤波器时,fir1函数总是使用偶对称N为奇数(即第一类线性相位FIR滤波器)的结构,因此当输入的阶次为偶数时,fir1函数会自动加1。功能:基于窗函数的FIR数字滤波器设计——标准频率响应,以经典方法实现加窗线性相位FIR滤波器设计,可设计出标准的低通、带通、高通和带阻滤波器。说明:kaiser(n,beta)可产生n点的kaiser窗函数,其中,beta为影响窗函数旁瓣的b参数,其最小的旁瓣抑制a与b之间的关系为。
2024-07-24 10:27:10
1967
原创 数字信号||快速傅里叶变换(FFT)(4)
尽管这种变换方法是可以用于数值计算的,但如果只是简单的按照定义进行数据处理,当序列长度很大时,则将占用很大的内存空间,运算时间将很长。FFT主要有时域抽取算法和频域抽取算法,基本思想是将一个长度为N的序列分解成多个短序列,如基2算法、基4算法等,大大缩短了运算的时间。当x的长度为2的幂次方时,则fft函数采用基2的FFT算法,否则采用稍慢的混合基算法。当x的长度大于n时,fft函数会截断序列x。MATLAB中提供了进行快速傅里叶变换(FFT)的子函数,用fft计算DFT,用ifft计算IDFT。
2024-07-24 10:14:03
804
原创 数字信号||离散系统的冲激响应和阶跃响应(3)
对于复杂信号激励下的线性系统,可以将激励信号在时域中分解为单位脉冲序列或单位阶跃序列,把这些单元激励信号分别加于系统求其响应,然后把这些响应叠加,即可得到复杂信号加于系统的零状态响应。(2)读懂实验原理并编写例题程序,理解每一条语句的意义,了解用MATLAB进行离散时间系统冲激响应和阶跃响应求解的方法、步骤,熟悉MATLAB与本实验有关的子函数。对于由矢量a、b定义的数字系统,当输入信号为x时,对x中的数据进行滤波,结果放于y中,长度取max(na,nb)。
2024-07-24 10:08:44
1670
原创 数字信号||离散序列的基本运算(2)
对于给定的离散序列x(n),序列x(mn)是x(n)每隔m点取一点形成,相当于时间轴n压缩了m倍;当m<0时,原序列x(n)向左移m位,形成的新序列称为x(n)的超前序列。已知信号x(n)=sin(2pn),求x(2n)和x(n/2)的信号波形。3.两个离散序列相加是指两个序列中相同序号n(或同一时刻)的序列值逐项对应相加,构成一个新的序列:x(n)=x1(n)+x2(n)调用格式:find((n>=min(n1))&(n<=max(n1)));
2024-07-23 21:00:12
1615
原创 数字信号||离散序列的基本运算(1)
一个连续的周期性矩形波信号频率为5 kHz,信号幅度在0~2 V之间,脉冲宽度与周期的比例为1∶4,且要求在窗口上显示其2个周期的信号波形,并对信号的一个周期进行16点采样来获得离散信号。例如x=[5,4,3,2,1,0],表示x(1)=5,x(2)=4,x(3)=3,x(4)=2,x(5)=1,x(6)=0。一个连续的周期性锯齿波信号频率为10 Hz,信号幅度在-1 V到+1 V之间,在窗口上显示3个周期的信号波形,用FS=150 Hz的频率对连续信号进行采样。,x(5)=1,如图2-1所示。
2024-07-23 20:52:56
1380
原创 计算机体系结构|| 再定序缓冲(ROB)原理(6)
(3)假设浮点功能部件的延迟时间为加减法 3 个时钟周期,乘法 8 个时钟周期,除法40个时钟周期。(1)假设浮点功能部件的延迟时间为加法2个时钟周期,乘法 10个时钟周期,除法40个时钟周期,Load 部件 2 个时钟周期。(5)给定被执行代码片段,对于具体某个时钟周期,能写出保留站ROB 以及浮点寄存器状态表内容的变化情况。一个时钟周期前后保留站、ROB 以及浮点寄存器状态表的内容的变化情况。③再步进5个时钟周期,给出这时保留站ROB 以及浮点寄存器状态表的内容。(2)加深对基于硬件的前瞻执行的理解。
2024-07-22 23:24:00
581
原创 计算机体系结构|| Tomasulo算法(5)
(3)假设浮点功能部件的延迟时间为加减法3个时钟周期,乘法8个时钟周期,除法40个时钟周期。浮点功能部件的延迟时间为加减法3个周期,乘法8个时钟周期,除法40个时钟周期,load部件2个时钟周期。假设浮点功能部件的延迟时间为加减法2个周期,乘法10个时钟周期,除法40个时钟周期,Load部件2个时钟周期。1)对于下面的代码段,给出当指令MUL.D写结果时,保留站、load缓冲器以及寄存器状态表中的内容。2)步进5个时钟周期,给出这时保留站、load缓冲器以及寄存器状态表中的内容。(5)掌握保留站的结构。
2024-07-22 23:14:35
658
原创 计算机体系结构||Cache性能分析(4)
FIFO算法按调入Cache的先后决定淘汰的顺序,选择最早调入Cache的字块进行替换,它不需要记录各字块的使用情况,比较容易实现,系统开销小,其缺点是可能会把一些需要经常使用的程序块(如循环程序)也作为最早进入Cache的块替换掉,而且没有根据访存的局部性原理,故不能提高Cache的命中率。(4)选择不同的Cache容量,包括2KB、4KB、8KB、16KB、32KB、64KB、128KB、256KB,分别执行模拟器(单击“执行到底”),在表4.1中记录各种情况下的不命中率。(2)选择一个地址流文件。
2024-07-21 12:37:27
1698
原创 计算机体系结构||指令的调度和延迟分布(3)
根据记录结果,对比了采用延迟分支和没采用延迟分支的性能。通过延迟分支,CPU能够在等待分支结果的同时继续执行后续指令,从而提高了指令级并行度,减少了性能损失。2.根据教材中关于流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各流水寄存器的含义(双击各段,就可以看到各流水寄存器的内容)。2)用MIPSsim的“文件”→“载入程序”选项来加载schedule.asm(在模拟器所在文件夹下的“样例程序”文件夹中)。2.根据记录结果,比较没采用延迟分支和采用了延迟分支的性能。1)启动MIPSsim。
2024-07-21 12:33:46
991
原创 计算机体系结构||流水线及流水线中的冲突(2)
可以先载入一个样例程序(在本模拟器所在的文件夹下的“样例程序”文件夹中),然后分别以单步执行一个周期、执行多个周期、连续执行、设置断点等的方式运行程序,观察程序的执行情况,观察 CPU 中寄存器和存储器的内容的变化,特别是流水寄存器内容的变化。③用单步执行一周期的方式(“执行”菜单中)或用 F7 键执行该程序,观察每一周期中,各段流水寄存器内容的变化、指令的执行情况(“代码”窗口),以及时钟周期图。⑤记录数据冲突引起的停顿时钟周期数以及程序执行的总时钟周期数,计算停顿时钟周期数占总执行周期数的百分比。
2024-07-20 23:42:43
2009
原创 嵌入式||ADC程序设计(4)
学习利用LPC2138的ADC通道来采集外部的电压值,掌握LPC2138中ADC的配置与使用。预装了keil及proteus的PC机。
2024-07-15 11:06:42
573
原创 嵌入式|| GPIO程序设计(1)
GPIO是嵌入式控制器上一个很常见但又应用广泛的功能模块,它也是学习嵌入式控制器时必须要学习的第一个实验。学习GPIO的使用牵连到引脚连接模块的配置,故本实验需要同学掌握LPC2138微控制器引脚连接模块的配置和GPIO的控制。在Proteus仿真平台上,基于GPIO点灯demo示例并参考教材循环灯实例,结合流水灯模块和按键模块,实现流水灯显示实验。3.学习适用LPC2138的通用输入输出管脚直接控制外围设备的方法。2.掌握简单程序的输入、编辑、编译、运行、调试的方法与步骤。1.熟悉Keil5软件的使用。
2024-07-15 10:37:20
275
原创 如何用IDEA(2024版)从github上拉取一个项目
克隆完成后,IDEA 会自动打开项目。如果你之前没有打开任何项目,IDEA 会直接加载新克隆的项目。如果你已经有一个打开的项目,IDEA 会询问你是否要打开新的项目或者将其作为当前项目的一个模块。在欢迎屏幕上,你会看到几个选项,例如 “New Project”、“Open”、和“Get from Version Control”。但是,如果仓库没有这些配置文件,你可能需要手动设置项目 SDK 和其他项目设置。如果这是你第一次启动 IDEA 或者没有打开任何项目,它会显示一个欢迎屏幕。
2024-06-24 16:35:15
6142
原创 【高频】从准备更新一条数据到事务的提交的流程描述
一次SQL请求就会建立一个连接,多个请求就会建立多个连接,而web系统一般都是部署在tomcat容器中的,tomcat是可以并发处理多个请求的,这就会导致多个请求会去建立多个连接,再关闭,会大大降低系统的性能,因此采用数据库连接池进行连接。网络中的连接都是由线程来处理的,对于 SQL 语句的请求在 MySQL 中是由一个个的线程去处理的。Buffer Pool (缓冲池)是 InnoDB 存储引擎中非常重要的内存结构,顾名思义,缓冲池其实就是类似 Redis 一样的作用,起到一个缓存的作用。
2024-06-12 20:20:55
931
原创 MySQL之性能调优
想要发挥 MySQL 的最佳性能,需要遵循 3 个基本使用原则。让MySQL回归存储的基本职能:MySQL 数据库只用于数据的存储,不进行数据的复杂计算,不承载业务逻辑,确保存储和计算分离;查询数据时,尽量单表查询,减少跨库查询和多表关联;杜绝大事务、大 SQL、大批量、大字段等一系列性能杀手。大事务:运行步骤较多,涉及的表和字段较多,容易造成资源的争抢,甚至形成死锁。一旦事务回滚,会导致资源占用时间过长。
2024-06-12 10:23:10
1243
原创 哨兵机制(Redis Sentinel)常见面试题
哨兵机制(Redis Sentinel)是redis主从集群中实现主从库自动切换的关键机制。它通过监控、选主和通知三个任务来实现主从库的自动切换。在监控任务中,哨兵周期性地检测主从库的在线状态,判断主库是否处于下线状态。哨兵采用多实例组成的集群模式进行部署,以避免单个哨兵误判主库下线的情况。
2024-06-11 22:51:56
1397
原创 Cannot find a valid license key for ISIS Professional on this computer . this license Manager report
4.要完全卸载并同时删除注册表项,运行中输入:“regedit”,打开“HKEY_LOCAL_MACHINE\SOFTWARE\找到“Labcenter Electronics” 【:按下键盘上的“Win + R”组合键,打开“运行”对话框。在对话框中输入“regedit”,然后点击“确定”按钮,即可打开注册表编辑器。2.运行“编辑→查找”命令打开“查找”窗口,选择“项、值、数据”三个选项,再在“查找目标”中输入proteus,单击“查找”按钮进行查找.[注:一定要一直按“F3”继续查找]
2024-06-10 22:07:05
854
原创 未卸载干净的proteus安装教程7.8
2、以管理员身份运行软件后,默认的ISIS Professional路径是C:\Program Files \Labcenter Electronics\Proteus 7 Professional 你直接点击升级是肯定不能升级成功的!因为你根本没有选择一个正确的路径,实际细心的你们会发现proteus7.8的真正安装路径是C:\Program Files (x86)\Labcenter Electronics\Proteus 7 Professional (1、一定要以管理员身份运行软件。
2024-06-10 16:00:30
782
原创 【高频】如何优化一个SQL语句
尽量避免在循环中执行单条SQL查询,可以考虑批量操作或者使用连接查询来减少查询次数。:对于一些静态数据或者频繁查询的数据,可以考虑使用缓存来减少数据库的查询压力。:定期分析表的性能,重新构建索引、收集统计信息等,以保持查询性能。:确保查询中涉及的字段上有合适的索引,避免全表扫描。:在查询条件中避免对列进行函数操作,这会导致无法使用索引。:只选择需要的列,避免返回不必要的数据,可以减少IO开销。:合理设计表的结构,避免过度范式化,以减少连接操作。),因为这样的查询无法充分利用索引。
2024-06-07 22:17:50
364
原创 【高频】什么是索引的下推和覆盖
在MySQL的查询优化过程中,覆盖索引是一种常见的优化技术。覆盖索引指的是一个查询可以仅通过索引就能够返回所需的所有列,而无需再次到表中查找。【当sql语句的所求查询字段(select列)和查询条件字段(where子句)全都包含在一个索引中(联合索引),可以直接使用索引查询而不需要回表。传统的索引通常只包含关键字和指向实际数据的指针,因此在查找时需要再次到表中进行查找,以获取其他列的数据。而覆盖索引则将覆盖列也包含进了索引中,可以直接从索引中返回所有需要的列,从而避免二次查找的开销,提高了查询效率。
2024-06-07 21:27:14
2249
2
原创 [高频]Linux中常见的命令及常见面试题
Shell 是 Linux 系统的命令解释器,Shell 脚本编程是通过编写一系列命令来实现自动化任务,比如批量处理文件、执行系统管理任务等。16.Linux 中的定时任务是如何实现的?18.Linux 系统中的 log 文件存放在哪里?13.Linux 下常见的压缩和解压缩命令有哪些?6.如何查看 Linux 系统的版本信息?常用的系统查看命令有哪些?7.Linux 下文件与文件夹的权限是如何设置的?12.如何查看 Linux 系统的网络配置信息?11.Linux 中的软链接和硬链接有什么区别?
2024-06-06 16:50:24
651
原创 什么是阻塞IO和非阻塞IO
NIO是为了弥补传统IO的不足而诞生的,NIO也有缺点,因为NIO是面向缓冲区的操作,每一次的数据处理都是对缓冲区进行的,在数据处理之前必须要判断缓冲区的数据是否完整或者已经读取完毕,如果没有,假设只读取了一部分,那么对不完整的数据处理没有任何意义。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率较高。:一个应用程序执行I/O操作时,会被阻塞,直到数据准备好或操作完成。应用程序发起一个 I/O 操作后,可以继续执行其他操作,当 I/O 操作完成时会通知应用程序。
2024-06-06 15:27:28
885
原创 【高频】你了解乐观锁和悲观锁吗?
问题:指的是,线程拿到了最初的预期原值A,然而在将要进行CAS的时候,被其他线程抢占了执行权,把此值从A变成了B,然后其他线程又把此值从B变成A,然而此时的 A 值已经并非原来的 A 值了,但最初的线程并不知道这个情况,在它进行 CAS 的时候,就会误认为它从来没有被修改过,只对比了预期原值为 A 就进行了修改,这就造成了 ABA 的问题。悲观锁的实现方式是加锁,加锁既可以是对代码块加锁(synchronized关键字、ReentrantLock),也可以是对数据加锁(MySQL中的排它锁)。
2024-06-05 17:01:24
1335
原创 【面经】亚信科技面试问题合集
索引的本质是一种数据结构,它通过存储数据的排序顺序或者哈希值来加速数据的查找。使用分段锁(Segment)来确保线程安全,每个 Segment 有自己的锁,不同 Segment 的数据修改操作可以并发进行,提高了并发性能。Java反射是一种机制,允许程序在运行时检查和操作类、对象、方法等的信息,可以通过反射获得类的构造器、字段、方法等信息,并动态调用它们。当表索引数据量大时,可以考虑对索引进行优化,使用合适的数据类型、调整索引顺序、添加覆盖索引或者使用分区表等方式来提升查询性能。
2024-06-05 16:26:45
1875
1
原创 Thread Local六连问,你扛得住吗?
ThreadLocal 可以用来存储当前线程的事务上下文,保证每个线程都能够独立地获取自己的事务上下文,而不会影响其他线程的事务操作。,它的泛型类型是 Integer。然后创建了两个线程,并分别启动它们。ThreadLocal 可以用来存储线程私有的对象实例,每个线程都可以独立地访问自己的对象实例,而不会受到其他线程的影响。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每个线程都可以独立地改变自己的副本,而不影响其他线程,做到了线程隔离。
2024-06-04 22:17:56
710
原创 InnoDB-MVCC多版本控制详解
MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库系统中,实现对数据库的并发访问,在编程语言中实现事务内存。【MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能,用更好的方式去处理读-写冲突,做到即使有读写冲突,也能做到不加锁,非阻塞并发读】
2024-06-04 17:36:11
663
原创 spring事务类型,事务传递,隔离级别?
在 Java 中,事务传递是指在多个事务嵌套执行的过程中,事务如何传递和处理。当一个方法调用另外一个方法时,如果这些方法都使用了事务,那么这些事务可能会被合并为一个大的事务,也可能会出现不同的嵌套级别。Spring中默认的事务传递行为是required,如果当前存在事务,则加入该事务;这是 Spring 中的事务传播行为类型,用于控制在一个事务方法调用另一个事务方法时,事务应该如何传播。:新建一个全新的事务,并且暂停当前事务,直到新建的事务完成。:以非事务方式执行操作,如果当前存在事务,则挂起该事务。
2024-06-03 19:21:02
358
原创 RocketMQ相关知识知多少
领域模型概述 | RocketMQApache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余年的大规模场景打磨,RocketMQ 已经成为业内共识的金融级可靠业务消息首选方案,被广泛应用于互联网、大数据、移动互联网、物联网等领域的业务场景。【RocketMQ是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式的特点,是采用java语言开发的分布式的消息系统。
2024-06-03 19:15:46
847
原创 【高频】如何保证缓存和数据库一致
缓存与数据库的数据一致性指的是,缓存中存储的数据与数据库中存储的数据需保持一致。即缓存中存有数据,缓存的数据值 = 数据库中的值;缓存中没有该数据,数据库中的值 = 最新值。缓存中有数据,那么缓存中的值需要和数据库中值相同。缓存中本身没有数据,那么,数据库中的值必须是最新值。缓存中有数据,但是缓存中的数据与数据库中的数据不一致。缓存或者数据库中存在旧的数据,导致单个线程读到的数据是旧的。
2024-05-30 22:53:48
1210
1
原创 Java中的ORM框架——myBatis
ORM 的全称是。Object代表应用程序中的对象,Relational表示的是关系型数据库,Mapping即是映射。结合起来就是在程序中的对象和关系型数据库之间建立映射关系,这样就可以用面向对象的方式,方便快捷地操作数据。ORM 框架是一种数据持久化技术,即在对象模型和关系型数据库之间建立起对应关系,并且提供一种机制,可通过 JavaBean 对象操作数据库表中的数据。
2024-05-29 22:22:51
1232
人力资源管理系统(Vue、SpringBoot和MyBatis-Plus等)
2024-02-04
可视化程序设计(内含源代码)
2024-02-04
单片机教程与设计(实验报告)
2024-02-04
客房订阅管理系统课程设计(内含源代码)
2024-02-04
编译原理教程的实验报告
2024-02-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人