深信服三轮面试 C++开发工程师

深信服一面

面试准备:

1、公司规模、行业和业务

8000人、网络安全、云计算、IT基础设施与物联网的产品和服务供应商

2、反问

(1)岗位职责

(2)岗位业务

(3)面试流程

面试复盘:

1、单链表反转

(1)第一个结点的next要置空!!!

(2)假如存在环,如何判断入环结点

        快慢指针判断是否存在环,然后unordered_set记录环结点,

        再重头遍历判断当前结点是否存在于unordered_set集合,第一个则为入环

2、给定长度为n的数组,随机抽取其中m个数

vector<int> arr = {···};

vector<int> ret;

int len = n;

int index;

for(int i = 0; i < m; ++i)

{

index = rand() % len;

--len;

ret.emplace_back(arr[index]);

swap(arr[index], arr[len]);

}

3、C++代码复用C代码

https://blog.csdn.net/lincoln_2012/article/details/50801080

extern“C”; //按C标准编译C代码(原因:C++支持重载,C不支持重载)

4、虚继承

http://c.biancheng.net/view/2280.html

为了解决多继承时的命名冲突和冗余数据问题,使得在派生类中只保留一份间接基类的成员(如菱形继承)。

最终派生类的构造函数必须要调用虚基类的构造函数。

在最终派生类的构造函数调用列表中,不管各个构造函数出现的顺序如何,编译器总是先调用虚基类的构造函数,再按照出现的顺序调用其他的构造函数。

(1)虚函数内存模型:编译时确定虚函数相对虚函数表首地址的偏移量

(2)虚继承内存模型:不懂?

5、TCP mss的作用

(1)MTU(最大传输单元):用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。

是包或帧的最大长度,一般以字节记。如果MTU过大,在碰到路由器时会被拒绝转发,因为它不能处理过大的包。如果太小,因为协议一定要在包(或帧)上加上包头,那实际传送的数据量就会过小,这样也划不来。大部分操作系统会提供给用户一个默认值,该值一般对用户是比较合适的。

(2)MSS(最大报文长度):是TCP协议定义的一个选项,MSS选项用于在TCP连接建立时,收发双方协商通信时每一个报文段所能承载的最大数据长度。

一旦DF位置一,(DF位为1的话则不允许分片)将不允许中间设备对该报文进行分片,那么在遇到IP报文长度超过中间设备转发接口的MTU值时,该IP报文将会被中间设备丢弃。在丢弃后,中间设备会向发送方发送ICMP差错报文。

6、memcmp比较结构体是否一样?

判断两个结构体是否相等:重载操作符"=="

不能用函数memcpy来判断两个结构体是否相等:memcmp函数是逐个字节进行比较的,而struct存在字节对齐,字节对齐时补的字节内容是随机的,会产生垃圾值,所以无法比较。

7、1000万个域名,如何快速查找

        怎么做呢?

8、B+树原理、作用,数据库查找原理

https://zhuanlan.zhihu.com/p/54084335

https://zhuanlan.zhihu.com/p/54102723

https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html

二叉查找树-> B树 -> B+树

(1)B树的由来:(多路平衡查找树)

数据库索引存储在磁盘,当数据量比较大的时候,索引的大小可能有几个G。当我们利用索引查询时,只能逐一加载每一个磁盘页(对于索引树的结点)。因为磁盘IO的速度远慢于内存交互,而且查找结点的最差时间复杂度取决于树高。所以将树从二叉查找树(瘦高)变成B树(矮胖)有利于加速查找。

(2)B+树相比B树的优势:

1)IO次数更少(因为中间结点不包含卫星数据,相同空间可存储更多索引)

2)查询性能稳定(每次查询必须查找到叶子结点)

3)范围查询简便(查询到范围的起始结点,然后直接链表遍历)

9、平衡二叉树的实现

    这个有点复杂。。。

深信服二面

面试复盘:
1、聊了项目
2、算法题讲思路:象棋马从(x1,y1)走到(x2,y2)的最少步数。dfs、bfs比较好

深信服HR面

面试复盘:

1,自我介绍

2,大学做过的项目

3,大学最印象深刻的事情

4,为什么选择就业而不是考研

5,实习的收获

6,为什么不从实习公司转正

7,根据简历问

8,查户口

9,反问

#深信服##面试题目#
全部评论
hr面根据简历问什么啊,技术项目吗
点赞 回复 分享
发布于 2021-10-22 18:40
楼主的项目大概是什么?
点赞 回复 分享
发布于 2021-10-22 21:15
答得那么好,没给sp吗
点赞 回复 分享
发布于 2021-10-22 23:25
oc间隔了多长时间啊
点赞 回复 分享
发布于 2021-10-23 17:58

相关推荐

有没有经济学家能告诉我,三年后中国的就业市场会不会好转?我在校招中拿到了一份9k+的offer,还是行业的龙头企业,心里其实不想再考研了。但又总是担心,万一读研后薪资更高,我会不会后悔呢?
Fyhyuky:三年后肯定不会啊,只会比现在更烂,你自己看看现在有没有什么增长点,电车都是国家补贴兜底才发展出来的,已经比较违背市场自然规律了,互联网更不用说了,国家强力打压,传统制造业转型失败,现在苟延残喘中
点赞 评论 收藏
分享
10-15 15:00
潍坊学院 golang
跨考小白:这又不是官方
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
感性的干饭人在线蹲牛友:🐮 应该是在嘉定这边叭,禾赛大楼挺好看的
点赞 评论 收藏
分享
7 29 评论
分享
牛客网
牛客企业服务