自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (6)
  • 收藏
  • 关注

原创 STM32串口控制LED灯的亮灭

STM32中的串口控制LED灯的亮灭,分为两种方式,一种是直接发送数字0和1来控制灯的亮灭,另一种是通过发送字符串来控制。我所使用的开发板主控芯片是STM32F401RET6,主频84MHz,首先要进行串口的初始化:/*函数功能:串口的初始化函数名:Usart_Init返回值:无参数:u32 brr备注:USART1_TXD->PA9USART1_RXD->PA10*/void Usart_Init(u32 brr){ float div; u16 div

2022-01-19 21:33:48 21309

原创 STM32按键控制LED

在STM32中,按键控制LED灯主要有两种方式,一种是按键按下,LED亮,按键松开,LED灭;另一种是每按一次按键,LED在亮与灭之间反转。我所使用的开发板是STM32F401RET6:(1)#define LED4_ON GPIOB->ODR &= ~(1 << 8)#define LED4_OFF GPIOB->ODR |= (1 << 8)#define LED3_ON GPIOB->ODR &= ~(1 <&

2022-01-19 19:36:31 6852 2

原创 好未来25校招Web前端开发工程师部分笔试题解析

给定一个24小时制(小时:分钟 "HH:MM”)的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。第二次握手:服务器收到客户端的SYN包后,回应一个SYN-ACK包,表示同意建立连接并确认收到SYN包。至此,连接建立成功。D.遍历数组并使用计数排序的方法来统计每个数字出现的次数,然后根据这些统计结果找出第k大的元素。C.使用快速选择算法,它是快速排序的变种,在平均情况下能在O(n)时间内找到第k大的元素。C.先遍历一次数组找到最大值,再遍历一次去除最大值后的数组找到第二大的值。

2025-03-22 15:35:03 507

原创 2025校招4399游戏客户端开发工程师部分笔试题解析

你可以选择任意连续K个宝石合并成一个新的宝石,新宝石保持在原队列的位置且它的能量值是这K个宝石能量值之和。给定一个幸运值N=0、一堆包含能量值的宝石,你的任务是找到将所有宝石合并成一个宝石的最大幸运值。2.在一个二维网格中,有一个起点S、一个终点E和一个必须经过的中间点M。C++ 的多态性正是通过基类指针或引用调用派生类覆盖的虚函数实现的,这是运行时多态的核心机制。光线追踪带来的抗锯齿效果是其渲染方法的自然结果,而不是一个独立的算法。宝石具体能量值:[10, 7, 2, 6, 5, 11, 8];

2025-03-15 10:56:53 1000

原创 vivo软件算法类部分笔试题解析

更令人惊讶的是,两个不同的平衡括号序列的平衡混洗总是不同的,因此平衡混洗操作是任何给定长度的平衡括号串集上的双射(我们也将省略此证明),你会得到一个平衡的括号序列。初始数组[1,2,3,4,5],最大异或值有xor(2,5)=7,XOR(3,4)=7,小明会先取出(2,5);小明和小红正在比赛玩一个游戏,在给定的一个数组data中,两人按次序操作,分别都取出两个数(data[i],data[j]),使得这两个数满足异或值最大。此表的最后一行形成另一个圆括号序列,在本例中为"()(()())"。

2025-03-08 09:56:50 793

原创 【2】好未来JAVA开发工程师部分笔试题解析

nums r-1, nums r],若对所有l (1<=i<r),nums i>nums i+1都成立,则称这一子数组为降序子数组。现在,给出位于一条水平线上的房屋houses和供暖器heaters的位置,请你找出并返回可以覆盖所有房屋的最小加热半径。已知存在楼层f,满足0<=f<=n,任何从高于f的楼层落下的鸡蛋都会碎,从f楼层或比它低的楼层落下的鸡蛋都不会破。给你一个正整数组成的数组nums,返回nums中一个降序子数组的最大可能元素和。[50,10]是元素和最大的降序子数组,最大元素和为60。

2025-03-03 19:14:44 351

原创 【1】好未来JAVA开发工程师部分笔试题解析

解析方法的返回类型和参数名称不影响方法重载。仅通过修改返回类型或参数名称,不能实现方法重载。

2025-03-02 18:52:25 689

原创 【2】兴业数金 Java 部分笔试题解析

合法的 try 语句块必须包含 try 块,并且至少包含一个 catch 块或一个 finally 块。给定一个长度为n的数组,数组中的每个元素,表示一根水管的长度,水管可以在任意位置锯开。调用 sleep() 方法、创建新线程、高优先级线程进入就绪状态只会暂停或抢占线程的执行,而不会终止线程的运行。A.抽象类中可以包含非抽象的普通方法,接口中的方法必须是抽象的,不能有非抽象的普通方法。接口中的成员变量必须是常量(static final),而抽象类可以有普通成员变量。

2025-03-01 17:42:44 773 2

原创 【1】兴业数金 Java 部分笔试题解析

解析A.abstract关键字应该放在class关键字之前。C.抽象方法不能有方法体。D缺少了class关键字。

2025-02-28 21:23:58 1189

原创 赛迪信息面试题整理

wait()是Object类的成员方法,在让线程进入等待状态的同时,会释放线程已经持有的锁,需要被其他线程调用notify()或notifyAll()方法唤醒,并且wait()方法必须在同步代码块中使用。但是,一致性哈希可能存在数据倾斜的问题,即服务器在hash环上分布不均匀,为了解决这个问题,可以引入虚拟节点的概念,为每个服务器创建多个虚拟节点,让这些虚拟节点更均匀地分布在hash环上。sleep()是Thread类的静态方法,在让线程休眠的同时,不会释放任何已经持有的锁,时间到自动唤醒。

2025-02-15 16:51:24 402

原创 南京某企业面试题整理

substring(int beginIndex)截取字符串的一部分,concat(String str)将指定的字符串连接到该字符串的末尾,trim()去除字符串两端的空白字符,toUpperCase()和toLowerCase()转换大小写,split(String regex)分割字符串。:equals(Object obj)比较两个字符串的内容是否相同,区分大小写,equalsIgnoreCase(String anotherString)比较两个字符串的内容是否相同,忽略大小写。

2025-02-14 17:57:43 419

原创 【6】阿里面试题整理

IoC,即控制反转,是一种设计思想,它将对象之间的依赖关系的控制权从对象自身转移到外部容器。AOF适合用于数据安全性要求高的场景,例如,金融系统的缓存层,需要保证数据的完整性和可靠性。RDB的优点是文件紧凑、恢复速度快、对性能影响小,缺点是存在数据丢失的风险。VisualVM是一个功能更强大的工具,不仅包含了JConsole的所有功能,还提供了性能分析器,可以分析CPU和内存的使用情况,帮助定位性能瓶颈。CMS适用于对停顿时间敏感,CPU资源充足的应用,而G1适用于大堆内存,对停顿时间有要求的应用。

2025-02-14 12:39:27 624

原创 【5】阿里面试题整理

ZooKeeper是一个开源的分布式协调服务,核心功能是通过树形数据模型(ZNode)和Watch机制,解决分布式系统的一致性问题。它使用ZAB协议保障数据一致性,典型场景包括分布式锁、配置管理和服务注册发现、集群管理等。ZooKeeper通常以集群的方式部署,由多个ZooKeeper服务器组成。集群中有一个领导者服务器,负责处理客户端的写请求,并将数据同步到其他服务器;其他服务器是追随者,负责处理客户端的读请求。

2025-02-09 21:21:40 369

原创 【1】快手面试题整理

Minor GC会把Eden区和From Survivor区中存活的对象复制到To Survivor区,同时存活对象的年龄会加1。之后清空Eden区和From Survivor区,然后From Survivor和To Survivor的角色会互换。空间不足、或者新生代GC后存活的对象需要晋升到老年代但老年代空间不足,或者方法区空间不足时,会触发老年代GC(也叫Major GC或者Full GC)。首先是幂等消费,确保消息被多次消费与只消费一次的效果是一样的,例如可以通过数据库的唯一索引或者状态检查实现。

2025-02-03 16:57:57 522

原创 【4】阿里面试题整理

数据库死锁是指两个或多个事务,由于互相请求对方持有的资源而造成的互相等待的状态,导致它们都无法继续执行。死锁会导致事务阻塞,系统性能下降甚至应用崩溃。比如:事务T1持有资源R1并等待R2,事务T2持有R2并等待R1,这就形成了一个循环等待,导致死锁。

2025-02-02 18:43:08 1291 1

原创 【3】阿里面试题整理

扩容的时候,HashMap会创建一个新的数组,容量是原数组的2倍,然后把原数组中的元素重新计算hash值,并根据新的数组容量重新分配到新的数组中。方面,最常用的是旁路缓存模式,即先查缓存,缓存没有再查数据库,并且把数据写入缓存,更新数据的时候,先更新数据库,然后删除缓存。的操作,会导致HashMap的性能下降,所以,如果在预知存储的数据量比较大的情况下,最好在初始化的时候设置一个合理的容量,,每次插入、更新或者删除数据的时候都需要更新索引,创建过多的索引会增加数据库的负担。

2025-02-01 20:23:10 613

原创 【2】阿里面试题整理

则关注的是整个网络环境。如果浏览器缓存未命中,操作系统会检查自身的DNS缓存,如果操作系统缓存也未命中,操作系统会向配置的本地DNS服务器发起查询。超时重传是最基本的机制,发送端发送数据包后启动定时器,如果在定时器超时前没有收到接收端的确认,则重传数据包。与GET不同,POST请求通常不会被缓存,且不具备幂等性,多次发送相同的POST请求,可能会对服务器产生不同的影响。另外,GET请求通常会被浏览器缓存,以便下次快速访问,具有幂等性,即多次发送相同的GET请求,结果应该是一样的,不会对服务器产生副作用。

2025-01-30 20:14:53 1143

原创 开发者交流平台项目部署到阿里云服务器教程

本文使用putty软件在本地Windows系统远程控制Linux服务器;其中,Windows系统为Windows 10专业版,Linux系统为CentOS 7.6 64位。

2025-01-28 20:23:17 977

原创 【1】阿里面试题整理

在JDK 8之前,如果索引位置已经有元素,新的Node节点会以链表的形式插入到该位置的末尾。如果超过了,就会触发扩容操作,创建一个新的、容量更大的数组,并将旧数组中的所有元素重新散列到新数组中。MyBatis Plus还提供了通用的Service接口,添加了一些业务方法,可实现基本的业务逻辑,而无需手动编写业务代码。副本机制是Kafka确保数据一致性的基础,使用ISR(In-Sync Replica)机制来处理副本之间的同步,将消息持久化到硬盘中,以确保消息在发生故障时不会丢失。

2025-01-27 20:59:25 478

原创 百济神州后端开发工程师 - 部分笔试题 - 解析

现在可以进行若干次操作,每一次操作对所有元素进行一次修改:对于编号为i的元素,若i是偶数,则a[i]= a[i/2],若i是奇数,则a[i]= a[n/2+(i-1)/2],现在小明想知道最少操作多少次(不可以不操作),能使得操作后的数组变成原数组。主存状态:[20MB (已用)], [40MB (空闲)], [40MB (已用)], [70MB (已用)], [10MB (空闲)]。因此,最大的空闲分区大小是 40MB。现在小明有一个长度为n的数组a,编号为0到n-1,其中初始条件下a[i]=i,

2025-01-08 20:28:39 909

原创 点点互动部分笔试题-解析

A.GROUP BY子句用来分组WHERE子句的输出结果集B.WHERE子句用来限制SELECT语句从表中指定选取的行C.HAVING子句用来从分组的结果中筛选列D.HAVING在查询语句中必须依赖于GROUP BY。

2025-01-06 18:30:18 833

原创 【2】金山办公服务端部分笔试题 - 解析

但有个限制,小红不能从’r’走到’d’,从’e’走到’r’,从’d’走到’e’,其他情况都能走。现在有一个数组,嘤嘤想把这个数组变成"长城",即对于"长城"中每一个元素左右两边的元素相等,并且与它不相等。例如{2,1,2,1,2},{1,9,1,9}是长城,{2,1,3,2,4},{1,1,4,5,1,4}则不是长城。假如Niumei最喜欢吃pizza,最喜欢数字3,YOLO最喜欢吃fish,最喜欢数字6,Niu Ke Le最喜欢吃potato,最喜欢数字0,Mona最喜欢吃beef,最喜欢数字3。

2025-01-05 20:05:46 489

原创 【1】金山办公服务端部分笔试题 - 解析

方法重载是指在同一个类中定义多个方法,它们具有相同的名称,但参数列表不同(参数的数量、类型或顺序不同),与返回类型和访问修饰符无关。: 选择权值最小的两个节点,创建一个新的父节点,其权值为这两个子节点的权值之和。mid = (2 + 2) / 2 = 2,中间元素是 24,查找成功。: 重复步骤 3 和 4,直到只剩一个节点,即哈夫曼树的根节点。mid = (0 + 6) / 2 = 3,中间元素是 35。mid = (0 + 2) / 2 = 1,中间元素是 18。

2025-01-05 20:04:03 876

原创 广州乐牛游戏服务端开发工程师部分笔试题 - 解析

牛牛的通勤路上有两种选择,要么走路,要么打车,牛牛走路的速度是1m/s。打车的速度的10m/s,但是打车需要等出租车10s,请你计算牛牛想尽快到公司应该选择打车还是走路。给定一个元素升序的、无重复数字的整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标(下标从0开始),否则返回-1。:C选项正确的写法是 int[] a = new int[]{1, 2, 3, 4, 5};输出牛牛想尽可能快到公司应该选择打车还是走路,走路的话输出w,打车的输出v。

2025-01-04 12:52:11 366

原创 小天才 & 步步高 - Web 后台工程师部分笔试题 - 解析

D.一个子类实现了Serializable接口,它的父类都没有实现Serializable接口,序列化该子类对象,然后反序列化后输出父类定义的某变量的数值,该变量数值与序列化时的数值也一定相同。D.synchronized是托管给JVM执行的,lock的锁定是通过代码实现的,它有比synchronized更精确的线程语义.C.如果类的源代码进行了修改,再重新编译,新生成的类文件的默认的seriaIVersionUID的值会发生变化。

2024-12-31 12:42:03 741

原创 杉川机器人 - Java 开发工程师部分笔试题 - 解析

一次只能扔一个棋子。因为只有1棵棋子,所以不得不从第1层开始一直试到第10层,在最差的情况下,即第10层是不会摔坏的最高层,最少也要扔10次.若没碎,第一个棋子继续在27层扔,碎了则用仅存的一个棋子试15~26层。若没碎,第一个棋子继续在39层扔,碎了则用仅存的一个棋子试28~38层。若没碎,第一个棋子继续在50层扔,碎了则用仅存的一个棋子试40~49层。若没碎,第一个棋子继续在60层扔,碎了则用仅存的一个棋子试51~59层。若没碎,第一个棋子继续在69层扔,碎了则用仅存的一个棋子试61~68层。

2024-12-29 11:06:13 663

原创 华诺星空 Java 开发工程师笔试题 - 解析

A. start()B. init()C. run()D. main()

2024-12-28 21:28:46 691

原创 成方金融科技后端部分笔试题 - 解析

A.将请求分发到多个后端服务器的过程B.将数据存储在多个节点之间的过程C.确保多个事务的一致性的过程D.将计算任务分配给多个处理器的过程。

2024-12-22 15:53:56 1310

原创 上海期货信息技术部分笔试题 - 解析

在Java 8之前,接口中的方法不能有方法体。但从Java 8开始,接口可以有默认方法(default method)和静态方法(static method),它们可以有方法体。原题没有加“特有的”,A是 Java 风格的多行注释,C是HTML注释方式,JSP 页面中也可以使用这两种注释。在Java中,字符串是引用数据类型,== 比较的是字符串的引用地址,而不是内容。这对于比较字符串内容是否相等不太合适。synchronized 关键字既可以作用于方法(同步方法),也可以作用于代码块(同步代码块)。

2024-12-20 18:32:52 752

原创 Java 面经之 Kafka

包含了OSI七层模型中的数据链路层和物理层,是TCP/IP协议的最底层,通过网络媒介传输数据,负责网络接口与硬件设备之间的联系。将OSI七层模型中的应用层、表示层、会话层合并在了一起,是TCP/IP体系结构的顶层,负责提供网络服务和应用程序之间的接口。负责为分组交换网上的不同主机提供通信服务,将数据从源主机传输到目标主机,通过路由器实现不同网络之间的通信。,Kafka的集群数量主要是看生产者端消息的峰值生产速度,确保集群具有一定的冗余能力以应对单点故障。Kafka的集群数量通常需要按照实际业务需求来确定。

2024-12-16 19:51:39 462

原创 Java面经之MySQL

可以保证数据的一致性,而Redis是单节点的,不支持分布式事务,在并发访问时可能会出现数据不一致的情况。指的是事务中的所有操作要么全部执行成功并且对数据库产生了影响,要么全部失败回滚,并且对数据库没有任何影响。是指事务执行过程中涉及的操作结果必须满足数据库的约束和规则,保证数据库的完整性没有被破坏。是指一个事务一旦被提交,在数据库中的改变就是永久的,即使系统崩溃,这些改变也不会丢失。是指在并发场景中,事务之间是相互隔离、互相独立的,一个事务的执行不受其他事务的影响。,具有完整的结构和功能,可以进行。

2024-12-07 22:00:58 334

原创 【深信服笔试题】数据解码算法

小明是一名间谍,他需要将情报数据(由多组数字组成,每一组有多个小于10的正整数)编码后传回总部。编码算法是这样的:针对一组数字,做逆序倒排,然后顺序打乱分成多行,每一行放一个数。对于每组测试数据输出一行,包含多个整数,相邻两个整数之间以一个空格隔开(最后一个整数之后不要有空格),整行表示解码后的一组数字。其中,a(a<=1000)表示数,b表示下一个数的行数(当前组的第一行实际内容为第一行),如果b为0,则表示没有下一个数。接下来n行,每行有两个非负整数a和b,以空格隔开,表示一个数的信息。

2024-12-05 19:08:28 262

原创 Java 面经之 Spring

DispatcherServlet收到请求后会调用处理器映射器(HandlerMapping),根据请求的URL找到对应的处理器(Handler),生成Handler对象以及处理器拦截器(HandlerIntercepter)一并返回给DispatcherServlet。,主要用于处理Web层的请求和响应,构建传统的Web应用程序。,其中应用程序被分解为小型、自治的服务单元,每一个服务单元也都是一个微服务,具有独立的功能和责任,可以独立开发、测试、部署和扩展,并能使用轻量级通信机制相互通信。

2024-12-02 22:07:36 1364

原创 Java面经之JVM

JVM内存模型指的是运行时数据区。主要分为堆(Heap)、虚拟机栈本地方法栈方法区程序计数器(Program Counter Register)这五个部分。虚拟机栈、本地方法栈、程序计数器为线程私有,堆和方法区为线程共享区。堆是各个线程共享的内存区域,在虚拟机启动时创建。几乎所有的对象实例都在这里分配内存。方法区也是各个线程共享的内存区域,用于存储已被虚拟机加载的类信息、常量、静态变量等数据。程序计数器用于记录下一条JVM指令的执行地址,字节码解释器。

2024-11-27 20:43:42 514

原创 Java 面经 - HashMap

当线程T1和线程T2都准备对HashMap进行扩容操作,此时T1和T2都指向链表的头节点A,且T1和T2的下一个节点分别是T1.next和T2.next,都指向B节点。接下来开始扩容,这时,假设线程T2的时间片用完,进入了休眠状态,此时,线程T1开始执行扩容操作,线程T1执行完成之后,如果需要删除的节点有两个子节点,找到该节点的中序遍历后继节点,将其值复制到需要删除的节点中,然后删除后继节点。首先访问树的根节点,然后访问根节点的所有子节点,再访问子节点的子节点,依此类推。适用于生产者-消费者模型。

2024-11-25 19:35:48 472

原创 Java面经之【多线程】

死锁是指两个或多个事务在相互等待对方释放锁资源,从而导致彼此永远等待下去的情况。乐观锁假设多个事务之间不会发生冲突,因此在不进行锁定的情况下进行数据修改,在数据进行提交更新的时候,才会对数据的冲突与否进行检测。通常通过版本号(version)或时间戳(timestamp)字段来实现。适合读操作多的场景。悲观锁假设多个事务之间往往会发生冲突,因此在数据访问之前先对数据进行锁定,以防止其他事务对数据进行修改。适合写操作多的场景。指令重排序是一种对程序中的指令执行顺序进行调整的优化技术。

2024-11-23 21:32:29 716

原创 【1】流利说面经整理

CAP理论是指在分布式系统设计中,没有一种设计可以同时满足(一致性)、(可用性)、(分区容错性)3个特性,最多只能同时满足三个特性中的两个。一致性强调的是所有节点在同一时刻看到的数据必须是相同的;可用性强调的是系统能够持续正常运行并对外提供服务;分区容错性强调的是系统中任意信息的丢失或失败不会影响系统的继续运作。

2024-11-19 22:12:17 461

原创 【笔试题】Java实现格式化 Unix 时间戳

【代码】【笔试题】Java实现格式化 Unix 时间戳。

2024-11-19 22:09:36 326

原创 【2】猫眼娱乐后端开发面试题整理

在Java中,存在一个存储字符串对象的特殊内存区域字符串常量池。当创建一个字符串时,如果该字符串已经存在于字符串常量池中,直接返回这个字符串的引用;如果不存在,将该字符串添加到字符串常量池中,并返回新创建的字符串的引用。String类内部使用一个final修饰的字符数组来存储字符序列。final关键字确保了该数组在String对象生命周期内不会被重新赋值。主要还是String的不可变性,一旦String对象被创建,其内部的字符序列就不能被改变。

2024-11-17 17:25:34 1388

原创 【1】猫眼娱乐后端开发面试题整理

锁升级的意义在于提高多线程环境下的性能和吞吐量,减少同步操作的开销,并尽量避免线程切换的开销。锁升级是Java中synchronized关键字实现同步机制时,锁状态随着竞争情况逐渐升级的一个过程。synchronized锁有四种状态,级别从低到高依次是:无锁状态、偏向锁状态、轻量级锁状态和重量级锁状态。当第一个线程访问同步块并获取锁时,锁从无锁状态升级为偏向锁。当第二个线程尝试获取同一个锁时,如果发现该锁已经是偏向锁,并且偏向的线程仍然存活,则JVM会将锁升级为轻量级锁。

2024-11-17 17:23:06 995

侧馈矩形微带贴片天线中的相关计算

用MATLAB计算矩形微带贴片天线的尺寸和1/4波长阻抗变换器的特性阻抗

2023-08-09

STM32串口发送字符或字符串控制LED灯

1、 发送31,使LED3亮;发送30,使LED3灭; 发送41,使LED4亮;发送40,使LED4灭; 2、 发送LED3_ON,使LED3亮;发送LED3_OF,使LED3灭; 发送LED4_ON,使LED4亮;发送LED4_OF,使LED4灭

2022-01-19

STM32按键控制LED

1、按键按下,灯亮,松开,灯灭 2、每按一次按键LED状态反转一次 主控芯片STM32F401RET6

2022-01-19

大学物理实验绪论课作业答案

大学物理实验绪论课作业含答案

2022-01-19

ASCII码表(0-127).pdf(标准打印版)

方便查阅

2022-01-07

C语言运算符优先级表.pdf

C语言运算符优先级表.pdf

2022-01-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除