深信服社招C++后台研发工程师面经


1、做一个自我介绍?

2、进程间通讯的几种方式的比较,看其中哪种的访问速度最快

(1)管道:速度慢,容量有限

(2)消息队列:容量受到系统限制,且要注意第一次读的时候,要考虑上一次没有读完数据的问题。

(3)信号量:不能传递复杂消息,只能用来同步

(4)共享内存区:能够很容易控制容量,速度快,但要保持同步,比如一个进程在写的时候,另一个进程要注意读写的问题,相当于线程中的线程安全,当然,共享内存区同样可以用作线程间通讯,不过没这个必要,线程间本来就已经共享了一块内存的。

3、父进程使用malloc得到一块内存,子进程可以使用吗?

4、进程使用malloc分配一块100M的内存,是马上就得到这块内存了吗?

5、有一个进程突然卡死了,你是怎么定位这个问题的?

6、怎么查看CPU的占用情况?

7、某一个线程占用很大的内存,怎么解决?

8、你平时有看开源的项目吗?

9、讲一个你平时做的项目

10、你在工作中有遇到什么技术难点吗?

11、建立网络链接时,客户端和服务器的过程?

(1)服务器创建监听socket

(2)绑定对外服务的端口号

(3)开始监听

(4)客户端连接到服务对应的端口

(5)服务器接受并为客户端产生新的socket

(6)服务端基于新socket与客户端交换数据

12、发送数据时阻塞和非阻塞的区别?

13、recv调用成功是已经正确收到数据了吗?

14、手撕代码。面试哥题霸上的原题,可以去看看:NC83 子数组最大乘积

#深信服##社招##面经##C++工程师#
全部评论
有二面了吗
点赞 回复 分享
发布于 2021-11-12 09:34
我深信服倒在了第三面,那一面感觉被面试官牵着鼻子走了
点赞 回复 分享
发布于 2021-12-18 15:36

相关推荐

死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
9 121 评论
分享
牛客网
牛客企业服务