总原则:稳、保、冲

1、正确的调剂心态

2、总的原则: a.按总分排队,尽量选择取得联系余额较多的院校填报 b.双一流院校一般优先或只考虑本科双一流考生 c.联系导师,导师有一定的选择权

3、根据已发布的信息,分析去年调剂数据,圈出可调剂院校 a.咨询意向院校研招办,试探调剂可能性(入院系群很重要) b.根据建立的联系收到的回复预选五到七个调剂意向(同一院校可以有多个意向,线下复试要考虑复试时间与路途成本、未来就业地点) c.等正式系统开通后,建议先填两个志愿,留一个志愿用于机动(每个志愿的锁定时间在12~36个小时),有些院校看重第一志愿。

4、建议先填保底院校。

5、4月6号调剂系统开启后,每隔12小时填一所院校。

6、正式系统开通后,三个志愿填2留1。至少3点前要填2个。

低分上岸途径

  • 不要抱过高的期望
  • 第一时间去填写适合自己的院校
  • 关注线下复试院校

1、调剂系统开通前,问学校缺额。

调剂系统填报指南

兰州理工大学—计算机与通信学院

兰州理工大学调剂名额

  • 复试方式:线下方式

  • 复试内容

    • 综合素质测试(面试)
    • 外语水平测试(面试)
    • 专业知识测试(面试)
      • 数据结构+计算机网络+操作系统+计算机组成原理等本科基础核心课程。
  • 参加复试需进行体检

    • 兰州理工大学兰工坪校区校医院,参检学生须带近期1寸免冠照片一张。
  • 复试成绩

    • 复试成绩=综合素质测试成绩*30%+外语水平测试成绩*30%+专业知识测试成绩*40%
    • 入学总成绩=初试总成绩/5*60%+复试成绩*40%;
    • 录取按照入学总成绩排序,从高到低依次录取。若入学总成绩相同,依据初试总成绩从高到低依次录取;若初试总成绩仍相同,依据专业知识测试成绩从高到低依次录取。
  • 其他

    • 第一批次和第二批次考生均需参加编程能力测试(机试)

      内容:C程序设计语言

      此项测试不计入复试总成绩,仅作为学院对本届学生编程能力的摸底。所有复试考生均须参加机试。

  • 地点:甘肃省兰州市七里河区彭家坪路36号兰州理工大学计算机与通信学院。

  • 准备材料

    • 应届本科毕业生应携带:①准考证;②学生证(带照片页)及《教育部学籍在线验证报告》;③身份证(正反面复印到一张A4纸);④大学期间前七个学期成绩单(加盖教务处成绩红章)。

广西民族大学—人工智能学院

看官网公告好好复习即可。

个人自述

1、个人基本情况

老师们好,我是来自南京晓庄学院2023届的毕业生顾佳凯,考研一志愿报考的是南京理工大学。由于个人实力不足,未能达到南理工的复试线,故选择广西民大进行调剂。

我个人在大学就读的专业是计算机科学与技术,是南晓信工院计科卓工班成员,大学4年专业排名第一。

南晓绩点查询

大一、大二,那个时候一直追求高绩点,但是随着学习的深入,我发现计算机专业更需要培养的是技术,而不仅仅是做题能力,于是在大二下时,我开始学习技术,如python中的django框架,java中的spring框架,以及一些前端框架如vue、react等。

我个人的毕业设计题目为《个人博客系统的设计与实现》,采用技术栈为next.js(基于react的开源框架)+supabase(一个开源的后端服务平台)+vercel(一个PaaS平台)。个人大二时在国内等博客平台记录自己的学习。大三开始自建个人博客,折腾过jekyll、hexo、hugo等博客框架,但是当时我使用的都是基于别人开发的主题,后来我萌生了自己开发一款博客主题的想法,最终开发出了基于Hugo框架的博客主题,再然后便是毕设,从0开始实现一个个人博客系统。

2、简历

我个人的简历非常简朴,可以访问我的cv网站查看。

3、学习工作经历

本人暂时没有工作经验,我平时都是跟着网上教程或官方文档,去学习一些自己感兴趣的知识。我是一个主机爱好者、开源爱好者,在GitHub上贡献了差不多5个左右的pull requests,我个人理想是做一名独立开发者,make something people want,做一些人们喜欢的产品,实现财富和人身自由。

4、实绩

实绩方面,目前初步掌握vue、react、java、python、linux等方面的基础知识,但并不精通,我希望能够再续3年学习生涯,通过这3年的业余时间,丰满自己的编程知识。

5、研究工作、研究计划

我在广西民大人工智能学院的官网看了计科硕士的人才培养方案。

四个研究方向中,其中两个令我感兴趣,1)人工智能及应用技术 2)网络与信息安全。

民大计科硕士的人才培养方案

人工智能是未来的大势所趋。个人在大三下,学习了一门人工智能导论课程,当时我的课程答辩是讲述国外大火的DALLE2、midjourney等一系列ai绘画产品。在去年11月30日,我便开始体验chatgpt,并一直使用到现在,我也开通了chatgpt plus,以期能追赶上最新的潮流。今年2月份,微软推出的new bing,对于传统的搜索引擎是一大冲击,我也在2月中拿到了微软new bing的内测资格。

以上种种目前最新的ai研究产品,我都时刻保持关注,上个礼拜我也拿到了微软云服务Azure推出的openai服务使用资格。插一句,我的毕设—个人博客系统,也整合了chatgpt,让其帮忙总结文章,得出摘要的功能。这是我对于人工智能及应用技术研究方向感兴趣的原因。

还有一个领域便是网络与信息安全,我也想成为一名专注于网络安全方面的hacker,当然是白帽。

我用ssh连接我的服务器,这中间涉及到的技术便有密码学的知识,我在阮一峰老师的博客中粗略了解了ssh连接过程中发生的事,但并没有深究过,我希望有机会的话,能学一下密码学的知识,当然学习这方面的知识,并不一定需要上课才能了解,现在互联网上的资源太丰富了,想学习这方面的知识,随时可以开始。

综上,我希望我能进行人工智能及应用技术领域的研究。网络与信息安全,可以在我未来有时间时自学。

读研的学习和研究计划:

  • 完成学校安排的学习课程外,好好深耕自己研究的领域,洞察国内外的最新研究进展,紧跟他们的步伐,

  • 如果最新研究成果在GitHub或Huggingface或相应网站上公布,我会第一时间体验;或者在Arxiv上发表了相应的paper,一定第一时间紧跟,以chatgpt为辅助,老师为指引,好好研读最新研究成果,做好相应的论文知识管理工作;或者b站等平台如up主“跟李沐学ai”更新了,一定好好看视频,做好相应笔记,和留美大牛,一起读论文,争取未来能为中国的人工智能出一份绵薄之力。

  • 闲暇时,我也会在b站等平台,分享知识。因为我个人的学习原则是Learn in public,这个观点源自美国的一名大牛。将自己的学习过程公开,是学习最快的方式,分享知识,能进一步促进我学习。

  • 在研二时,我会尽早和导师确定毕业论文选题,以我为主导,老师为辅,对自己认为现存技术值得改进的地方进行深入探索,争取不拖累导师,自力更生完成自己的毕业论文,不把混毕业作为研究生生涯的终点。

  • 研三,完成毕业论文,参加春招,好好摆正自己的位置,争取能拿到一份自己想要的offer。

6、就业目标

就业目标肯定是自己研究生期间专攻的领域或者成为一名全栈开发者。

远一点的目标:成为一名独立开发者,争取拿到一份远程办公的工作。

  • 回答试题

  • 临时提问

7、压缩版三分钟

老师们好,我是来自南京晓庄学院19计科卓工班的学生—顾佳凯,在本科期间学习过java、python、vue、react、linux等方面的基础知识。

个人对于广西民大计科硕士培养方案里面的人工智能及应用技术研究方向十分感兴趣。

大三时,我学过一门名为《人工智能导论》的课程,当时我的课程答辩(2022年6月)讲的是2022年大火的ai绘图, 如DALLE2、midjourney等最新ai绘画技术。

虽然我个人对于人工智能的见解还较为浅薄,但是我认为ai是未来的大势所趋。与此同时,我也时刻保持对于科技行业的洞察,以期能不落后于时代。 最新的ai产品我都在用着。

chatgpt(2022.11.30)—>chatgpt plus(2023.2.1)—>chatgpt4(2023.3.14)—>chatgpt插件(2023.3.23) new bing(2023.2.7) google bard(2023.3.21) github copilot—>github copilot x(2023.3.22)

文心一言(2023.3.17) 通义千问(2023.4.7)

读研的学习和研究计划:

  • 完成学校安排的学习课程外,好好深耕自己研究的领域,洞察国内外的最新研究进展,紧跟他们的步伐,

  • 如果最新研究成果在GitHub或Huggingface或相应网站上公布,我会第一时间体验;或者在Arxiv上发表了相应的paper,一定第一时间紧跟,以chatgpt为辅助,老师为指引,好好研读最新研究成果,做好相应的论文知识管理工作;或者b站等平台如up主“跟李沐学ai”更新了,一定好好看视频,做好相应笔记,和留美大牛,一起读论文,争取未来能为中国的人工智能出一份绵薄之力。

  • 闲暇时,我也会在b站等平台,分享知识。因为我个人的学习原则是Learn in public,这个观点源自美国的一名大牛。将自己的学习过程公开,是学习最快的方式,分享知识,能进一步促进我学习。

  • 在研二时,我会尽早和导师确定毕业论文选题,以我为主导,老师为辅,对自己认为现存技术值得改进的地方进行深入探索,争取不拖累导师,自力更生完成自己的毕业论文,不把混毕业作为研究生生涯的终点。

  • 研三,完成毕业论文,参加春招,好好摆正自己的位置,争取能拿到一份自己想要的offer。

就业目标肯定是自己研究生期间专攻的领域或者成为一名全栈开发者。

远一点的目标:成为一名独立开发者,争取拿到一份远程办公的工作。

英语自我介绍

Hello, my name is Jaya, and I am from Nanjing Xiaozhuang University. I majored in Computer Science and Technology during my undergraduate studies. My hobbies include reading, writing, programming, and so on. During my time at the university, I was awarded a first-class scholarship in my major and passed both the CET-4 and CET-6 exams.

My aspiration is to become a full-stack developer, using my programming skills to create a positive impact in the world and adhering to the Y Combinator philosophy of "making something people want." As a dedicated GitHub user, I draw inspiration and motivation from the outstanding open-source projects on the platform. These projects serve as exemplary models for me to learn from and propel me forward in my journey as a developer.

My personal motto, "Stay hungry. Stay foolish," originally from the Whole Earth Catalog and popularized by Steve Jobs, reminds me of the importance of continuous learning in the ever-evolving computer industry. Embracing new technologies allows me to stay at the forefront of innovation, ensuring that I can make a meaningful contribution as a full-stack developer.

英语提问

Teacher, pls repeat your question again, I didn't catch it.

Thank you for your question.

Q: Why did you take the postgraduate examination?

A: First of all, I have very strong interest in this major and I would like to have the opportunity to learn more about this major. If I can be lucky enough to continue my study career for three years, I can ease the pressure of employment as well as improve my programming skills, and after three years, I will not be so confused as I am now when I enter the society.

Q: Why did you apply for our college?

A: Thank you for your question. The main reason is that I didn't reach the review line of my first choice college. So I had to choose an inferior university to transfer. Besides, I'm not ready for employment yet, and I hope to improve myself through graduate school so that I won't be so lost in 3 years.

Q: Why did you choose this major?

I choose this major as my passion for it.

Q: Future plans

I aspire to become an independent developer, creating products that people love and using code to change the world.

Q: Hometown

A: My hometown is Haimen City, Jiangsu Province, located at the mouth of the Yangtze River. It is known as North Shanghai.

That's all, Thank you.

专业课复习

chatgpt预测

1、数据结构

2、计组

Q: 请简述冯·诺依曼体系结构的五大部件及其功能。

A: 1)输入设备 2)输出设备 3)存储器 4)控制器 5)算术逻辑单元

Q: 请描述Cache的作用,以及直接映射、全相联映射和组相联映射的工作原理。

A: Cache(高速缓存)是计算机系统中的一种快速存储器,它位于 CPU 和主内存之间,用于存储经常访问的数据和指令。Cache 的作用主要是减少 CPU 和主内存之间的访问延迟,提高程序运行效率。

  • 直接映射:在这种映射技术中,主内存中的每个块(Block)被映射到 Cache 中的一个固定位置(Cache Line)。这种映射方法简单且快速,但可能导致 Cache 冲突,从而降低 Cache 命中率。直接映射的关键在于使用主内存地址的一部分来确定在 Cache 中的位置。

  • 全相联映射:在全相联映射中,主内存中的任意块可以被映射到 Cache 中的任意位置。这种映射方法具有较高的灵活性,因为它允许任意块存储在任意位置,从而减少冲突。然而,全相联映射的硬件实现较为复杂,同时查找所需数据的速度较慢,因为需要在整个 Cache 中进行搜索。

  • 组相联映射:组相联映射是直接映射和全相联映射的折衷方案。在这种映射方法中,Cache 被划分为多个组(Set),每个组包含多个位置(Cache Line)。主内存中的每个块可以映射到特定组中的任意位置。组相联映射在减少冲突和提高命中率方面的性能介于直接映射和全相联映射之间。组相联映射需要在组内进行搜索,但查找速度比全相联映射快。

Q: 中断和异常的区别

A:

在计算机组成原理中,中断(Interrupt)和异常(Exception)都是用于处理特定情况下程序的执行。尽管它们有一些相似之处,但它们之间还是存在一些关键区别。

中断(Interrupt):

中断通常是由外部事件触发的,如输入/输出设备的信号或者定时器。中断使得处理器能够对这些外部事件作出及时响应。 中断是异步的,这意味着它们可以在任何时间发生,与当前正在执行的指令无关。 当中断发生时,处理器会保存当前程序的上下文(如程序计数器和相关寄存器的值),然后转向一个中断服务程序(Interrupt Service Routine, ISR),该程序会处理中断请求。处理完中断后,处理器会恢复先前保存的上下文,继续执行被中断的程序。

异常(Exception):

异常是由程序本身的执行过程中出现的错误或特殊条件触发的,如除以零、非法指令、内存访问违规等。 异常是同步的,这意味着它们是在执行特定指令时发生的。处理器会在当前指令完成前进行异常处理。 当异常发生时,处理器会执行一个异常处理程序(Exception Handler)。处理器可能会保存当前程序的上下文,这取决于异常的类型和处理方式。处理完异常后,处理器可能会恢复先前保存的上下文并继续执行程序,也可能会终止程序。

总结一下,中断和异常的主要区别在于它们的触发来源、发生时机和处理方式。中断通常是由外部事件触发的,异步发生,而异常则是由程序执行中的错误或特殊条件触发的,同步发生。处理方式方面,中断通常会保存上下文并在处理完成后恢复,而异常处理则取决于异常类型和处理策略。

Q: 指令寻址和数据寻址的区别

A: 指令寻址和数据寻址是计算机中两种不同的寻址方式。它们在计算机执行过程中起着不同的作用。

指令寻址:指令寻址是指 CPU 在执行程序时,如何从内存中获取指令的过程。当 CPU 需要执行一个程序时,它首先从内存中获取指令,然后对其进行解码并执行。指令寻址决定了指令在内存中的位置。通常,程序计数器(Program Counter,PC)用于存储下一条指令的内存地址。在执行指令的过程中,程序计数器会自动递增,以便于 CPU 顺序地获取指令。

数据寻址:数据寻址是指 CPU 在执行指令时,如何从内存中获取操作数(Operand)的过程。操作数是指令执行过程中需要处理的数据。数据寻址决定了操作数在内存中的位置。数据寻址有多种方式,包括立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、基址寻址、相对寻址等。

指令寻址和数据寻址的主要区别在于它们的目的和对象。指令寻址关注于从内存中获取指令的过程,而数据寻址关注于从内存中获取操作数的过程。这两种寻址方式共同支持 CPU 顺利执行程序。

Q: I/O方式有哪些?

A: 计算机中的 I/O(输入/输出)方式是指 CPU 与外部设备(如键盘、鼠标、硬盘、显示器等)之间进行数据交换的方法。常见的 I/O 方式有以下几种:

程序查询(Programmed I/O,PIO):在程序查询方式下,CPU 主动查询外部设备的状态并进行数据传输。CPU 需要频繁检查设备是否已准备好进行数据交换,然后执行相应的 I/O 操作。这种方式的缺点是 CPU 需要不断轮询设备状态,消耗大量处理器资源,导致效率较低。

中断驱动(Interrupt-driven I/O):在中断驱动方式下,外部设备在准备好进行数据交换时会向 CPU 发送中断信号。收到中断信号后,CPU 暂停当前任务,处理中断请求并执行相应的 I/O 操作。这种方式允许 CPU 在等待 I/O 操作时继续执行其他任务,提高了系统的效率。但是,当 I/O 设备较多时,中断处理的开销可能会变得较大。

DMA(Direct Memory Access,直接内存访问):在 DMA 方式下,专门的硬件控制器(DMA 控制器)负责与外部设备进行数据传输,而无需 CPU 参与。DMA 控制器可以直接将数据从外部设备传输到内存,或从内存传输到外部设备。这种方式可以显著减轻 CPU 负担,提高数据传输效率。当数据传输完成后,DMA 控制器会向 CPU 发送中断信号,通知数据传输的完成。

这些 I/O 方式在不同的场景下有各自的优势和适用性。一般来说,程序查询方式适用于低速设备和简单的 I/O 操作;中断驱动方式适用于需要及时响应的 I/O 操作;而 DMA 方式适用于高速设备和大量数据传输的场景。

3、操作系统

Q: 内部碎片、外部碎片

A:

  • 内部碎片:内部碎片是指已经分配给某个进程但未被使用的内存空间。这通常是因为操作系统在分配内存时,采用了固定大小的内存块。当一个进程需要的内存大小小于分配的内存块时,多余的内存就会形成内部碎片。要减少内部碎片,操作系统可以采用动态分配内存大小的方法,根据进程的实际需求来分配内存。

  • 外部碎片:外部碎片是指没有被分配给任何进程的内存空间,这些空闲内存空间散布在不同的内存区域,但由于太小而无法满足进程的需求。外部碎片的产生主要是因为操作系统在为进程分配和回收内存时,空闲内存空间被分割成较小的区块。要减少外部碎片,操作系统可以采用内存碎片整理技术(如内存紧缩或内存重分配)来合并这些小的空闲区域,形成一个较大的连续空闲区域,从而满足进程的内存需求。

Q:进程和线程

A:

  • 进程:进程是一个独立的执行实体,它拥有自己独立的内存空间、寄存器状态、堆栈、打开的文件等资源。进程是操作系统分配资源和调度的基本单位。每个进程都有一个唯一的进程标识符(PID)。由于进程间的资源相互独立,因此它们之间的隔离性较好,一个进程崩溃不会直接影响其他进程。但是,进程的创建和销毁以及上下文切换的开销相对较大,主要原因是进程需要分配和管理独立的内存空间和系统资源。

  • 线程:线程是进程内部的一个执行单元,它共享所属进程的内存空间和资源,但具有独立的寄存器状态和栈空间。线程是操作系统调度的最小单位。同一个进程内的多个线程可以并发执行,共享进程的资源,实现更高效的任务处理。相较于进程,线程的创建、销毁和上下文切换的开销较小,这是因为线程共享进程的内存空间,不需要重新分配和管理资源。但是,线程之间的隔离性较差,一个线程的异常可能导致整个进程崩溃。

Q:请解释死锁的概念,并列举四个必要条件。同时,请简要介绍如何预防和避免死锁。

A:

死锁的四个必要条件:

互斥(Mutual Exclusion):资源至少有一个是不可共享的,即一次只能被一个进程使用。

占有并等待(Hold and Wait):一个进程在占有了一些资源的同时,还在等待其它进程占有的资源。

非抢占(No Preemption):进程已经占有的资源在未使用完之前,不能被其他进程强行抢占,只能由占有该资源的进程自愿释放。

循环等待(Circular Wait):存在一个进程集合,其中每个进程都在等待下一个进程所占有的资源,形成一个循环等待链。

为了预防和避免死锁,可以采用以下方法:

破坏互斥条件:尽量使用可共享资源,避免使用独占资源。但在某些情况下,例如打印机、磁盘等设备,这种方法并不适用。

破坏占有并等待条件:进程在请求资源时,一次性请求所有所需资源,不再分阶段请求。这样可以避免进程在等待其他资源时仍然占用部分资源的情况。

破坏非抢占条件:允许进程在需要资源时,抢占其他进程已经占有的资源。这种方法需要操作系统对进程资源进行高度控制,可能会导致其他问题,如抢占导致的性能下降等。

破坏循环等待条件:为所有资源指定一个全局唯一的优先级,要求进程按照优先级顺序申请资源。这样可以避免循环等待的产生。

避免死锁的另一种方法是检测和恢复。这意味着在死锁发生后,操作系统会检测到死锁,并采取措施解除死锁,如撤销进程、回滚操作等。然而,这种方法可能会导致进程执行的中断和性能损失。因此,预防死锁是更为理想的方法。

4、计网

Q: 请解释OSI七层模型的各层功能,并给出每层的主要协议。

A:

OSI(Open Systems Interconnection)七层模型是一种网络通信的概念框架,用于描述网络协议的层次结构。它将网络通信过程划分为七个层次,从低到高依次是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。以下是每一层的功能以及主要协议:

物理层(Physical Layer):物理层负责定义物理连接标准,包括电气、机械、功能和过程特性。它主要关注数据在物理介质(如双绞线、光纤等)上的传输,将数据转换为电信号或光信号。主要协议和设备有:RJ-45、RS-232、光纤接口等。

数据链路层(Data Link Layer):数据链路层负责在直接相连的网络设备之间建立、维护和拆除数据链路。它将原始比特流分组成帧,并执行错误检测和流量控制。主要协议和设备有:Ethernet(以太网)、PPP(点对点协议)、Token Ring、HDLC(高级数据链路控制)、交换机等。

网络层(Network Layer):网络层负责提供端到端的数据传输,实现数据包的路由和转发。它还可以处理拥塞控制、分组和错误检测。主要协议和设备有:IP(互联网协议)、ICMP(互联网控制报文协议)、ARP(地址解析协议)、RARP(反向地址解析协议)、路由器等。

传输层(Transport Layer):传输层负责在两个通信端点之间建立、维护和拆除端到端的连接。它提供了可靠或不可靠的数据传输服务,实现数据分段、流量控制、错误检测和重传等功能。主要协议有:TCP(传输控制协议)、UDP(用户数据报协议)。

会话层(Session Layer):会话层负责建立、管理和终止通信会话。它支持双向数据传输、同步和会话恢复等功能。主要协议有:NFS(网络文件系统)、SQL(结构化查询语言)、RPC(远程过程调用)等。

表示层(Presentation Layer):表示层负责处理数据的表示和编码格式,包括数据压缩、加密和字符编码转换等功能。它确保数据在不同系统之间的兼容性。主要协议有:ASCII、EBCDIC、JPEG、GIF、MPEG、TLS(传输层安全协议)等。

应用层(Application Layer):应用层是OSI模型的最顶层,直接为用户提供服务。它包括了各种网络应用程序和服务,负责实现文件传输、电子邮件、远程登录等功能。主要协议有:HTTP(超文本传输协议)、HTTPS(安全超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)、POP3(邮局协议3)、IMAP(互联网邮件访问协议)、DNS(域名系统)等。

需要注意的是,OSI七层模型是一种理论模型,现实中的网络协议并不总是完全遵循这个模型。例如,互联网协议族(TCP/IP)是一种更为实际和普遍使用的网络协议架构,它将OSI的表示层和会话层合并到应用层,并将数据链路层和物理层合并为网络接口层。尽管如此,OSI七层模型仍然为理解网络通信原理和设计网络协议提供了有益的参考框架。

Q: 请描述TCP和UDP协议的主要区别,以及它们在不同应用场景下的适用性。

A:

TCP(传输控制协议,Transmission Control Protocol)和 UDP(用户数据报协议,User Datagram Protocol)是两种在互联网协议(IP)之上的传输层协议。它们具有不同的特点,适用于不同的应用场景。

TCP 和 UDP 的主要区别:

可靠性:TCP 提供可靠的数据传输,通过确认(ACK)、超时重传、流量控制、拥塞控制等机制确保数据在传输过程中不会丢失、重复或乱序。而 UDP 不提供可靠性保证,它仅负责将数据报发送到目的地,但不保证数据报能够正确到达。

连接:TCP 是面向连接的协议,通信双方需要在传输数据前建立连接。这使得 TCP 具有状态,传输过程中双方需要维护连接状态。而 UDP 是无连接的协议,它不需要在传输数据前建立连接,因此通信过程中无需维护状态信息。

传输速度:TCP 由于其可靠性、拥塞控制等机制,传输速度相对较慢。而 UDP 由于没有这些额外的机制,传输速度通常较快。

头部开销:TCP 头部开销较大,最小为 20 字节,而 UDP 头部开销较小,为 8 字节。这意味着 UDP 协议在传输数据时产生的额外开销较小。

根据这些区别,TCP 和 UDP 在不同应用场景下的适用性如下:

对可靠性要求较高的应用场景,如文件传输、电子邮件、网页浏览等,更适合使用 TCP 协议。因为 TCP 可以保证数据的完整性和有序性。

对实时性要求较高、允许一定数据丢失的应用场景,如实时语音通信、视频流、在线游戏等,更适合使用 UDP 协议。因为 UDP 提供了较快的传输速度,适用于实时性较强的场景。

综上所述,TCP 和 UDP 的选择取决于应用场景的需求。需要权衡可靠性和实时性等因素,以选择最合适的传输协议。

复试面试提问

1、广西民族大学人工智能学院

1.1、专业知识提问

  • 有哪些方法,将两个1变为0?

有哪些方法,将两个1变为0?

  • 编译执行与解释执行的区别?Java是什么类型的语言?

编译执行与解释执行的区别?

Java是什么类型的语言?

  • 云计算是啥?为啥杀毒软件要云计算?

云计算是啥?为啥杀毒软件要云计算?

1.2、英语问题提问

  • What's your favourite book?

  • Introduce your family?