作者:TK-Xiong
链接:https://www.nowcoder.com/discuss/3991
来源:牛客网
C/C++相关
1.虚析构、模板 和 宏
2.虚函数实现机制
(是每个类用了一个虚表,每个类的对象用了一个虚指针指向这个表)
3.vector与list的区别,map是如何实现的(RBTree),查找效率是多少(logn)
区别是…一个是连续空间,一个是指针串起来的…
Map的实现是红黑树RBTree
查找效率是logn
4.extern关键字有什么用?
标识变量定义在其他文件
5.malloc和new的区别,能否malloc(1.2G)
malloc只分配空间不初始化,new既分配空间也初始化。可以。
6.多态性都有哪些?
静态多态和动态多态。
静态多态是函数重载
动态多态是虚函数
7.动态绑定怎么实现?
基类的指针或引用调用虚函数的时候发生动态绑定。
如果实际指向的是派生类的对象,就调用派生类的函数,如果是基类的,则调用基类的。
8.类型转换有哪些?(四种类型转换,分别举例说明)
四种。看博客。
9.操作符重载(+操作符),具体如何去定义?(让把操作符重载函数原型说一遍)
10.内存对齐的原则?(原则叙述了一下并举例说明)
11.模版怎么实现?
12.指针和const的用法?(就是四种情况说了一下)
13.虚函数、纯虚函数、虚函数与析构函数?(纯虚函数如何定义,为什么析构函数要定义成
虚函数)
14.内联函数(讲了一下内联函数的优点以及和宏定义的区别)
15.const和typedef(主要讲了const的用处,有那些优点)
16.排序算法有哪些?快速排序怎么实现的?最好时间复杂度,平均时间复杂度
17.链接指示:extern “C”(作用)
18.c语言和c++有什么区别?(大体讲了 一下,继承、多态、封装、异常处理等)
19.qt类中的一些继承关系?
20.qt的信号与槽机制?
21.qt有那些类,控件?
22.plc是个什么玩意?
23.strcpy函数的编写?(这个函数很熟悉,后来阿里校招面试也让现场编写了)
24.数据结构中二叉树的非递归遍历?(现场画图举例讲解的,所以大家面试的时候尽量多
动笔)
25.c++中四种类型转换机制?
26.继承机制中对象之间是如何转换的?
27.继承机制中引用和指针之间如何转换?
28.虚函数,虚函数表里面内存如何分配?(这个考前看过了,答的还不错)
29.如何实现只能动态分配类对象,不能定义类对象?(这个牛客上的题目,我把如何只能
动态分配和只能静态分配都讲了一下)
30.stl有哪些容器,对比vector和set?
31.红黑树的定义和解释?
32.const关键字的作用?(const成员函数,函数传递,和define的区别)
33.静态成员函数和数据成员有什么意义?
34.模版特化的概念,为什么特化?
35.explicit是干什么用的?
36.strcpy返回类型是干嘛用的?
重复拷贝
37.内存溢出有那些因素?
(1)使用非类型安全(non-type-safe)的语言如C/C++等。
(2)以不可靠的方式存取或者复制内存缓冲区。
(3)编译器设置的内存缓冲区太靠近关键数据结构。
38.new与malloc的区别,delet和free的区别?
39.为什么要用static_cast转换而不用c语言中的转换?
Static_cast有类型检查,更安全
40.异常机制是怎么回事?
41.迭代器删除元素的会发生什么?
迭代器可能失效?
42.必须在构造函数初始化式里进行初始化的数据成员有哪些?
43.类的封装:private,protected,public
44.auto_ptr类:
linux以及操作系统相关
1内存池实现
2进程间通信机制
3 Linux ps命令,以及看内存当前使用状态的命令
4进程与线程的区别,共享的数据
5进程的内存空间
6.进程和线程的区别。
7.死锁的必要条件,怎么处理死锁。
8. Window内存管理方式:段存储,页存储,段页存储。
9.进程的几种状态。
10. IPC几种通信方式。
11.什么是虚拟内存。
12.虚拟地址、逻辑地址、线性地址、物理地址的区别。
计算机网络相关
1 TCP三次握手、四次挥手
2 TCP滑动窗口与回退N针协议。
3 TCP拥塞控制机制
4 socket模型
5. OSI与TCP/IP各层的结构与功能,都有哪些协议。
6. TCP与UDP的区别。
7. TCP报文结构。
8. TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用。
9. Http的报文结构。
10. Http的状态码含义。
11. Http request的几种类型。
12. Http1.1和Http1.0的区别
13. Http怎么处理长连接。
16. Cookie与Session的作用于原理。
17.电脑上访问一个网页,整个过程是怎么样的:DNS、HTTP、TCP、OSPF、IP、ARP。
18. Ping的整个过程。ICMP报文是什么。
19. C/S模式下使用socket通信,几个关键函数。
20. IP地址分类。
21.路由器与交换机区别。
网络其实大体分为两块,一个TCP协议,一个HTTP协议,只要把这两块以及相关协议搞清楚,一般问题不大。
其他
1红黑树的性质以及插入和删除
4卡特兰数以及公式推导(应多很多)
9 C++、java和PHP有什么本质区别