面试总结和感想怎么写 个人面试成功后的感想500字( 三 )


17、析构函数可不可以是纯虚函数?我觉得不建议是,因为我们知道纯虚函数是没有实现体的,那么子类对象在析构的时候,父类组成部分就没办法释放,显然不行 。但是对于大部分编译器来说,可以将析构函数申明为纯虚函数,然后在类外写纯虚函数的实现体,从语法上不会报错 。举例一种STL中的容器答:比如vector(当时答得是这个),vector的的实现其实就是封装了一个动态数组,里面有3个内部迭代器,分别是start、finnish、end_of_storage 。
18、如果通过push_back或者insert插入元素造成超过容量,此时容量会扩展至2倍,这个过程分为:重新配置、移动拷贝元素、释放原空间,这3个大部,支持随机访问等举例STL的一种算法答:比如find、accumulate、next_permutation、unique、position等等如何防止c++头文件被重复引用答:可以使用ifndef或者programonce,都可以 。但是两者有一些区别 。从兼容性上说,ifndfe更好,有些老的编译器可能不支持programonce;此外,对于2个名字不同的头文件,但内容相同,ifndef还是可以鉴别出来,防止重复,programonce不行 。
19、内联函数和宏的区别答:内联函数的展开发生在编译期,而宏是在预处理阶段;内联函数本身是函数,而宏不是;最重要的一点:内联函数会对参数进行类型检查,而宏只是简单的替换,所以内联函数更加安全,所以往往宏需要对参数加括号,但是也不一定安全,内联函数有自己明确的作用域或者访问权限,比如放在类里面的private,而宏是没有的 。1linux下常用命令答:(1)ls-al显示当前目录下的所有文件目录信息,包括隐藏的(2)mkdir创建文件夹(3)cat查看文件内容(4)cp拷贝(5)rm-rf删除文件(夹)下所有文件(6)find查找文件(7)grep正则匹配(8)pwd显示当前文件路径(9)ln创建文件连接-s软连接(10)chmod修改文件权限(11)netstat-a|grep查看 *** 状态(12)toplinux下进程管理的相关命令(1)ps-e查看所有的进程信息(2)kill-9pid强行杀死进程(3)top-ppid查看进程信息linux下如何查看内存、磁盘情况(1)top(2)df(3)free什么叫软连接和硬链接,他们的区别是什么硬链接是以文件副本引用的形式存在的,他跟源文件拥有同一个inode节点;软连接是以路径的形式存在的,他的inode节点所对应的数据块存储的是源文件的路径 。他们的区别的是:软连接可以跨文件系统创建,而且可以对目录进行创建,硬链接都不行,所以,相对来说,软连接更加灵活,删除软连接不会产生任何影响,但是如果源文件被删除了,那么所有的软连接就失效了,所以很像windows下的快捷方式 。
20、什么叫相对路径什么叫绝对路径?答:以/开头的就是绝对路径,因为他代表了从根目录出发的路径,反之就是相对路径进程间通信的方式?答:无名管道、有名管道FIFO,消息队列、共享内存、信号量、socket等,(应该进行简略阐述c++下如何调用C的包?答:externC,通知编译器其所包含的代码用c的方式进行编译,这样连接的时候不会报错,否则会找不到函数符号 。找出去重后的数字的命令$sorttest.txt|uniqsocket编程tcp客户端连接过程建立套接字对象,connect、read/wirte22socket编程tcp服务器端连接过程建立套接字对象、bind、listen、accept、read/wirteepoll和select的区别?答:select能支持的文件描述符数是有限的,更大1024个,并且每次调用前都需要将其监听的读集、写集、错误集从用户态向内核态拷贝,返回后又拷贝回去,而且,select返回的时候是将所有的文件描述符返回,也就意味着一旦有个事件触发,只能通过遍历的方式才能找到具体是哪一个事件,效率比较低、开销也比较大,但是也有好处,就是他的超时的单位是微秒级别;epoll能支持的文件描述符数很大,可以上万,他的高效由3个部分组成:红黑树、双向链表、回调函数,每次将监听事件拷贝到内核后就存放在红黑树种,以EventPoll的结构体存在,如果有相应的事件发生,对应的回调函数就会触发,进而就会将该事件拷贝至双向链表中返回,而且,epoll每次返回的都是有事件发生的事件,不是所有时间,所以比较高效,总的来说epoll适用于连接数较多,活跃数较少的场景、而select适用于连接数不多,但大多都活跃的场景 。同一个IP同一个端口可以同时建立tcp和udp的连接吗答可以,同一个端口虽然udp和tcp的端口数字是一样的,但实质他们是不同的端口,所以是没有影响的,从底层实质分析,对于每一个连接内核维护了一个五元组,包含了源ip,目的ip、源端口目的端口、以及传输协议,在这里尽管前4项都一样,但是传输协议是不一样的,所以内核会认为是2个不同的连接,在ip层就会进行开始分流,tcp的走tcp,udp走udp 。

推荐阅读