面试题知识点总结(1)

Q:进程/线程间通信方式

A:无名管道,有名管道,信号,信号量,共享内存,消息队列等。

Q:Linux内核分为哪五个部分:

A:内存管理,进程管理,进程间通信,文件系统,套接字通信

Q:Linux系统启动分为哪几个部分:

A:引导加载程序---调用Linux内核----挂载根文件系统-----运行应用程序

引导加载程序:是系统启动和复位后运行的第一段代码,完成对CPU和系统外设的初始化

调用Linux内核:完成对Linux系统的初始化

挂载根文件系统:作为文件和数据的存储区域

Q:C++中,重载,隐藏,覆盖的区别

A:

重载:

前提条件:只能在统一代码块内实现,如在一个类里,或者在同一文件内。

重载是指定义一个,与之前已经在该作用域内定义过的具有相同名称的成员函数,但是它们的参数列表不相同。

当调用重载函数时,编译器会根据指定的参数列表,自动匹配具有相同类型的参数列表的重载函数。

注意,不能通过返回类型的不同来重载函数。

隐藏:

前提条件:定义两个类,其中一个是基类,继承基类的派生类

隐藏是指,在派生类中定义一个,与之前已经在基类中定义过的具有相同名称的成员函数,在派生类中调用函数时,只会调用派生类中的同名函数,而不会调用基类中的同名函数。若想要访问基类的成员变量和成员方法需加上基类的作用域。

覆盖(重写):

前提条件:定义两个类,其中一个是基类,继承基类的派生类

覆盖(重写)是指,在派生类中定义一个,与之前在基类中定义过的完全相同的成员函数,在派生类中调用该函数时,只会调用派生类中的重写函数。

基类的被重写函数需要virtual修饰为虚函数,其派生类的重写函数默认为虚函数,可以省略virtual

如果用一个基类的指针(或引用)指向(或引用)派生类对象,那么这个基类的指针或用引用调用该重写的虚函数,调用的是派生类的虚函数。

相反,如果用一个基类的指针(或引用)指向(或引用)基类的对象,那么这个基类的指针或用引用调用该重写的虚函数,调用的是基类的虚函数。

(如果不是虚函数,那么基类的指针或引用调用的永远都是基类对象,这里涉及到虚函数表)

Q:解释一下TCP协议中的三次握手,四次挥手 

A:建立连接阶段,

客户端服务器端发送SYN连接请求报文;

服务器端收到报文后,回复SYN+ACK,SYN用于同步,ACK用于应答;

客户端收到服务器的报文后,再发送ACK应答到服务器端,故为三次握手。

断开连接阶段,

客户端服务器端发送FIN报文请求断开连接;

服务器端收到FIN报文时,不会立即关闭SOCKET,而是先回复一个ACK报文,告诉客户端已经收到断开连接的请求,直到服务器端的报文都发送完了,才会发送FIN报文;

客户端收到服务器的报文后,再发送ACK应答到服务器端,故为四次挥手。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值