当前位置: 首页 > Linux

C-C++面试题库:这些题你能答对吗?

时间:2023-04-06 11:09:19 Linux

基本部分1.1。语言1.C和C++的特点和区别?2.讲解C++的多态性3.讲解C++虚函数的实现4.C和C++内存分配高级部分2.1.网络5.画出三次握手和四次握手流程图6.请说明https连接建立过程7.画出OSI与TCP/IP协议栈的对应关系8.请说明ARQ协议的原理和过程9.请解释滑动窗口协议的原理和过程2.2。操作系统10.进程通信方式有哪些?哪个效率最高?11.线程间的通信方式12.请分别解释进程和线程的概念,并分析异同?2.3.数据库13.MySQL中myisam和innodb的区别14.innodb引擎的4大特点15.MyISAM和InnoDBselectcount(*)哪个更快,为什么16.Redis支持的数据类型?17.什么是Redis持久化?Redis有哪几种持久化方式?优缺点都有什么?2018.Redis通信协议(RESP),能解释一下什么是RESP吗?有什么特点?19.Redis有哪些架构模式?谈谈各自的特点2.4.数据结构20、线性表21、二叉树22、红黑树23、平衡树24、基数树25、八叉树26、李克尔树2.5。算法27、排序算法选择/冒泡/快速/堆等28、一致性哈希算法29、paxos算法30、raft算法1、C和C++的特点和特点的区别?参考答案:答:(一)C语言的特点:1)作为一种面向过程的结构化语言,易于调试和维护;2)具有很强的性能和处理能力,可以直接访问内存的物理地址;3)C语言实现了对硬件的编程操作,也适用于应用软件的开发;4)C语言还具有高效、可移植性强的特点。(2)C++语言的特点:1)在C语言的基础上进行扩展和改进,使C++兼容了C语言面向过程的特点,成为一种面向对象的程序设计语言;2)可以使用抽象数据类型进行基于对象的编程;3)可以使用多重继承和多态性进行面向对象编程;4)能进行以模板为特征的泛型编程。参考答案:1、C和C++有什么特点和区别?答:(1)C语言的特点:1)作为面向过程的结构化语言,易于调试和维护;2)具有强大的性能和处理能力,可以直接访问内存的物理地址;3)C语言实现了硬件的编程操作,也适用于应用软件的开发;4)C语言还具有高效、可移植性强的特点。(2)C++语言的特点:1)在C语言的基础上进行扩展和改进,使C++兼容了C语言面向过程的特点,成为一种面向对象的程序设计语言;2)可以使用抽象数据类型进行基于对象的编程;3)可以使用多重继承和多态性进行面向对象编程;4)能进行以模板为特征的泛型编程。1、解释C++的多态编译时多态:主要是指泛型编程的运行时多态:C++的多态可以用一句话来概括:在基类的函数前加上virtual关键字,重写成派生类这个函数,运行时会根据对象的实际类型调用相应的函数。如果对象类型是派生类,则调用派生类的函数;如果对象类型是基类,则调用基类的函数。1)用virtual关键字声明的函数称为虚函数,虚函数必须是类的成员函数;2)具有虚函数的类有一个一维的虚函数表称为虚表,类的对象有一个指向虚表的起始虚指针。虚表对应类,虚表指针对应对象;3)多态是一个接口有多种实现,是面向对象的核心,分为类多态和函数多态。;4)多态性是用虚函数实现的,结合动态绑定。5)纯虚函数是虚函数plus=0;6)抽象类是指至少包含一个纯虚函数的类;一个纯虚函数:virtualvoidfun()=0;即一个抽象类必须在子类中实现这个功能,即先有名称,没有内容,在派生类中实现内容。........我整理了一个PDF版的面试题库,里面回答了所有的问题。如果您想免费获得PDF文档,请扫描二维码