标签:数据类型 持久 通讯 缺点 试题 类型 滑动窗口协议 指针 特性
基础部分一、 C和C++的特点与区别?
二、 阐述C++的多态
三、 阐释c++虚函数的实现
四、 C和C++内存分配问题
C/C++面试题库:这些问题你回答得出来吗
高级部分
2.1. 网络
五、 画出三次握手和四次挥手流程图
六、 请阐释https建立连接过程
七、 画出OSI和TCP/IP协议栈的对应关系
八、 请阐释ARQ协议的原理和过程
九、 请阐释滑动窗口协议原理和过程
2.2. 操作系统
十、 进程通信方式有哪些?哪种效率最高?
十一、 线程间的通信方式
十二、 请分别阐释进程和线程的概念,并分析异同?
2.3. 数据库
十三、 MySQL中myisam与innodb的区别
十四、 innodb引擎的4大特性
十五、 MyISAM和InnoDB selectcount(*)哪个更快,为什么
十六、 Redis支持的数据类型?
十七、 什么是Redis持久化?Redis有哪几种持久化方式?优缺点是什么? 20
十八、 redis通讯协议(RESP ),能解释下什么是RESP?有什么特点?
十九、 Redis 有哪些架构模式?讲讲各自的特点
2.4. 数据结构
二十、 线性表
二十一、 二叉树
二十二、 红黑树
二十三、 平衡树
二十四、 Radix树
二十五、 八叉树
二十六、 梅克尔树
C/C++面试题库:这些问题你回答得出来吗
2.5. 算法
二十七、 排序算法
选择/冒泡/快速/堆排等
二十八、 一致性哈希算法
二十九、 paxos算法
三十、 raft算法
一、 C和C++的特点与区别?
参考答案:
答:(1)C语言特点:
1) 作为一种面向过程的结构化语言,易于调试和维护;
2) 表现能力和处理能力极强,可以直接访问内存的物理地址;
3) C语言实现了对硬件的编程操作,也适合于应用软件的开发;
4) C语言还具有效率高,可移植性强等特点。
(2)C++语言特点:
1) 在C语言的基础上进行扩充和完善,使C++兼容了C语言的面向过程特点,又成为了一种面向对象的程序设计语言;
2) 可以使用抽象数据类型进行基于对象的编程;
3) 可以使用多继承、多态进行面向对象的编程;
4) 可以担负起以模版为特征的泛型化编程。
参考答案:
一、 C和C++的特点与区别?
答:(1)C语言特点:
1) 作为一种面向过程的结构化语言,易于调试和维护;
2) 表现能力和处理能力极强,可以直接访问内存的物理地址;
3) C语言实现了对硬件的编程操作,也适合于应用软件的开发;
4) C语言还具有效率高,可移植性强等特点。
(2)C++语言特点:
1) 在C语言的基础上进行扩充和完善,使C++兼容了C语言的面向过程特点,又成为了一种面向对象的程序设计语言;
2) 可以使用抽象数据类型进行基于对象的编程;
3) 可以使用多继承、多态进行面向对象的编程;
4) 可以担负起以模版为特征的泛型化编程。
一、 阐述C++的多态
编译时多态:主要指泛型编程
运行时多态:
C++的多态性用一句话概括:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数。
1) 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数;
2) 存在虚函数的类都有一个一维的虚函数表叫做虚表,类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的;
3) 多态性是一个接口多种实现,是面向对象的核心,分为类的多态性和函数的多态性。;
4) 多态用虚函数来实现,结合动态绑定.;
5) 纯虚函数是虚函数再加上 = 0;
6) 抽象类是指包括至少一个纯虚函数的类;
纯虚函数:virtual void fun()=0;即抽象类,必须在子类实现这个函数,即先有名称,没有内容,在派生类实现内容。
。。。。。。。。
标签:数据类型 持久 通讯 缺点 试题 类型 滑动窗口协议 指针 特性
原文地址:https://blog.51cto.com/14752733/2479694