腾讯暑期实习一面 C++后台开发
面了90分钟。。。上来先写5道题,3个编程,1个改错,1个输出,写完之后面试官再和你一块看每道题有没有问题
五道笔试题
1、写出程序的输出 class C { public: C() : m_b(0), m_a(m_b + 1) {} void Output() { std::cout << "m_a : " << m_a << ", m_b : " << m_b << std::endl; } private: int m_a; int m_b; }; int main() { C c; c.Output(); return 1; }
2、改错题 Class ClassA { ClassA(int i) : m_i(i) {} private: int m_i; }; std::map<int, ClassA*> mapCA; mapCA[0] = new ClassA(0); mapCA[1] = new ClassA(1); mapCA[1] = new ClassA(2); mapCA.clear();
3、单链表逆序
4、一颗二叉树,给定某个节点的值,输出根节点到该节点所经历的所有节点
5、快速排序(然后分析了一波快排的稳定性,时间复杂度,最坏时间复杂度)
5道题做完,然后一块review一遍,改了一些问题之后已经70多分钟了。。。然后又问了一些基础问题 数组和链表,数组内存分配相关的一些问题
指针和引用
栈和队列,是否需要连续内存
迭代器失效问题,map是否会迭代器失效
静态全局变量和全局变量
静态全局变量和全局变量
面向对象设计原则:多态,封装,继承
数据库索引
接下来问了一些实习的东西:
滴滴实习中记忆最深的一个项目是什么?
因为6-9月在华为实习,11月开始在滴滴实习,为什么没一直在华为呢?
线程同步
项目中的Dijstra是怎么并行化的,怎么确定线程数量?
有什么想问我的?
问了 什么部门?主要做什么?