【面试】深信服--Linux C/C++软件工程师

先把在boss直聘上看到深信服的岗位要求先发出来,具体要求如下所示:

【面试】深信服--Linux C/C++软件工程师_第1张图片

【面试】深信服--Linux C/C++软件工程师_第2张图片

在boss直聘跟HR沟通了一下,决定下周一去深圳总部进行面试,到了公司直接先进行技术面试;

技术一面:

【1】先简单做一下自我介绍:

回:我就大概的介绍我是某某,然后就开始说我一下我做过的3个项目;

【2】根据我上面的说的3个项目,进行比较详细的询问

**在此建议,在面试的时候,需要把自己的做过的项目进行比价深入的复习;

【3】简单说一下new 跟 malloc的差别

【4】简单说一下TCP的三次握手,并说说三次握手做了什么事情,每次通讯包发了什么

【5】讲一下TCP与UDP的差异,优缺点。

【6】写一下strstr的实现函数

【7】说一下epoll,select实现的功能,聊一聊多路复用的理解;

【8】说一下,一个函数在堆栈中是如何放置的,static变量,全局变量是放置在哪里?

算法题:

【9】提供总数为100万个数,可能会分10次提供,即每次提供10万个,然后你如何在每次的能刷选出TOP10个最大的数据

【10】实现一个链表可以随意插入的函数,并计算插入的时间复杂度

【11】双向链表与单向连接插入的时间复杂度怎么表示

【12】你了解的排序算法有哪些?

数据结构:

【13】是否连接红黑树

【14】是否了解数据结构的“堆”

调试工具

【15】如果要检测一个程序内存泄漏,需要怎么做?

【16】gdb中的backtrace是什么意思

【17】如何用GDB进行内存泄漏调试?

技术二面:

其实,说实话,在技术一面中,我估计我只答对40%的题目,所以在技术二面中,其实我开始有点不安了;

【1】说一下你做过项目中,你认为比较出现的点是什么:

【2】写一个函数:假如str1=“12345678”,str2=“246”,那么str2可以是str1的顺序子串:

技术三面:

其实,对于后面的这个环节,可以说不是面试,因为面试官主要是跟我介绍了一下部门的情况,并且说明如果我能通过,我

将会进入的AC部门,这个部门居然有100多号人,号称是提供深信服的资金流的部门之一,这个让我觉得加入这个部门应该会前途无量的感觉;然后就介绍一下AC部门主要做的产品哪些,然后讲到现在部门用到的主要的技术还是C/C++,TCP/IP协议其实会用就行,因为他们已经封装好,不会弄到太底层,然后现在主要工作内容是以业务为导向,所以就是满足应用层的需求即可。到此技术面试也就结束。

HR面:

由于周一面试到晚上9点,HR已经下班,没有办法,只能周二晚上继续进行,不得不说,深信服的HR面试,是目前我见到的面试最久的,估计持续了1个多小时,主要问题如下:

【1】介绍一下,你上两家公司的情况,做什么产品,规模,你负责的内容?

【2】你在每个公司主要的负责的内容是什么,做出来什么样的成绩?

【3】你们公司的考核标准是什么?你是否清楚你们的部门目标是什么?

【4】你的家人,或者伴侣是否支持现在的工作?

【5】你们上两家公司的工作强度如何?

【6】你是如何看待加班的,在深信服,基本一个星期,加到10点的情况,可能会有3,4次,你能否接受?

【7】你一般平时看什么书,有什么规划安排的吗?

【8】你最近看的是什么书?然后你影响中对你影响最大的书是什么?

结果:

对不起。。。。。。你是好人,可惜我不要你。。。。。

总结一下这次的面试经历:

1、算法,数据结构了解太少;

2、调试工具,这个基本没有用过,基本上就是啪啪打脸;

3、C、C++语言基础还薄弱了。

 

你可能感兴趣的:(面试)