自我介绍(1-3分钟)
八股部分:
1、面向对象三大特性?
2、C++如何实现多态
3、什么是虚函数?
4、什么时候无法实现虚函数
5、调用方法时如何调用相对应的虚函数实现?
6、虚函数和普通函数的区别?
7、有一个基类A,B是A的子类,C是B的子类,然后A方法里面有一个虚函数P,请尝试分析:C中的P函数虚函数指针指向哪里?
8、A指针指向B对象,最后使用A指针调用虚方法,如何找到对应的实现(延伸:如果A调用的是普通方法,调用过程如何找到方法)
9、什么是直接调用?
10、什么是智能指针?
11、如果不用智能指针手动管理 如何管理new对象防止内存泄漏?
12、什么是虚拟地址?
12.1、为什么采用虚拟地址?
12.2、如何使用虚拟地址来扩展内存?
12.3、硬件上有6M字节,程序需要8M字节,如何进行映射?
12.4、如何将有限的地址映射到已经超出了内存范围的范围?
12.5、如何通过虚拟地址找到存储块?
12.6、虚拟内存地址0~7,0存储的是什么?
12.7、使用虚拟内存在哪里取数据?
12.8、虚拟内存如何从物理储存到页交换文件?
13、内存的划分有哪些区域?
14、栈的优点?
15、为什么栈快?
16、堆区的优点?
17、堆区的结构?
18、什么是内存碎片?
19、内存碎片是如何产生的?
20、为什么内存分配过大?
21、如何避免内存碎片?
22、最优适配方法的劣势?
23、简述一个对象的内存结构是什么样的?
问了一下简历上面的项目
算法题:写一个函数。他有两个字符串类型的参数(长度不限),分别是正整数,计算这两个数之和,返回字符串。
#软件开发2024笔面经##腾讯视频#