![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
文章平均质量分 87
wayzinx
这个作者很懒,什么都没留下…
展开
-
操作系统八股
可以这么说,内核是一个计算机程序,它是操作系统的核心,提供了操作系统最核心的能力,可以控制操作系统中所有的内容。内核空间,这个内存空间只有内核程序可以访问;⽤户空间,这个内存空间专⻔给应⽤程序使⽤,权限比较小;⽤户空间的代码只能访问⼀个局部的内存空间,⽽内核空间的代码可以访问所有内存空间。因此,当程序使⽤⽤户空间时,我们常说该程序在⽤户态执⾏,⽽当程序使内核空间时,程序则在内核态执⾏。对于单核单线程 CPU 而言,在某一时刻只能执行一条 CPU 指令。转载 2024-03-19 16:47:21 · 27 阅读 · 0 评论 -
计算机网络
为什么不能是两次?为了防止服务器端开启一些无用的连接增加服务器开销防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。由于网络传输是有延时的(要通过网络光纤和各种中间代理服务器),在传输的过程中,比如客户端发起了 SYN=1 的第一次握手。如果服务器端就直接创建了这个连接并返回包含 SYN、ACK 和 Seq 等内容的数据包给客户端,这个数据包因为网络传输的原因丢失了,丢失之后客户端就一直没有接收到服务器返回的数据包。转载 2024-03-19 15:54:14 · 40 阅读 · 0 评论 -
JVM虚拟机
内存分配有两种方式,指针碰撞,空闲列表指针碰撞:假设 Java 堆中内存是绝对规整的,所有被使用过的内存都被放在一边,空闲的内存被放在另一边,中间放着一个指针作为分界点的指示器,那所分配内存就仅仅是把那个指针向空闲空间方向挪动一段与对象大小相等的距离,这种分配方式称为“指针碰撞”。转载 2024-03-18 22:12:24 · 20 阅读 · 0 评论 -
JUC并发编程
进程:进程是系统进行资源分配和调度的基本单位。线程:线程是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源。操作系统在分配资源时是把资源分配给进程的,但是cpu资源比较特殊,它是被分配到线程的,因为真正要占用cpu运行的事线程,所以也说线程事cpu分配的基本单位。例如在java中,当我们启动main方法其实就启动了一个jvm进程,而main方法在的线程就是这个进程中的一个线程,也称主线程。转载 2024-03-18 16:41:22 · 26 阅读 · 0 评论 -
Synchronized锁升级
无锁-->偏向锁-->轻量级锁-->重量级锁什么是偏向锁,轻量级锁,重量级锁为什么要设计锁升级Synchronized是提供了锁的公平性吗?Synchronized锁标记怎么存储的?重量级锁为什么称为重量级锁?原创 2024-02-26 20:56:58 · 292 阅读 · 1 评论 -
CAS和AQS知识理解
CAS算法的作用:解决多线程条件下使用锁造成性能损耗问题的算法,保证了原子性,这个原子操作是由CPU来完成的CAS的原理:CAS算法有三个操作数,通过内存中的值(V)、预期原始值(A)、修改后的新值。(1)如果内存中的值和预期原始值相等, 就将修改后的新值保存到内存中。(2)如果内存中的值和预期原始值不相等,说明共享数据已经被修改,放弃已经所做的操作,然后重新执行刚才的操作,直到重试成功。原创 2024-02-29 20:08:14 · 940 阅读 · 0 评论 -
java垃圾回收
一个对象如果不再使用,需要手动释放,否则就会出现。我们称这种释放对象的过程为垃圾回收,而需要程序员编写代码进行回收的方式为。指的是不再使用的对象在系统中未被回收,内存泄漏的积累可能会导致内存溢出java中为了简化对象的释放,引入了。其他语言例如c#,python,go都拥有自己的垃圾回收器。原创 2024-02-29 21:24:38 · 929 阅读 · 0 评论 -
RabbitMq
1、每个消费者监听自己的队列。2、生产者将消息发给broker,由交换机将消息转发到绑定此交换机的每个队列,每个绑定交换机的队列都将接收到消息publish/subscribe与work queues有什么区别。1)work queues不用定义交换机,而publish/subscribe需要定义交换机。2)publish/subscribe的生产方是面向交换机发送消息,work queues的生产方是面向队列发送消息(底层使用默认交换机)。原创 2024-02-29 21:55:38 · 969 阅读 · 0 评论 -
Spring框架学习
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供继承的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。Spring的核心是IOC(控制反转)和AOP(面向切面)。Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。轻量级:对比EJB,以来资源少,销毁的资源少一站式:每一个层都提供的解决方案。原创 2024-03-02 00:12:14 · 1009 阅读 · 0 评论 -
Python常见面试题
可变对象:list、dict、set 可变对象是指对象的内存值可以改变不可变对象:int、tuple、str、bool 不可变对象是指对象的内存值不可以被改变。改变变量时,其实质是变量指向新的地址,即变量引用新的对象。转载 2024-02-24 20:53:03 · 157 阅读 · 0 评论 -
计算机网络常见面试题
TCP 向上层提供面向连接的可靠服务 ,UDP 向上层提供无连接不可靠服务。· UDP 没有 TCP 传输可靠,但是可以在实时性要求搞的地方有所作为。· 对数据准确性要求高,速度可以相对较慢的,可以选用TCP。转载 2024-02-24 21:05:28 · 263 阅读 · 0 评论 -
操作系统常见面试题
进程:操作。具有独立性,动态性,并发性,异步性。线程:操作系统进行资源调度的最小单元。。联系:进程创建了多个线程,各个子线程拥有自己的独立栈空间(存储函数参数、局部变量等),多个子线程与主线程共享等非栈内存。一个程序至少有一个进程,一个进程至少有一个线程,线程依赖于进程而存在。转载 2024-02-24 21:10:17 · 265 阅读 · 0 评论 -
数据库SQL常见面试题
最左前缀原则,就是最左优先,在创建多列索引时,要根据业务需求,where子句中使用最频繁的一列放在最左边。当我们创建一个组合索引的时候,如(a1,a2,a3),相当于创建了(a1)、(a1,a2)和(a1,a2,a3)三个索引,这就是最左匹配原则。事务A、B交替执行,事务A被事务B干扰到了,因为事务A读取到事务B未提交的数据,这就是脏读。在一个事务范围内,两个相同的查询,读取同一条记录,却返回了不同的数据,这就是不可重复读。转载 2024-02-24 21:19:39 · 155 阅读 · 0 评论 -
测试相关面试题
主要是功能性,性能性,安全性,易用性,兼容性,网络,压力测试,界面UI,中断测试。(尽可能想全,发散思维去说,不要怕说错)关注程序代码的具体细节,根据软件内部代码的逻辑结构分析来进行测试。主要是通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件质量。。测试用例设计方法:逻辑覆盖、循环覆盖、基本路径覆盖、判定覆盖不考虑其内部结构,即具体代码实现,检测软件的各个功能能否得以实现,确认软件功能的正确性,依靠软件说明书来判断测试用例,。转载 2024-02-24 21:24:05 · 20 阅读 · 0 评论