深信服c++岗社招面经
一面:
•先简单做一下自我介绍:
•根据项目,进行比较详细的询问
•简单说一下new 跟 malloc的差别
•简单说一下TCP的三次握手,并说说三次握手做了什么事情,每次通讯包发了什么
•TCP与UDP的差异,优缺点。
•写一下strstr的实现函数
•epoll,select实现的功能,聊一聊多路复用的理解;
•一个函数在堆栈中是如何放置的,static变量,全局变量是放置在哪里?
1、算法题:
•提供总数为100万个数,可能会分10次提供,即每次提供10万个,然后你如何在每次的能刷选出TOP10个最大的数据
•实现一个链表可以随意插入的函数,并计算插入的时间复杂度
•双向链表与单向连接插入的时间复杂度怎么表示
•你了解的排序算法有哪些?
2、数据结构:
•是否连接红黑树
•是否了解数据结构的“堆”
3、调试工具
•如果要检测一个程序内存泄漏,需要怎么做?
•gdb中的backtrace是什么意思
•如何用GDB进行内存泄漏调试?
二面:
•说一下你做过项目中,你认为比较出现的点是什么:
•写一个函数:假如str1=“12345678”,str2=“246”,那么str2可以是str1的顺序子串:
三面:
面试官主要是跟我介绍了一下部门的情况,并且说明如果我能通过,我将会进入的AC部门;然后就介绍一下AC部门主要做的产品哪些,然后讲到现在部门用到的主要的技术还是C/C++,TCP/IP协议其实会用就行,因为他们已经封装好,不会弄到太底层,然后现在主要工作内容是以业务为导向,所以就是满足应用层的需求即可。到此技术面试也就结束。
HR面:
•介绍一下,你上两家公司的情况,做什么产品,规模,你负责的内容?
•你在每个公司主要的负责的内容是什么,做出来什么样的成绩?
•你们公司的考核标准是什么?你是否清楚你们的部门目标是什么?
•你的家人,或者伴侣是否支持现在的工作?
•你们上两家公司的工作强度如何?
•你是如何看待加班的,在深信服,基本一个星期,加到10点的情况,可能会有3,4次,你能否接受?
•你一般平时看什么书,有什么规划安排的吗?
•你最近看的是什么书?然后你影响中对你影响最大的书是什么?
#深信服##社招##C++工程师##面经#