面试
文章平均质量分 54
甜瓜瓜哥
这个作者很懒,什么都没留下…
展开
-
版本控制及其常用系统
版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。原创 2023-12-06 23:06:24 · 296 阅读 · 0 评论 -
我的创作纪念日
大二正赶上疫情,居家上网课,一次偶然的机会来到CSDN平台,当时主要是尝试以博客的形式记录课堂笔记和心得体会。目前博文分享和刷算法题已经成为了我学习中的主旋律,平衡好校内学习和课题工作的同时,不断提升基础与代码能力。期待三年后的自己能到自己喜欢的地方去,成为一名优秀的工程师,并持续继续分享更高质量的内容!大三期间,忙于保研,博客记录和分享遂被搁置起来了…原创 2023-12-01 21:35:01 · 43 阅读 · 0 评论 -
微信小程序前端框架的实现思路
微信小程序前端框架可以采用类似传统前端开发的方式,使用HTML、CSS和JavaScript来构建界面和交互逻辑。微信小程序框架提供了一些特定的API和组件,可以方便地与微信的生态系统进行交互。原创 2023-11-04 12:24:06 · 152 阅读 · 0 评论 -
知识图谱的作用及其更新方式
知识图谱是一种以图形结构表示知识的方法,它包含了实体(如人物、地点、事物)以及它们之间的关系。知识图谱可以用于帮助计算机理解和处理自然语言,进行信息检索,进行推荐系统等多种应用。需要注意的是,知识图谱的更新是一个持续的过程,随着时间推移,新的信息会不断涌现,旧的信息也可能发生变化,因此保持知识图谱的及时性和准确性是非常重要的。原创 2023-11-04 12:11:43 · 1034 阅读 · 0 评论 -
常见的机器学习模型
机器学习模型是一种利用数据来进行预测、分类或者其他任务的数学模型。原创 2023-11-04 11:55:03 · 317 阅读 · 0 评论 -
安全复习题
哈希算法,MD5算法用于生成消息摘要,通常用于验证数据的完整性。然而,由于MD5存在碰撞(两个不同的输入可以产生相同的哈希值)和弱点,因此在一些安全性要求高的场景下,已经不推荐使用MD5。非对称加密算法,RSA算法用于数据的非对称加密和数字签名。它包括公钥和私钥,公钥用于加密和验证数字签名,私钥用于解密和生成数字签名。椭圆曲线数字签名算法,SM2是我国国家密码管理局制定的一种非对称加密和数字签名算法,基于椭圆曲线密码体制。对称加密算法,3DES是DES算法的改进版,使用三个密钥进行多轮加密,提高了安全性。原创 2023-11-02 23:18:52 · 72 阅读 · 0 评论 -
数据库复习题
对于低基数(即列中不同值的数量相对于行数来说很少)的列,位图索引可以极大地提高查询性能。它们在执行复杂的查询(如多列的 AND、OR、NOT 操作)时尤其有效,因为可以快速地对不同列的位图进行逻辑操作。:位图索引特别适合于数据仓库的查询模式,因为数据仓库通常涉及大量的聚合和多维分析查询,这些查询通常在少数几个列上进行过滤。:位图索引在存储上非常高效,特别是对于那些具有少量不同值的列(如性别、国家、状态等)。:位图索引在某些数据库系统中可以有效支持并行查询处理,这对于大型数据仓库环境是非常有利的。原创 2023-11-02 23:18:21 · 53 阅读 · 0 评论 -
材料分析题
在国家的立法中,不仅确认了有关封建宗法制度的大量内容,而且承认宗法家规具有一定的法律效力,是国法的重要补充。杂文家邵燕祥的作品不仅具有创新性,而且很讲究文章气势,智慧结合了勇毅,在其文字中有棱角,显风骨,无媚态,形成一种特有的气势。填入横线上的一句话,最恰当的是( )。达尔文有句名言,“我坚持奋战五十五年,致力于科学的发展,用一个词可以道出我最艰辛的工作特点,这个词就是失败。:片段中达尔文用失败两个词来形容他五十五年的奋斗,说明他的工作是在失败中不断探索前进的,所以选C。D.一个负责任的人总是令人信任的。原创 2023-11-02 23:17:35 · 418 阅读 · 0 评论 -
数据结构与算法复习题
顺序查找是一种基本的查找技术,它按顺序逐个检查列表中的元素,直到找到匹配项或者遍历完整个列表。因此,顺序查找适用于无序列表。其他选项 B. 查找插找、C. 二分查找和D. 分块查找通常用于有序列表或特定数据结构中进行高效的查找。D. 错误,因为接口中的方法默认是public的,不能使用其他访问修饰符。A. 错误,因为在接口中只能声明常量,而且它们必须使用。在接口中下面的属性和方法的声明哪些是错误的?B. 正确,因为它声明了一个抽象方法。C. 错误,因为接口中不能有构造方法。原创 2023-11-02 23:16:43 · 286 阅读 · 0 评论 -
Java复习题
【代码】Java复习题。原创 2023-11-02 23:15:11 · 42 阅读 · 0 评论 -
计网复习题
将网络映射为链路层相应地址的协议是ARP解析:地址解析协议(ARP)模块将IP地址映射为链路层相应地址,映射是动态的,当网络结构变化的时候,ARP自动重新映射。以下IP地址中属于私网地址的是()A. 172.30.60.1B. 9.9.9.1C. 172.33.61.1D. 192.128.2.1答案:A解析:私有IP地址范围:1)172.16.0.0 到 172.31.255.255 2)192.168.0.0 到 192.168.255.255在配置防火墙时允许IMAP协议通过则需要原创 2023-11-02 23:14:27 · 36 阅读 · 0 评论 -
字符串排序
每个字符串至少含有一个数字字符,按如下规则降序排序:(1) 按照字符串中字母字符个数和数字字符个数(字母数字比)的比值大小进行排序。(2) 若两个字符串的字母数字比相同。则按照字符串本身大小进行排序。输入值:[“abc123”,“abc+1234”,“abcabab–1”]返回值:[“abcabab–1”,“abc123”,“abc+1234”]原创 2023-11-02 23:15:42 · 1262 阅读 · 0 评论 -
快慢指针法判断链表是否有环
也可以在快指针和慢指针相等时break跳出循环,然后判断快指针和快指针的next是不是都不为null,若是说明有环,返回true;否则说明无环,返回false。每次移动后判断快指针和慢指针是否相等,若相等且不为null,则说明有环,返回true。若循环结束,说明没有环,返回false。快慢指针的初始值均设为head,每次移动慢指针一步,移动快指针两步。,两个指针一起移动,每次都移动一步。两个指针相遇的点就是入环点。循环的条件为快指针不为null且快指针的next不为null。原创 2023-11-02 23:16:00 · 277 阅读 · 0 评论 -
监督学习和无监督学习
把所有的数据看做空间中的点,这些点之间用边连起来,距离较远的边权值低,距离较近的边权值大。对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的。(1)结果B发生的情况下原因A发生的概率为:A发生的条件下B发生的概率,乘以A发生的概率,除以B发生的概率。(2)特征为B时,类别是A的概率 = 类别是A时,特征为B的概率,乘以类别为A的概率,除以类别为B的概率。(2)对于每个样本xi,计算它到k个聚类中心的距离,并将其分到距离最短的中心所在的类。原创 2023-11-01 21:38:59 · 46 阅读 · 0 评论 -
如何解决过拟合问题
过拟合是指模型对于训练数据拟合过当,模型在训练集上的表现很好,但在测试集和新数据上的表现较差。原创 2023-11-01 21:31:11 · 578 阅读 · 0 评论 -
不使用中间变量交换两个变量的值
a = a ^ b:最后一步将 a 更新为原始 a 和新的 b(原始 a 和 b 的异或结果)的异或结果。这将得到原始 b 的值,同时 a 中存储的是原始 a 和 b 的异或结果。b = a ^ b:这一步将 b 更新为新的 a(原始 a 和 b 的异或结果)与原始 b 的异或结果。a = a ^ b:这一步将 a 更新为 a 和 b 的异或结果。因为异或运算满足交换律和结合律,所以此时的 a 存储的是原始 a 和 b 的异或结果。经过这三步操作,a 和 b 的值会互相交换,而且不需要借助中间变量。原创 2023-11-01 21:17:49 · 113 阅读 · 0 评论 -
Python中is和==的区别
python中is比较的是对象的地址,==比较的是对象的内容。原创 2023-11-01 21:14:35 · 27 阅读 · 0 评论 -
Python中为什么没有函数重载
但Python中函数的参数可以有默认值,可以使用关键字参数和可变参数,因此虽然没有函数重载,也可以让一个函数根据调用者传入的参数产生不同的行为。Python是动态类型语言,函数的参数没有类型约束,也就无法根据参数类型来区分重载方法。原创 2023-11-01 21:13:27 · 117 阅读 · 0 评论 -
Python迭代器和生成器
并保存当前运行的信息,返回yield的值,等待被重新唤醒后从当前位置继续运行。:生成器是生成元素的,迭代器是访问集合元素的一中方式。迭代输出生成器的内容。的对象,从集合的第一个元素开始访问,直到所有元素访问结束。迭代器对象可以用for语句或while语句来遍历。在调用生成器运行的过程中,的函数被称为生成器,它会。原创 2023-11-01 21:12:06 · 29 阅读 · 0 评论 -
动态语言和静态语言区别
动态语言是运行时才确定数据类型的语言,变量在使用之前无需申明类型。通常变量的值是被赋值的那个值的类型。静态语言是编译时变量的数据类型就可以确定的语言,大多数静态语言要求在使用变量之前必须申明数据类型。原创 2023-11-01 21:08:49 · 32 阅读 · 0 评论 -
Python如何拷贝一个对象
还可以使用copyreg.pickle模块的dumps和loads方法来自定义指定类型对象的拷贝行为。deepcopy可以通过memo字典来保存已经拷贝过的对象,从而避免刚才所说的自引用递归问题。浅拷贝通常只复制对象本身,而深拷贝不仅会复制对象,还会递归的复制对象所关联的对象。copy.copy()浅拷贝,copy.deepcopy()深拷贝。deepcopy函数的本质就是对象的一次序列化和一次反回序列化。原创 2023-11-01 21:06:10 · 206 阅读 · 0 评论 -
Python是如何实现内存管理的
CPython解释器的内存管理有三个关键点:引用计数、标记清除、分代收集。自动内存管理减轻了程序员的工作负担,也在一定程度上解决了内存泄露问题。python的内存管理由。原创 2023-11-01 21:03:38 · 26 阅读 · 0 评论 -
Python多线程
GIL会在I/O调用(会调用内建的操作系统C代码)之前被释放,以允许其他线程在这个线程等待I/O的时候运行。我们可以把一些计算密集型任务用C语言编写,然后把.so链接库内容加载到Python中,因为执行C代码,GIL锁会释放,这样一来,就可以做到每个核都跑一个线程的目的。python有GIL(全局解释器锁)的限制,虽然Python解释器可以运行多个线程,但只有一个线程在解释器中运行。当python调用C扩展的时候,可以在C扩展中把GIL释放掉,从而达到使用多线程并行的目的。原创 2023-11-01 21:01:30 · 30 阅读 · 0 评论 -
原码、反码和补码
(3)如果使用补码,+0和-0的补码是一样的,都为全0。而1000 0000就用来表示-128的补码,因为-127的补码和-1的补码相加,和为1000 0000。(2)如果把原码相减,变成反码相加,计算机实现就很容易。但是+0和-0的反码不一样,遇到0时是用+0还是-0计算,就会产生分歧。总结:补码的存在解决了0的符号问题,同时统一了计算机的加减法运算。负数的反码等于原码除符号位外各位都取反。负数的补码等于反码加1。(1)原码是方便人看的,计算机做减法需要借位,实现很不方便。正数的原码反码和补码相同。原创 2023-11-01 20:29:54 · 110 阅读 · 0 评论 -
什么是操作系统
参考资料:什么是操作系统原创 2023-11-01 20:24:35 · 29 阅读 · 0 评论 -
优化数据库查询的十大方法
参考资料:如何优化数据库查询原创 2023-11-01 19:58:31 · 539 阅读 · 0 评论 -
DBMS的分类
NoSQL DBMS,不依赖于固定模式,可以处理半结构化、非结构化和高度变化的数据。OLAP,用于分析大量的历史数据,通常需要支持复杂的查询和聚合操作。OLTP,用于处理日常的交易性操作,通常需要快速的读写能力。数据存储在磁盘上,可以处理大规模数据但通常读写速度较慢。OODBMS,以面向对象的方式来组织和处理数据。数据分布在多个计算机上,可以处理大规模数据集。数据存储在内存中,可以实现非常快速的读写操作。RDBMS,基于关系模型,使用表来组织数据。运行在单个计算机上,处理相对较小的数据集。原创 2023-10-30 10:19:22 · 338 阅读 · 0 评论 -
Linux进程的几种状态
运行后发现处于S+状态,这时因为printf需要对外设-显示器进行打印的,而显示器比较慢,等待其就绪是需要时间的,因此大部分时间处于S+状态,只有少部分时间处于R状态。在进程需要使用磁盘进行读写的时候,需要磁盘为其分配资源再由CPU对其进行读写,但如果磁盘没有就绪,那么此时操作系统会将想要调用磁盘资源的进程放到一个名为。我们知道处于X状态的进程中的资源会被回收,回收者为该进程的父进程。运行状态,在处理队列的时候,所有在排队的进程都是处于R状态的。死亡状态,CPU会进行资源的回收,包括PCB和代码数据等。原创 2023-10-30 10:01:44 · 236 阅读 · 0 评论 -
银行家算法
银行家算法是一种死锁避免算法,该算法允许进程动态申请资源。原创 2023-10-29 21:13:16 · 121 阅读 · 0 评论 -
深拷贝和浅拷贝
将原对象或原数组的引用赋给新对象或者新数组,新对象或者新数组是原对象的一个引用。对新对象或者新数组的修改,会改变原对象或原数组。因为两者指向的是同一个内存地址。原创 2023-02-26 10:09:59 · 39 阅读 · 0 评论 -
缓存与数据库到底先更新哪一个
缓存和数据库一致性的问题,最好的方式就是先更新数据库,再删除缓存,再加个补偿措施。参考资料面试官问我到底是先更新缓存还是先更新数据库?原创 2023-10-29 20:15:04 · 260 阅读 · 0 评论 -
常见的集合类以及优劣
优点:1)使用动态数组实现,可以动态扩展容量。优点:1)基于哈希表实现,具有快速的插入、删除和查找操作。优点:1)使用双向链表实现,对于插入和删除元素操作效率较高。优点:在HashMap的基础上,使用链表维护了元素的顺序,可以保持插入顺序或者访问顺序。优点:1)基于哈希表实现,具有O(1)快速的插入、删除和查找操作。2)不允许重复元素。优点:在HashSet的基础上,使用链表维护了元素的顺序,可以保持插入顺序。优点:1)基于红黑树实现,保证元素有序。缺点:插入和删除元素的效率相对较低,因为需要移动元素。原创 2023-10-29 17:08:15 · 65 阅读 · 0 评论 -
Spring多线程事务能否保证事务的一致性
Spring的事务信息是存在ThreadLocal中的,所以一个线程永远只能有一个事务。因此Spring的事务是无法实现事务一致性的。这里有个事务方法A,在这个方法中创建了一个线程,线程里面去调用B。那么这个时候,A和B能保证数据的一致性或者原子性吗?也就是A失败了,B是否会正常提交。B失败了, A是否会一起回滚。答案是不能保证一致性以及原子性的。可以通过编程式事务,或者通过分布式事务的思路:二阶段提交方式。原创 2023-10-29 16:10:50 · 289 阅读 · 0 评论 -
什么样的架构可以被拆分为微服务
微服务架构是一种将单个应用程序拆分成小型、相互独立的服务的软件架构模式。这些服务可以独立开发、部署和运行,并通过网络进行通信。需要注意的是,并非所有应用程序都适合微服务架构。对于小型或简单的应用程序,引入微服务可能会带来过多的复杂性,因此在选择架构时需要根据具体情况进行权衡和决策。原创 2023-10-29 01:11:44 · 26 阅读 · 0 评论 -
初始化堆大小如何设置
通常指的是运行JVM时设置堆内存的初始大小。堆内存是Java程序用于存储对象实例的一块内存区域。总的来说,合适的初始化堆大小取决于你的应用程序的性质和运行环境,需要根据实际情况进行调整。原创 2023-10-29 00:25:20 · 175 阅读 · 0 评论 -
什么情况不适宜采用内联函数
内联函数是一种将函数的代码嵌入到调用处的优化手段。它适用于函数代码比较短小、调用频繁的情况,可以减少函数调用的开销,提高程序的执行效率。在函数代码较少但频繁调用的情况下,采用内联函数可以减少函数调用的开销,提升程序的性能。原创 2023-10-27 14:12:53 · 66 阅读 · 0 评论 -
性能优化的切入点
当然性能优化还包含数据库优化、操作系统优化、架构优化等其他一些内容,但不是重点。参考资料性能优化的切入点。原创 2023-10-25 16:37:31 · 33 阅读 · 0 评论 -
性能优化的衡量指标
在高并发应用中,仅仅高吞吐是不够的,它还必须同时能为多个用户提供服务。并发高时,会导致很严重的共享资源争用问题,需要减少资源冲突,以及长时间占用资源的行为。:最常用的指标,指标能够体现服务接口的平均处理能力。它的本质是把所有请求耗时加起来,然后除以请求的次数。比如,将某个接口,耗时超过1s的入参及执行步骤,详细地输出在日志系统中。这部分接口性能数据的收集,采用更加详细的日志记录方式,而不仅仅靠指标。并发量是指系统同时能处理的请求数量,这个指标反应了系统的负载能力。在压测的时候,接口直接超过了服务能力。原创 2023-10-25 15:34:52 · 104 阅读 · 0 评论 -
Spring中用到的设计模式
Resource接口里面针对不同的资源设计了不同的实现类,例如ClassPathResource就是一个实现类,表示我们从ClassPath这个路径去加载资源。这里就是根据不同的条件使用不同的策略算法加载资源文件。(2)事件监听者角色:ApplicationListener-------onApplicationEvent()整合第三方框架的时候,都是用的模板模式,例如RedisTemplate。例如A和B之间有依赖关系,当A发生变化的时候,B会做出相关的反应。AOP应用的就是代理模式。原创 2023-10-25 00:20:47 · 34 阅读 · 0 评论 -
Spring是如何解决循环依赖问题的
两个或者多个Bean相互之间去持有对方的引用就会发生循环依赖。原创 2023-10-24 23:34:42 · 49 阅读 · 0 评论