首页 > 深信服大牛批“C/C++网络安全”方向
头像
喜欢吃鱼kz
编辑于 2020-08-08 14:58
+ 关注

深信服大牛批“C/C++网络安全”方向

先作个简单的自我介绍,整个面试时长36分钟,面试官很nice,面试体验很好。
面试官说不管你擅长什么语言,按照惯例,得先问些C/C++问题;问到的内容有C、网络、OS。

1.int、short占几个字节?
4,2;

2.short往int转换,多出来的字节怎么表示?
高位补符号位,正数补0,符数补1.

3.讲讲字节序,我讲反了
大端(big endian):低地址存放高有效字节
小端(little endian):低字节存放地有效字节

4.C语言中的局部变量和全局变量什么时候存在于内存中?
全部变量一开始就存在,局部变量定义在函数内部,当函数被调用时存在。

5.加了static的局部变量和全局变量怎么理解?
不会

6.C语言中如何保存一个字符串?
我回答的是开辟一个char数组,再利用strncmp(dst, src, n)拷贝到char中,此时char的首地址就指向了字符串。
但是这个太麻烦了,C语言中是直接用 char *strs = "hello world!"即可。

7.网络熟悉哪一块,讲一讲?
我说熟悉TCP/IP协议栈,那我讲讲TCP的通信。
(1)先讲了三次握手、四次挥手的过程;面试官问,你刚刚说的ISN(初始序列号)在通信连接建立了之后有什么用?假如我的ISN是1,我发送了100个字节的数据给对端,那我期待的ack是多少?答101(好像答错了,正确答案应该是102,对吗?)。
(2)TCP如何保证可靠性?
超时重传、确认机制、流量控制(滑动窗口协议)、按序重排、拥塞控制。
面试官补充了一个校验机制。

8.讲讲操作系统里面你最熟悉的部分?
进程管理。
(1)进程是程序运行的一个实例,内核通过PID和进程控制块(PCB)感知和管理进程,包括程序代码、数据和上下文信息;面试官 什么是上下文信息,答CPU寄存器、程序计数器、内存分配、栈等等。
(2)进程切换开销大,所以有了线程。面试官问 什么是线程,balabla...;线程切换和进程切换之间有什么区别? 线程切换不需要切换地址空间;继续问 这个地址空间主要指什么? 主要是内存和在其中打开的文件描述符等数据。
(3)有了线程之后,如果存在多个核,可以实现真正的并行;面试官问 为什么多进程不能实现并行,每个核上安排一个进程不可以吗? 没答上来。

9.有什么想问的吗?
(1)部门业务,技术栈;
主要做云计算和网络安全;技术栈核心是C++,少量python
(2)您对我的面试表现有什么建议吗?什么时候能知道面试结果?
每一轮面试侧重点不一样,我这轮主要是考察基础,其它轮考察实践经验,(就没继续说了...);
我们效率很快,一般来说下午就会有结果。

平时学的Java,所以C语言很多没答好,感觉是凉了,但也希望能有二面啊。

更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐