#软件开发笔面经#1.自我介绍2.对C++的理解以及C++的优缺点3.C++内存分配方式主要有哪几种4.介绍智能指针,智能指针的实现原理5.基类的析构函数为什么要定义成虚函数6.指针和引用的区别,什么情况使用引用什么情况使用指针7.C++中深拷贝和浅拷贝的区别,追问:什么情况用浅拷贝什么情况用深拷贝,实际编码中使用过拷贝函数吗,遇到过什么问题么8.进程间通信的方式9.数据库索引的作用,追问:索引是怎么提高扫描的速度的,使用索引的缺点,索引占用的是什么空间10.树和二叉树的区别11.对进程、线程、协程的理解12.有一个游戏中的三维地图,是由i,j,k三个轴组成的三维网格,每个立方体由不同的种类所代表,比如说空气,水,泥土,沙子,石头等,假设地图上方是空气方块,不会经常变更,下方是各种类型的方块(沙子变成石头,泥土)它们之间会经常相互转换,需要你去实现一个存储这个地图(地图方块及其对应类型的)的一个方案,应该怎么样实现(尽可能减少内存空间占用,要支持高频的查询)13.问项目14.算法题:实现一个整形转中文的函数.输入:10023450 输出:一千零二万三千四百五十15.什么时候开始找工作的,有拿过其它公司的offer么,有投递过哪些公司,这些公司进行到哪些环节了16.你更倾向于到广州工作么17.平时学习计算机的知识有哪些途径,有哪些推荐的视频或者博客