- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅析C 基础知识
浅析C 基础知识 1
一、C/C++基础知识 3
1.?C/C++内存管理 3
2.小端存储和大端存储 4
3.C++的指针使用 4
4.运算符优先级 4
5.二维数组的动态申请 5
6.extern C声明的作用 5
7.指针和引用的区别,指针和数组的区别,const与define的区别 5
8.如何判定程序是由C/C++编译器编译出来的? 5
9.const的作用,static的作用 5
10.变量字节对齐:为了加快内存寻址的效率,在C++内存管理时一般选取的是4字节对齐 5
11.const与指针 6
12.操作符重载 6
13.函数调用传值与传引用 7
14.volatile与C/C++的四种cast函数 7
15.C++ 类的实例化如果没有参数是不需要括号的,否者就是调用函数并且返回对应的对象 7
16.const修饰函数时,标志该函数不会修改this指针的内容 8
17.const可以重载,这是基于编译器编译时对函数进行重命名实现的 8
18.override(覆盖), overload(重载), polymorphism(多态) 8
19.const char* a, char const*, char*const的区别 8
20.typename和class的区别 8
二、面向对象和C++特性描述 9
1.面向对象三个基本特征 9
2.多态 9
3.什么是纯虚函数和纯虚类 9
4.什么是虚函数 9
5.运行时绑定和虚函数表 9
6.空类的大小不是零 9
7.深拷贝与浅拷贝 10
8.只要在基类中使用了virtual关键字,那么派生类中无论是否添加virtual,都可以实现多态 10
9.虚拟析构函数 10
10.public,protected, private权限 10
11.可重入函数(多线程安全),即该函数可以被中断,就意味着它除了自己栈上的变量以外不依赖任何环境 10
12.操作系统内存管理有堆式管理、页式管理、段式管理和段页式管理 10
13.C++四种CAST操作符 10
14.shared_ptr是一个包含引用计数的智能指针 12
三、基础的数据结构编程知识 13
1.数组 13
①排序 13
②具体的每种排序算法的实现 14
③字符串处理程序 16
④链表处理?? 19
⑤二叉树处理 19
⑥其他 21
四、STL基础知识 21
1.STL 21
2.STL容器简介 21
3. list使用 22
4. stack使用 22
5. vector使用 22
6. Map/HashMap使用 22
五、多线程和网络编程 23
1.原子锁 自旋锁 信号量 互斥锁 23
2.C++多线程和多进程 23
3.TCP三次握手过程 24
4.socket编程基础 24
5. 短连接和长连接 24
6. 多线程编程基础 24
7. TCP与UDP的区别 25
8. OSI7层模型 25
9. C++实现单例模式 25
10. C++异常处理 26
11. 多线程编程 26
12. SQL注入 26
六、C++ 语言新特性 26
七、其他计算机基础知识 26
※参考文献: 26
1.进程内存空间 26
2.原子操作、信号量、自旋锁、互斥锁 26
3.二叉树面试题目 27
4. 多线程同步方法 27
5.OSI 7层模型 27
6. C++四种CAST 27
7. 数据库存储过程介绍 27
8.C++ 11的新特性--- auto的使用 27
9. Boost总结汇总 27
来源:极客头条
??? 最近想对C++的面试题目进行一下更加具体的整理。其实认真思考一下C++程序员的面试,我们可以发现对程序员的能力的考察总是万变不离其中,这些基础知识主要分为五部分:
一、C/C++基础知识
二、C/C++的一些特性,如面向对象,内存管理
三、基础的数据结构编程的知识。
四、stl的一些基础知识。
五、网络编程、多线程的知识、异常处理基础知识
? ? 本文试图覆盖C/C++面试的每一个知识点,所以对每个知识点介绍的并不深入。本文适合已经对一下具体知识有所了解的人,我对每个点都有粗略的讲解,如果想深入理解请阅读相关具体知识。
一、 C/C++的基础知识:包括指针、字符串处理、内存管理。
二、面向对象基础知识:包括多态、继承、封装。 多态的实现方式?多态的好处?
三、基础的数据结构面试:数组、链表、字符串操作、二叉树。这里要说的话就说的很多了,具体的有使用一些数据结构包括stl list, vector, map, hashmap, set。
四、stl的一些基础知识。
五、网络编程、多线程和异常处理的基础知识。
六、C++ 语言新特性。
七、其他计算机基础。
一、C/C++基础知识
1.?C
文档评论(0)