目录中提到的博客本人已经全部整理过了,大家可以自行翻阅本人博客进行查找。
我先将目录贴出来:
我将整理的pdf文件放在百度云盘上,需要的自行下载:
链接:https://pan.baidu.com/s/12kxtUVhXS2PJHmRIFfFdxA
提取码:kthh
1.把 int 和 long 两个类型的字节大小说错, 在 32 位、 64 位系统下的 32 位和 64 位编译器下, 数据类型和指针所占内存字节数是多少?.... 1
2.搞不清楚字符编码, 尤其是项目中最常用的 ASCII、 UTF-16、 UTF-8 编码的区别。.... 1
3.位运算忘了, 记糊涂了, 分不清算数位移和逻辑位移, 也不知道 C 编译器采用的是哪一 种。 1
4、for和 while循环有什么区别呢? (汇编实现上) 不知道, 难道只是写法不一样? 有没有看过他们的汇编有什么区别? Linux 上看源代码汇编的命令是什么?... 2
5、switch 怎么实现的? 什么时候用 switch 比 if else 高效? (汇编实现上).... 2
6.C的默认类型转换有哪些?.... 3
7、请写出下面程序的打印结果. 3
8、请写出下面程序的打印结果. 3
9、BF算法、KMP算法(博客:BF算法和KMP算法).... 3
10、填空.... 3
11、typedef和#define有什么区别?.... 4
12.请写代码检查当前系统的大小端?.... 4
13.struct和class的区别?.... 5
14、struct和union的区别?... 5
15、struct结构体的内存对齐问题?.... 5
16、C的空结构体的大小?能不能用来定义变量?变量有没有地址?多个空结构体定义的变量内存地址是相同的还是线性的?.... 6
17.文本文件(ASCII码文件)和二进制文件的区别。.... 6
18.文件的操作函数(C语言)。... 6
19.海量数据的查重问题. 6
20.海量数据的Top k问题. 8
21 求一组数据的第K大的数据.... 9
22.查重和top k问题的综合应用.... 10
23.malloc和new有什么区别?free和delete有什么区别?可不可以混用?.... 11
24.new和new[]的区别?.... 12
25.有哪些内存泄漏,内存非法访问的操作?怎么定位?怎么解决?... 12
26.内核空间分配.... 13
27.伙伴系统(linux)内存分配原理.... 13
29.程序的编译链接过程(见博客).... 14
30.链接分为几步?.... 14
31.什么时候给符号分配地址?.... 14
32.三类目标文件.... 14
33.esp和ebp是怎样描述函数调用的栈的?... 14
34.esp和ebp是怎样推进的?... 15
35. X86体系的指令集 push, pop, mov, lea, ret, call等指令都做了什么事情, 是什么意思? 15
36.形参变量是什么时候开辟内存以及什么时候回收内存的?... 15
37. 什么是 CPU的 PC寄存器?干什么用的?.... 15
38. 函数返回值 的时候一定会产生临时变量吗? 那什么时候产生, 什么时候不产生?.... 15
39. 把程序从磁盘上往内存加载的时候, 都加载磁盘可执行程序的哪些东西, 全部加载吗? 15
40.给你一段程序,你能判断每一段都存放在哪一块内存吗?... 16
41.单链表相关的问题(博客:单链表详解以及单链表相关面试题总结).... 16
42.跳跃表的代码实现(博客:跳跃表)... 16
43.顺序栈和链式栈(博客:顺序栈和链式栈)... 16
44.二叉树的前序、中序和后序遍历(非递归)... 16
44.循环队列、链式队列和优先级队列(见同名博客)... 17
45.二叉树的层次遍历非递归代码。(见博客:所有人看了都说好的二叉树的层次遍历)... 17
46.大根堆、小根堆(见博客:(大根堆、小根堆(数组模拟操作))).... 17
47.哈夫曼编码的代码(见博客:HuffMan(哈/赫夫曼树)和编码实现(C++STL库)).... 17
48.求解10G整数的的大文件,找出重复次数最多的前10数字的TopK问题代码。(见博客:查重和topK问题的结合|10G文件按,内存不够|多文件操作|c++STL)... 17
49.Boyer-Moore算法(见博客:BoyerMoore算法详解(理解不了你打死我)|代码实现(c++)) 17
50.求解一个字符串中最长的不重复子串代码.... 17
51.求解两个字符串的最长公共子串的代码.... 18
52.八大排序(见博客:八大排序详解||冒泡排序||选择排序||插入排序||shell(希尔排序)||快速排序(多种优化)||堆排序||归并排序||基数排序(桶排序)||效率总结).... 19
53.const的转换问题... 19
54.请选出下面哪些代码是错误的(A)。.... 19
55.请选出下面哪些代码是错误的(BCD)。.... 19
56请判断下面哪些代码有错误?(ADE) 19
57.什么是叫做面向对象?... 20
58.什么是对象的浅拷贝和深拷贝?对象的拷贝构造函数能用值传递吗?为什么?(见博客: c++拷贝构造(复制构造函数)详解||浅拷贝和深拷贝||拷贝构造函数的参数能用值传递吗? ).... 20
59.成员对象在哪里初始化?.... 20
60.请说一下explicit、mutable和volatile关键字的作用。(见博客:explicit、multable和volatile关键字的作用||C++).... 20
61.static方法和普通成员方法有什么区别?.... 20
62.const成员方法和普通成员方法有什么区别?... 20
63.static和const能不能同时修饰一个成员方法?.... 20
64.请写出下面代码的打印。... 21
65.写出下面程序的打印结构.... 22
66.C++的静多态和动多态.... 22
67.简单映射表的代码(依赖hash表的链地址法)(见博客:自己实现一个映射表(依赖于hash表的链地址法)||c++) 23
68.实现带有空间配置器的vector(见博客:带有空间配置器的vector容器的实现||迭代器失效||vector总结||C++) 23
69. 泛型算法 sort, find, find_if,绑定器和取反器, 函数对象 greater和 less(见同名博客) 23
70.请解释一下C++多态?... 23
71.C++的析构函数能不能虚函数?什么时候会用到?.... 23
72.虚函数得调用过程?虚函数表是什么?虚函数表运行时放在哪块内存?... 23
73.虚基类和抽象类有什么区别?... 23
74.什么是静态绑定和动态绑定?... 24
75.哪些函数不能被声明为虚函数?.... 24
75.多重继承会有什么问题?.... 24
76.vbptr和vfptr有什么区别?.... 24
77.请描述一下重载、隐藏和覆盖之间有什么不同?.... 24
78.虚函数或者虚继承对对象内存大小有影响吗?.... 24
79.C++有哪四种类型强转?分别有哪些作用?(见博客:教你学会C++的四种类型强转) 25
80.析构函数和构造函数可以抛出异常吗?.... 25
81.map中的find和operator[]这两个函数有什么区别?.... 25
82.map是什么实现的?hash_map和map的区别在哪里?.... 25
83.stl的内存分配和回收机制:【空间适配器】... 25
84.智能指针(博客:一文带你详细了解C++智能指针).... 25