腾讯PCG一面凉经
面试官上来先问我看你简历技术栈是c++,不会java吗?我说确实不会java,他说先简单介绍项目吧,balabala,十分钟
然后开始问数据结构:
1、数组和链表有什么区别;
2、什么是二叉树;
3、各种排序算法说一下;快速排序时间复杂度是怎么样的?如果数组有序,哪种排序算法最快;
4、哈希表了解过吗,哈希冲突怎么解决;
4、口头描述:怎么从一个数组中找出出现次数最多的那个数?我说用哈希表,记录各个key和对应出现次数,面试官追问还能用什么方法,想想之前哪种数据结构还能解决这个问题?我没答出来 = =||
操作系统:
1、进程线程区别;
2、进程线程之间通信方式,哪种通信方式最快/最慢,为什么;
3、进程有哪几种状态,进程中内存具体是怎么运行的;
计算机网络:
1、TCP/UDP的区别;
2、TCP的流量控制和拥塞避免;
3、三次握手和四次挥手;
4、http/https区别,https连接过程,为什么安全,有哪些加密、解密算法;
C++基础:
1、C++程序代码到可执行程序的过程;
2、C++代码预处理主要是做什么的,了解过宏吗;
3、C++动态库/静态库区别;
4、什么是多态;
5、什么是内存泄漏?怎么解决;
6、说一下内存组织方式和分区,具体各个区的作用;
7、说一下malloc/free和new/delete区别;
8、什么是继承;
9、说一下析构函数使用是注意事项;
10、介绍一下智能指针和各自的作用;
11、什么是野指针;
12、指针的大小,如果是64位系统下,指针占多大空间?
算法:1、冒泡排序,写完说一下原理,代码要调通,自己实现输入输出;
2、快速排序,同上;
3、实现大数相加,两个数字组成的字符串,转成数字会溢出,求这两个字符串对应数字之和;
感觉是挂了,一天了没消息,昨天下午面的,问了一个小时,嗓子都干了 ,后面冒泡写了不到5分钟,快排不小心除了点小bug,调了15分钟,过了,然后第三道题出了点问题,没搞好,最后面试官吃了个饭,我说了一下思路就结束了,最后一看面试时间,2小时。
#腾讯提前批##面经##腾讯##校招##C++工程师#