计算机专业复试面试经典问题
- 格式:doc
- 大小:56.00 KB
- 文档页数:9
1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL2. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?while(1){}或者for(;;){}3. 用变量a给出下面的定义a) 一个整型数(An integer)b)一个指向整型数的指针( A pointer to an integer)c)一个指向指针的的指针,它指向的指针是指向一个整型数( A pointer to a pointer to an intege)rd)一个有10个整型数的数组( An array of 10 integers)e) 一个有10个指针的数组,该指针是指向一个整型数的。
(An array of 10 pointers to integers)f) 一个指向有10个整型数数组的指针( A pointer to an array of 10 integers)g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer)h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer )答案是:a) int a; // An integerb) int *a; // A pointer to an integerc) int **a; // A pointer to a pointer to an integerd) int a[10]; // An array of 10 integerse) int *a[10]; // An array of 10 pointers to integersf) int (*a)[10]; // A pointer to an array of 10 integersg) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integerh) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer4.关键字static的作用是什么?这个简单的问题很少有人能回答完全。
计算机专业复试集锦1.什么是程序局部性,为什么会有程序的空间局部性?程序局部性是指程序在运行时呈现出局部性规律,在一段时间间隔内,程序的执行是局限在某个部份,所访问的存储空间也只局限在某个区域。
空间局部性是指若一个存储单元被访问,那么它附近的单元也可能被访问,这是由于程序的顺序执行引起的。
2.比较TCP与UDPTCP与UDP都是传输层的协议,且都用端口号标识数据所达的进程。
TCP提供的是面向连接服务,提供可靠交付。
且具有流量控制和拥塞控制。
可用于可靠要求高的场合如:SMTP,FTP,HTTP等。
UDP提供的是无连接服务,提供不可靠交付,且无确认机制。
主要用于即时强的场合如:视频聊天,语音电话等。
3.网络协议的三个核心要素,及概念.各起什么作用?语法,定义了数据与控制信息的格式;语义,定义了需要发出何种控制信息,完成何种响应动作以及作出何种响应;同步,定义了事件实现顺序的详细说明;4.关系数据库都有那些操作,特点是什么?◇查询:选择、投影、连接、除、并、交、差◇数据更新:插入、删除、修改关系操作的特点:集合操作方式,即操作的对象和结果都是集合。
5. 解释一下网络体系结构,它得实现和理论有什么区别?是指通信系统的整体设计,它为网络硬件、软件、协议、存取控制和拓扑提供标准。
网络体系统结构采用分层结构,各层之间相互独立、较易维护、灵活性好。
国际标准化组织制定了OSI/RM标准,该标准采用了七层结构应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
七层协议体系结构既复杂又不实用,但其概念清楚,体系结构理论较完整。
而TCP/IP却成为了事实上的标准,它采用了四层结构即应用层、传输层、网络层和网络接口层。
6.为了实现重定位需要哪些硬件?最简单的方式是在系统中增设一个重定位寄存器,用来存放正在执行作业的内存地址,每次访问数据时,由硬件自动将相对地址与重定位寄存器中的起始地址相加,形成实际的特理地址。
当然在分页式与分段式系统中,具地址变换机构,以及快表等硬件。
计算机面试题目及答案计算机面试是求职者展示自己专业能力的重要环节,同时也是雇主筛选人才的关键步骤。
为了帮助求职者更好地准备面试,本文将为大家总结一些常见的计算机面试题目,并提供相应的答案。
以下是一系列涵盖不同技术领域的题目及解答,希望能对你的求职之路有所帮助。
1. 数据结构与算法:题目:请解释什么是二叉树?答案:二叉树是一种树型数据结构,每个节点最多有两个子节点。
左子节点在树中的位置相对于父节点在左侧,右子节点相对于父节点在右侧。
2. 网络与通信:题目:请解释什么是TCP/IP协议?答案:TCP/IP协议是互联网常用的协议之一,它是一组用于在互联网上进行通信的协议。
TCP负责将数据在计算机之间可靠地传输,IP则负责寻找发送数据的目标地址。
3. 操作系统:题目:请解释什么是进程和线程的区别?答案:进程是程序的执行实例,拥有自己的地址空间和系统资源。
线程是进程内的执行单元,共享进程的资源。
一个进程可以包含多个线程。
4. 数据库:题目:请解释什么是数据库事务?答案:数据库事务是一组被视为单独逻辑工作单元的数据库操作,要么全部成功执行,要么全部回滚。
事务可以确保数据库的完整性和一致性。
5. 编程语言:题目:请解释什么是面向对象编程?答案:面向对象编程是一种编程范式,将程序看作是一组相互作用的对象。
对象包含数据和方法,通过消息传递进行通信和交互。
6. 软件开发:题目:请解释什么是敏捷开发?答案:敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法。
它强调团队合作、快速响应变化和频繁交付可工作软件。
以上是一些常见的计算机面试题目及其答案,希望能对你的面试准备有所帮助。
在面试过程中,除了准备好技术知识,还要展现自己的沟通能力和解决问题的能力。
祝你在求职过程中取得好的结果!。
计算机专业面试题目及答案解析一、介绍计算机专业面试是求职者进入计算机行业的重要环节。
在面试过程中,面试官通常会提出一系列与计算机专业相关的问题,以评估求职者的知识水平和解决问题的能力。
本文将为大家提供一些常见的计算机专业面试题目及答案解析,帮助大家更好地准备面试。
二、数据结构与算法1. 什么是数据结构?数据结构是计算机中存储、组织和管理数据的方式,它是程序设计的基础之一。
2. 请简要介绍常见的数据结构。
常见的数据结构包括数组、链表、栈、队列、树、图等。
每种数据结构都有各自的特点和适用场景。
3. 什么是算法?算法是解决问题的步骤和方法,是一种操作指南。
4. 请举例说明常见的排序算法。
常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序等。
5. 请解释动态规划算法的原理。
动态规划算法是一种通过把原问题分解为相对简单的子问题来求解复杂问题的方法。
它通过存储子问题的解来避免重复计算,提高算法效率。
三、操作系统1. 什么是操作系统?操作系统是计算机硬件和软件之间的中间层,负责管理和控制计算机的各种资源。
2. 请简要介绍常见的操作系统。
常见的操作系统有Windows、Linux、Unix、macOS等。
每个操作系统有自己的特点和适用场景。
3. 请解释进程和线程的区别。
进程是程序的一次执行,具有独立的内存空间,线程是进程中的执行单元,共享同一内存空间。
4. 请解释死锁的原因及如何避免死锁。
死锁是指两个或多个进程互相等待对方释放资源的情况。
死锁的原因主要包括互斥、占有和等待、不可剥夺和循环等。
避免死锁的方法包括破坏死锁的必要条件、资源有序分配、使用银行家算法等。
四、数据库1. 请简要介绍数据库管理系统(DBMS)。
数据库管理系统是一种管理和组织数据库的软件工具,负责处理数据的存储、检索、更新等操作。
2. 请解释关系型数据库和非关系型数据库的区别。
关系型数据库以关系模型为基础,使用表来组织和管理数据;非关系型数据库以键值对、文档、列族等形式组织数据,适用于大规模分布式环境。
计算机专业常见面试题及答案一、自我介绍在面试中,首先要进行自我介绍。
自我介绍是给面试官一个初步了解你的机会,需要简洁明了地介绍自己的基本信息和求职动机。
二、基础知识面试题1. 什么是操作系统?操作系统是计算机系统中的核心软件之一,它负责管理计算机硬件资源,并为用户和其他软件提供服务和接口。
2. 什么是数据结构?数据结构是指数据的组织方式和管理方式,包括数组、链表、栈、队列、树、图等。
3. 什么是数据库?数据库是一种结构化存储数据的方式,它采用表格和关系来组织数据,可用于存储、管理和检索数据。
4. 什么是网络协议?网络协议是计算机在网络中进行通信时遵循的规则和约定,它包括TCP/IP协议、HTTP协议等。
5. 什么是编程语言?举例说明。
编程语言是一种人与计算机之间进行交流的工具,它用于编写程序。
常见的编程语言有C、Java、Python等。
三、技术面试题1. 什么是面向对象编程?面向对象编程是一种编程思想,强调通过创建对象、定义其属性和方法来实现程序的设计和开发。
2. 什么是多线程?多线程是指在一个程序中同时运行多个线程,每个线程都可以独立地执行任务并访问共享的数据。
3. 什么是数据库索引?数据库索引是一种数据结构,用于提高对数据库表中数据的访问速度。
4. 什么是代码调试和测试?有哪些常用的调试和测试工具?代码调试是用于查找和修复程序中的错误和问题的过程,测试是验证程序的正确性和稳定性。
常用的调试和测试工具有IDE、单元测试框架等。
5. 什么是网络安全?如何保护网络安全?网络安全是保护计算机网络免受未授权访问、病毒、恶意软件等威胁的一系列措施。
常见的网络安全保护措施包括防火墙、加密技术、访问控制等。
四、项目经验面试题1. 请介绍你最有成就感的项目经验。
在这个问题中,你可以详细介绍你在某个项目中的角色和职责,并突出你在该项目中取得的具体成果和对公司带来的价值。
2. 在你的项目经验中,你是如何解决困难和挑战的?面试官希望了解你在项目中面对困难时的应对策略和解决问题的能力。
计算机专业复试面试问题含答案1. 请介绍一下自己及自己的学术背景。
回答:我叫张三,是一名计算机专业的本科毕业生。
我在大学期间主修计算机科学与技术专业,学习了计算机基础知识、数据结构与算法、操作系统、数据库等相关课程。
我在大学期间也积极参加了一些计算机竞赛和项目实践,积累了一定的实践经验。
2. 你为什么选择继续深造计算机专业?回答:我对计算机科学和技术有浓厚的兴趣,也意识到计算机技术在现代社会的重要性。
我希望通过深造计算机专业,进一步提升自己的专业知识和技能,为社会的发展做出更大的贡献。
3. 你在本科阶段的研究方向是什么?回答:在本科阶段,我主要关注了人工智能和机器学习方向。
我参与了一个基于深度学习的图像识别项目,并取得了一定的成果。
我也在课余时间自学了一些相关的算法和工具,对此领域有一定的了解。
4. 你对人工智能的发展有什么看法?回答:我认为人工智能是当前科技领域的热点和前沿领域。
它有着广泛的应用前景,可以在医疗、交通、金融等各个领域发挥重要作用。
但同时,我也认识到人工智能的发展还面临一些挑战,比如数据隐私和伦理问题等。
我希望通过深入研究和学习,为人工智能的发展贡献自己的力量。
5. 请谈谈你对大数据的理解。
回答:大数据是指数据量巨大、复杂度高、处理速度快的数据集合。
它可以通过各种技术和方法来进行分析和利用,从而发现潜在的模式和关联。
大数据可以应用于商业、科学研究等领域,帮助人们做出更明智的决策和预测。
6. 你在团队合作中的角色是什么?回答:在团队合作中,我通常会担任团队的协调者和沟通者的角色。
我善于与他人合作,能够有效地组织团队成员的工作,解决团队合作中的问题。
我也乐于分享自己的知识和经验,帮助团队达到共同的目标。
7. 请谈谈你对软件工程的理解。
回答:软件工程是一门关于软件开发和维护的学科。
它涵盖了软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等。
软件工程的目标是提高软件开发的效率和质量,确保软件能够满足用户的需求。
计算机经典面试题(精选3篇)计算机经典面试题(精选3篇)面试是通过书面、面谈或线上沟通(视频、电话)的形式来考察一个人的工作力量与综合素养,通过面试可以初步推断应聘者是否可以融入自己的团队。
下面是我整理的计算机经典面试题,仅供参考,欢迎大家阅读。
计算机经典面试题【篇1】1.什么是BGP?答:BGP(Border Gateway Protocol,边界网关协议)是一种在自治系统之间动态交换路由器信息的路由协议。
一个自治系统的经典定义是一个管理机制掌握之下的一组路由器,它使用IGP和一般度量值向其他自治系统转发报文。
2.自适应网卡只有红灯闪耀,绿灯不亮,这种状况正常?答:自适应网卡红灯代表Link/Act(连通/工作),即连通时红灯长亮,传输数据时闪耀;绿灯代表FDX(全双工),即全双工状态时亮,半双工状态时灭。
假如一个半双工的网络设备和自适应网卡相连,由于这张网卡是自适应网卡,它就会工作在半双工状态,所以绿灯不亮也属于正常状况。
3.两台笔记本电脑连起来后ping不通,你觉得可能存在哪些问题?答:(1)首先想到的就是你的网线问题。
确认网线是否正确,电脑之间连的线和电脑与HUB之间连的线分正线、反线,是不同的。
但是对于使用千兆位网卡的除外,千兆位网卡有自动识别的功能,既可以是正线也可以是反线。
(2)局域网设置问题。
电脑互连是要设置的。
看看是否安装了必要的网络协议,最重要的是,IP地址是否设置正确。
互连的时候,最好一台为主,一台为副,主的设为网关。
(3)网卡驱动未正确安装。
(4)防火墙设置有问题。
(5)是否有什么软件阻挡ping包。
4.解释什么叫“透亮”?什么叫“网格”?答:透亮即向高层隐藏其详细实现。
网格就是有规律的方格集,是虚拟的。
网格是把整个因特网整合一台巨大的超级计算机,实现各种资源的全面共享。
网格的根本特征不是它的规模,而是资源共享,消退资源孤岛。
在不同地区的计算机各自分析某一项计算的一部分,综合起来计算出同一项东西。
计算机相关专业面试题目及答案介绍:计算机相关相关专业面试是求职者在求职过程中常见的环节之一。
通过面试,面试官可以了解到求职者的专业知识、技术能力以及解决问题的能力。
为了帮助求职者准备面试,本文将提供一些常见的计算机相关专业面试题目及答案,希望对求职者在面试中起到一定的帮助作用。
注意事项:1. 本文所提供的问题仅供参考,实际面试中可能会有其他问题出现。
2. 在回答问题时,求职者需要根据自己的实际情况进行回答,并尽量准确和清晰地表达。
3. 面试官一般更加关注求职者的解决问题的思路和方法,而不是单纯的答案。
一、数据结构与算法1. 什么是栈和队列?它们有什么区别?- 答案:栈和队列都是常见的数据结构,不同之处在于元素的操作顺序。
栈是一种后进先出(Last in First Out,LIFO)的数据结构,而队列是一种先进先出(First in First Out,FIFO)的数据结构。
2. 请解释一下二叉树的遍历方式及其应用场景。
- 答案:二叉树的遍历方式有前序遍历、中序遍历和后序遍历。
前序遍历先访问根节点,然后遍历左子树和右子树;中序遍历先遍历左子树,然后访问根节点,再遍历右子树;后序遍历先遍历左子树和右子树,然后访问根节点。
应用场景包括树的搜索、排序等。
二、数据库和SQL1. 请解释一下数据库的索引是什么?它的作用是什么?- 答案:数据库的索引是对数据库中一列或多列的值进行排序的一种结构,它可以提高查询数据的速度。
通过创建索引,可以在查询数据时减少数据库的扫描次数,从而提高查询效率。
2. 请解释一下事务是什么?事务的特性是什么?- 答案:事务是数据库操作的一个逻辑单元,它由一组字节的SQL 语句组成,这些语句要么全部执行成功,要么全部执行失败。
事务具有以下四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
三、操作系统1. 请解释一下进程和线程的区别。
计算机技术面试题及答案在现代社会中,计算机技术的发展日新月异。
面对如此快速发展的行业,计算机技术人才的需求也在不断增加。
因此,计算机技术面试成为计算机相关职位招聘的重要环节。
本文将为大家提供一些常见的计算机技术面试题及其答案,希望能对大家在求职过程中有所帮助。
1. 计算机网络方面的面试题问题:请解释什么是IP地址?答案:IP地址是指互联网协议地址,用于给计算机和其他网络设备在TCP/IP网络中进行唯一标识和寻址。
它由一系列数字组成(例如192.168.1.1),用于确定计算机在网络中的位置和通讯。
问题:请解释什么是子网掩码?答案:子网掩码是一种用于划分网络地址和主机地址的32位二进制数,用于标识IP地址中网络部分和主机部分的划分。
通过与IP地址进行“与”运算,可以得到网络地址和主机地址。
2. 数据库方面的面试题问题:请解释什么是数据冗余?答案:数据冗余指的是在数据库中重复存储相同的数据,造成数据冗余的主要原因是数据的更新不同步或者缺乏必要的数据整合。
数据冗余会导致数据一致性问题、存储空间浪费以及更新困难等问题。
问题:请解释什么是数据库索引?答案:数据库索引是一种数据结构,用于提高数据库查询的效率。
它通过创建一个指向数据位置的快速访问路径,可以加快数据库的查询速度。
常见的索引类型包括聚集索引、非聚集索引和唯一索引等。
3. 编程语言方面的面试题问题:请解释什么是面向对象编程(OOP)?答案:面向对象编程是一种编程思想,将程序看作由各个对象组成的集合。
每个对象都具有自己的属性和行为,并可以相互协作完成任务。
面向对象编程的核心概念包括封装、继承和多态。
问题:请解释什么是递归?答案:递归是指一个函数调用自身的过程。
通过在函数内部调用自身,可以解决某些问题的简洁性和可读性。
递归的关键是设置递归终止条件,否则会陷入无限递归的循环。
4. 操作系统方面的面试题问题:请解释什么是死锁?答案:死锁是指在并发系统中,两个或多个进程无限期地等待对方持有的资源而无法继续执行的状态。
计算机专业面试题目及答案一、操作系统1. 解释操作系统的作用和功能。
操作系统是一种管理计算机硬件和软件资源的系统软件,它提供了一组接口和服务,以便用户和应用程序可以有效地与计算机交互和利用计算机资源。
操作系统的主要功能包括进程管理、内存管理、文件系统管理、设备管理和用户接口。
2. 什么是进程和线程?它们之间有什么区别?进程是计算机中正在运行的一个程序的实例。
它拥有独立的地址空间、系统资源和执行状态。
进程之间是相互独立的,每个进程都有自己的数据和代码。
线程是进程中的执行单元,是进程内部的一条执行路径。
一个进程可以包含多个线程,这些线程共享进程的资源,如内存空间和打开的文件。
不同线程之间可以并发执行,共享同一个进程的上下文环境。
主要区别在于进程拥有独立的地址空间和系统资源,而线程共享进程的资源。
线程切换开销较小,通信较为方便,但线程之间的同步和互斥较为复杂。
进程切换开销较大,通信较为复杂,但进程之间的隔离性好。
二、数据结构与算法1. 什么是数据结构?举例说明常见的数据结构。
数据结构是组织和存储数据的方式,它定义了数据的组织方式和操作方法。
常见的数据结构包括数组、链表、栈、队列、树、图等。
举例说明:- 数组:用于存储一组相同类型的数据,可以通过索引访问元素。
- 链表:由一系列节点组成的线性数据结构,每个节点包含数据和指向下一个节点的指针。
- 栈:先进后出的数据结构,只能在栈顶进行插入和删除操作。
- 队列:先进先出的数据结构,可以在队尾插入元素,在队首删除元素。
- 树:由节点和边组成的非线性数据结构,适用于表达具有层次关系的数据。
- 图:由节点和边组成的非线性数据结构,适用于表达具有复杂关系的数据。
2. 什么是算法?请举例说明一个常见的算法。
算法是解决问题或执行任务的一组规则或步骤。
它描述了输入、输出和对输入数据的处理过程。
算法可以用伪代码、流程图或编程语言表示。
举例说明一个常见的算法:冒泡排序算法。
冒泡排序算法通过多次比较和交换相邻元素的方式将数组中的元素按照升序或降序排列。
1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL2. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?while(1){}或者for(;;){}3. 用变量a给出下面的定义a) 一个整型数(An integer)b)一个指向整型数的指针( A pointer to an integer)c)一个指向指针的的指针,它指向的指针是指向一个整型数( A pointer to a pointer to an intege)rd)一个有10个整型数的数组( An array of 10 integers)e) 一个有10个指针的数组,该指针是指向一个整型数的。
(An array of 10 pointers to integers)f) 一个指向有10个整型数数组的指针( A pointer to an array of 10 integers)g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer)h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer )答案是:a) int a; 键字static的作用是什么?这个简单的问题很少有人能回答完全。
在C语言中,关键字static有三个明显的作用:1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。
它是一个本地的全局变量。
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。
那就是,这个函数被限制在声明它的模块的本地范围内使用。
大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。
这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。
5. 关键字const有什么含意? 表示常量不可以修改的变量。
const int a;int const a;const int *a;int * const a;int const * a const;前两个的作用是一样,a是一个常整型数。
第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。
第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。
最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。
如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。
顺带提一句,也许你可能会问,即使不用关键字 const,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重关键字const呢?我也如下的几下理由:1) 关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。
如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。
(当然,懂得用const的程序员很少会留下的垃圾让别人来清理的。
)2) 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。
3) 合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。
简而言之,这样可以减少bug的出现。
6. 程序什么时候应该使用线程,什么时候单线程效率高。
答:1.耗时的操作使用线程,提高应用程序响应。
2.并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。
3.多CPU系统中,使用线程提高CPU利用率4.改善程序结构。
一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。
其他情况都使用单线程。
7. 一般数据库若出现日志满了,会出现什么情况,是否还能使用?答:只能执行查询等读操作,不能执行更改,备份等写操作,原因是任何写操作都要记录日志。
也就是说基本上处于不能使用的状态。
是什么协议,处于哪一层?答:Internet控制报文协议,处于网络层(IP层)(ping命令基于这个协议)建立连接的主要实现步骤?答:服务器端:socket()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。
客户端:socket()建立套接字,连接(connect)服务器,连接上后使用send()和recv(),在套接字上写读数据,直至数据交换完毕,closesocket()关闭套接字。
服务器端:accept()发现有客户端连接,建立一个新的套接字,自身重新开始等待连接。
该新产生的套接字使用send()和recv()写读数据,直至数据交换完毕,closesocket()关闭套接字。
10. IP组播有那些好处?答:Internet上产生的许多新的应用,特别是高带宽的多媒体应用,带来了带宽的急剧消耗和网络拥挤问题。
组播是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。
组播可以大大的节省网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。
所以说组播技术的核心就是针对如何节约网络资源的前提下保证服务质量。
11.引用与指针有什么区别?1) 引用必须被初始化,指针不必。
2) 引用初始化以后不能被改变,指针可以改变所指的对象。
3) 不存在指向空值的引用,但是存在指向空值的指针。
12. TCP/IP 建立连接的过程?(3-way shake)答:在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK 包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
13、局部变量能否和全局变量重名?答:能,局部会屏蔽全局。
要用全局变量,需要使用"::"局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。
对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。
14、如何引用一个已经定义过的全局变量?答:extern可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。
15.描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性。
16.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据库,局部变量在堆栈。
17.什么是平衡二叉树?左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1。
18.堆栈溢出一般是由什么原因导致的?没有回收垃圾资源。
19.什么函数不能声明为虚函数? constructor函数不能声明为虚函数。
20.冒泡排序算法的时间复杂度是什么?时间复杂度是O(n2)。
21.写出float x 与“零值”比较的if语句。
if(x<&&x>采用哪种网络协议?该协议的主要层次结构?Tcp/Ip协议主要层次结构为:应用层/传输层/网络层/数据链路层/物理层。
物理地址和IP地址转换采用什么协议? ARP (Address Resolution Protocol)(地址解析協議)地址的编码分为哪俩部分? IP地址由两部分组成,网络号和主机号。
不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。
25.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。
写出C程序。
循环链表,用取余操作做26.不能做switch()的参数类型是: switch的参数不能为实型。
27. 请写出下列代码的输出内容#include <>main(){int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf("b,c,d:%d,%d,%d",b,c,d);return 0;}答:10,12,12028. 写出下列代码的输出内容#include<>int inc(int a){return(++a);}int multi(int*a,int*b,int*c){return(*c=*a**b);}typedef int(FUNC1)(int in);typedef int(FUNC2) (int*,int*,int*);void show(FUNC2 fun,int arg1, int*arg2){INCp=&inc;int temp =p(arg1);fun(&temp,&arg1, arg2);printf("%d\n",*arg2);}{int a;show(multi,10,&a);return 0;}************************************1.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?答:c用宏定义,c++用inline2.直接链接两个信令点的一组链路称作什么?答:PPP点到点连接3.软件测试都有那些种类?黑盒:针对系统功能的测试白盒:测试函数功能,各函数接口4.确定模块的功能和模块的接口是在软件设计的那个阶段完成的?概要设计阶段三.选择题:链接到Internet用到以下那个协议? ;;;;2.属于网络层协议的是: ;;; 消息调度机制是: A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈;short hash(unsigned short key){return (key>>)%256}请问hash(16),hash(256)的值分别是: A.1.16;四.找错题:1.请问下面程序有什么错误?int a[60][250][1000],i,j,k;for(k=0;k<=1000;k++)for(j=0;j<250;j++)for(i=0;i<60;i++)a[i][j][k]=0;把循环语句内外换一下2.#define Max_CB 500void LmiQueryCSmd(Struct MSgCB * pmsg){unsigned char ucCmdNum;......for(ucCmdNum=0;ucCmdNum<Max_CB;ucCmdNum++){......;}3.以下是求一个数的平方的程序,请找出错误:#define SQUARE(a)((a)*(a))int a=5;int b;b=SQUARE(a++);unsigned char BYTEint examply_fun(BYTE gt_len; BYTE *gt_code){BYTE *gt_buf;gt_buf=(BYTE *)MALLOC(Max_GT_Length);......if(gt_len>Max_GT_Length){return GT_Length_ERROR;}.......}五.问答题:Phone的原理是什么?IPV6IP通信建立的过程怎样,端口有什么作用?三次握手,确定是哪个应用程序使用该协议号信令和7号信令有什么区别,我国某前广泛使用的是那一种?4.列举5种以上的电话新业务?***********************1.进程和线程的差别。