20170919_C++面试问题记录

20170919_C++面试问题记录


1、多态性都有哪些?(静态多态和动态多态,然后分别阐述虚函数和函数重载。)

2、动态绑定是怎么实现的?(就是基类指针或者基类引用和派生类指针或者派生类引用的转换问题。)

3、C++中的四种类型转换有哪些?(四种强制类型转换,分别举例子说明。)

4、操作符重载(+操作符重载),具体的如何去定义?(让把操作符重载函数原型说一下。)

5、内存对齐原则是什么?(原则是什么,举例子说明一下。)

6、模板是怎么实现的?(举例子。)

7、指针和const 的用法?(就是四种情况说明一下。)

8、虚函数、纯虚函数、析构函数和虚析构函数?(纯虚函数如何定义的,为什么析构函数需要定义成虚函数。)

9、内联函数是什么意思?(讲一下内联函数和宏定义的区别,以及优点。)

10、const 和 typedef 的区别?(主要讲const 的用处,有哪些优点。)

11、排序算法有哪些?快速排序是什么实现的?最好时间复杂度、最坏时间复杂度、平均时间复杂度?

12、链接指示:extern “C” 的作用是什么?

13、C语言和C++语言有什么区别?(大致讲一下继承、多态、封装、异常处理等。)

14、你有什么需要问我的?


1、strcpy 函数编写?(这个必须很熟悉。)

2、数据结构中,二叉树的非递归遍历?(现场画图讲解。)

3、C++中的四种类型转换机制?(必须很熟悉。)

4、继承机制中对象之间是如何转换的?(就是指父类对象和子类对象之间的转换以及父类指针或引用与子类指针或引用之间的转换。)

5、继承机制中,引用和指针是如何转换的?

6、虚函数、虚函数表里面的内存是如何分配的?(必须要会。)

7、如何实现只能动态分配类的对象、而不能定义类的对象?(牛客网上题目,只能静态分配类的对象和只能动态分配类的对象,两种都要讲。)

8、STL有哪些容器?对比下vector和set?

9、红黑树的定义和解释?

10、const 关键字的作用?(const 成员函数、函数传递、和 define 的区别。)

11、静态函数成员和静态数据成员,有什么意义?

12、模板特化的概念是什么?为什么要特化?

13、explicit 是干什么用的?

14、strcpy 函数的返回类型是干嘛用的?

15、内存溢出有哪些因素导致的?

16、new 和malloc 的区别?delete 和free 的区别?

17、为什么要用C++中的static_cast 转换而不用C语言中的转换?

18、异常机制是怎么回事?

19、迭代器删除元素的话,会发生什么?

20、必须在类的构造函数初始化列表里进行初始化的数据成员有哪些?

21、类的封装:private、protected、public?

22、智能指针 auto_ptr?




来源:牛客网

1、自我介绍+最满意的项目+项目中的技术难点+项目还可以怎么改进
2、C++中多态的实现
3、虚函数的实现机制,一个类一个虚函数表还是一个对象一个虚函数表,虚函数表指针是怎么找到实现的哪个虚函数的?虚函数表存在哪里?构造函数可以调用虚函数吗?虚函数表指针是什么时候加载的?
4、类的私有继承是is还是has,公有继承呢?
5、用过哪些STL?vector是怎样实现内存动态增长的?扩容后原来的内存空间怎么办?扩容以后原来的数据可以用memcopy一个一个拷贝到新的内存空间吗?
6、map中[]和find的区别?
7、智能指针了解吗?
8、C++11新特性了解哪些?
9、网络编程了解过吗?你用的socket编程用的是那种模型?
10、TCP是怎样保证可靠传输的?TCP粘包问题?TCP数据包错误怎么检测?(答校验和)校验和能保证数据完全正确吗?不能的话,应该怎么检测数据包错误?
11、假设TCP连接已经建立完成,现阶段并没有数据传输,有一端突然断网,另一端能知道吗?
12、一个程序中建立多少线程比较合适?只跟CPU个数有关吗?
13、怎么保证多个线程使用同一个资源的安全性?线程锁有哪些类型?
14、java多线程的sychonized关键字实现的是哪种锁?
15、怎么避免死锁?
16、线程切换的原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值