百度 C++研发工程师面试
一面
- 自我介绍;
- 指针和引用的区别,引用是如何实现的;
- 智能指针有哪些,区别是什么;
- 能不能在main函数执行之前运行一段程序,如何实现;
- lambda函数的特点,和普通函数相比有什么好处;
- STL容器、迭代器、算法、函数之间的关系;
- C++的内存管理是是怎样的;
- 编程题:(不用实际运行,写完后面试官让讲了思路)
$intent['a'] = "a"; $intent['b'] = "b"; $intent['c'] = "c"; $intent_syn['a'] = "a1"; $intent_syn['c'] = "c1"; syn后缀的数组是无后缀数组的同义词,给出这两个数组的所有组合,输出的所有组合类似于如下: a,b,c a1,b,c a,b,c1 a1,b,c1
二面
- 自我介绍;
- 讲一下自己的研究课题,简单问了几个问题;
- 近几年中,收获最大或是最有成就感的一件事是什么(聊了聊项目);
- C++多态是什么;
- 堆和栈的区别;能不能定义一个大小为2M的局部变量(栈溢出);
- 程序员经常会访问的一个外网问答网站是什么(Stack Overflow);
- traceroute的用法;
- 进程与线程的区别,它们的堆和栈是怎样的;
- 什么情况下会发生死锁,举一个例子;
- 编程题:将一个单链表逆序。
有些问题记不太清了,面试官比较注重实际的操作,二面时关于网络和操作系统的一些内容,我没有用过,也没有答出来,凉。
#面经##校招##百度##C++工程师#