zoukankan      html  css  js  c++  java
  • 深信服社招linux岗面试记录

    一面:

    1、首先自我介绍吧

    2、结构体字节对齐?(给了个只有Int、char类型的结构体,32位机器,求大小,然后问字节对齐问题)

    3、询问对C中的字符串操作函数是否熟悉,手写字符串拷贝函数

    4、问对数据结构和算法是否熟悉,手写单链表反转

    5、TCP和UDP有什么区别?

    6、TIME_WAIT的两个作用?

    7、TIME_WAIT和CLOSE_WAIT的区别?

    8、TCP如何保证可靠性传输?

    9、TCP的四个定时器?

      (1)超时重传定时器:在发送端发送数据后,启动超时重传定时器,在给定时间内没有收到对端发送的确认消息,此定时器超时,发送端重新发送数据,并将此定时器复位。

      (2)坚持定时器:发送端给接收端发送一部分数据后,接收端的缓存已满无法在接收数据,就向接收端发送一个滑窗大小为0的ACK通知发送方停止发送数据,接收方收到此消息后,启动坚持定时器,并向接收方发送大小为1个字节的探测报文,在定时器超时后还未收到接收端窗口更新的消息,将坚持定时器加倍并复位,直到坚持定时器已达max=60s,接下来就每隔60s发送探测报文,直到收到接收端的窗口更新消息。

      设计此定时器的原因:假设发送端收到滑窗大小为0的ACK消息后,接收端发现自己已经可以接受数据了,于是向发送方发送滑窗大小不为0的ACK,不巧的是这个ACK丢了,发送方若没有坚持定时器,则一直在等待发送端通知自己什么时候可以发数据,而接收端认为自己已经通知发送方了,但是没有收到发送方的数据,这就会造成一种死锁状态。

      (3)保活定时器:在一个TCP成功连接后,接收端在收到一次发送方的数据后,会启动一个保活定时器,时间为2h,如果此定时器超时,发送方会每隔75s发送一个探测报文,在尝试10次以后,发送方就可以断开这个连接。

      (4)2MS定时器:此定时器是为了处理TCP连接中主动断开连接的一方处于TIME_WAIT状态而设置的,大小为2MSL(数据包在网络上存活的最大时长的两倍,即一个往返时间),处于此状态的一方无法立即建立新的连接,设置此状态下的定时器有连个作用,其一,防止断开连接时的最后一个ACK丢失,保证TCP连接的可靠性;其二,防止旧的连接上传送的脏数据被新的连接收到。

    Tips:此问题的答案参考网上的博客以及书籍《UNIX网络编程 I》

    10、TCP粘包问题?

    11、如何查看耗时最大的函数?使用什么工具?

    12、epoll和select的区别?

    13、listen、accept、bind调用时,内核层面发生了什么?

    14、C++的虚标指针是什么?多重继承虚标指针有几张?

    15、C中static的作用?

    16、C如何调用C++函数?

    17、最近有没有关注新技术?比如人工智能?区块链?

    18、你平时都有浏览博客等方式去学习么?

    19、举一个例子说明你平时学习到的东西?

    二面:

    1、自我介绍(呵,万年不变呀。。。)

    2、ARP是什么?协议是怎么实现的?

    3、ARP是怎么找到MAC地址的?

    4、讲一下你做的一个项目?

    5、你觉得你做的模块在整个项目中的价值占比多少?

    6、出现空指针会出现什么情况?怎么处理?

    7、局部变量和全局变量的区别?

    8、全局变量未初始化时为什么时随机值?

    9、有两个进程,有同名变量,这个变量是共享的吗?如果是动态库呢?

    10、你觉得你对你自己还有什么要补充的?

    11、如果能入职,可能要学习很多新东西,你能接受吗?

    12、你还有什么要问的?

    另一个部门的面试

    一面:

    1、做一个自我介绍?

    2、两个进程要通信,什么样的方式最快?

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

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

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

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

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

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

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

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

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

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

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

    去年也有过一次深信服失败的面试经历,详情请看这里:https://www.cnblogs.com/kks170716/p/7778739.html

    深信服面试每次都是一个小册子,也就是公司的题库,什么时候才能把小册子的东西掌握呀,,,

    现在的真实感受是:哪有什么天生的好运呀,不过是付出的努力在某一刻遇到了合适的机会,便成了所谓的好运,继续努力吧。

  • 相关阅读:
    [iOS]为什么不要在init初始化方法里调用self.view
    [iOS]ARC和MRC下混编
    CollectionView的基础代码
    关于ios项目中加入webp格式的图片
    【音频】远程链接音频播放(AVPlayer)
    iOS微信支付回调和iOS9系统左上角返回的冲突解决
    【转载】iOS开发经验总结
    【转载】iOS超全开源框架、项目和学习资料汇总(4)数据库、缓存处理、图像浏览、摄像照相视频音频篇
    【转载】3分钟实现iOS语言本地化/国际化(图文详解)
    微信小程序推荐网站
  • 原文地址:https://www.cnblogs.com/kks170716/p/10229222.html
Copyright © 2011-2022 走看看