2018秋招深信服笔试面试 经验

今天的我是一颗冉冉升起的新星,未来是我的,世界也是我的。好,希望以后我也能有这样的心态。

好吧,先介绍一下,我是一个非985、211的软件工程系的本科生、现在大四未毕业在找工作,这次的应聘的岗位是C/C++软件研发

2018深信服秋招笔试:(不记得所有的题了)

1、进程A以读写的方式open一个文件m, fork()出子进程B,那么进程B会继承m的句柄,可以读/读写文件/还是无权修改?还是不会继承m的句柄?

会的,可以直接读写。进程B会覆盖A对m的修改。因为系统文件表保存在系统中,为所有进程共享。

2、进程A malloc()了一块内存,并将string s,存入该空间,fork出子进程B,B是否可以访问该内存,可以对内存的变量修改吗?

不能,虽然是在堆上分配的,子进程还是会自己重新复制一份自己的空间,在自己的空间上操作。

3、虚拟存储空间的最大容量由什么决定?

4、一个大型且稀疏的hash表,怎样解决hash冲突?

5、捕捉segment fault的信号是?

6、在多线程中,可以用全局变量代替互斥锁机制吗?

7、eip、ebp、rbp、rsp、rip都是什么吧

编程题太多了,我下期再更,下期顺便把上面的问题解决了。

 

2018深信服秋招面试:

一轮: 问了项目,因为我的项目涉及到网络和多线程,先问了项目规模、主要实现的功能、确认了数据是存在服务器上。

1、音频是用什么协议传的  RTP

2、音频的控制、比如暂停、播放的是用什么协议  RTCP

3、数据是什么格式(二进制还是json)(这里的数据是指的是比如用户申请登录,服务端返回用户的信息类型是字符串),这个用的json。像音频下载使用二进制格式,使用TCP协议传输的,音频在线播放,是以音频的Frame类型传输的,阿这个我还没有完全实现。当时有点懵比,答得并不详细。

4、项目里用到的多线程,体现在哪里?客户端和服务端连接的时候是异步连接(其实我觉得多线程并发和异步是差不多的)。

多线程在其他事件处理用到(比如音频解码)

5、服务端和客户端链接的时候,是长连接还是短连接?长连接(长连接就是客户端发送连接请求,连接成功后就服务端就一直保持连接,直到客户端和服务端断开连接。短连接就是客户端和服务端连接之后,服务端再自动断开连接。)

6、那长连接的话,如果有成千上万的客户端同时连接,怎样解决的?目前考虑的话是用线程池、不过也无法处理这个问题。这个我们的项目还比较小型,没有做过这样的压力测试,这方面也没想过。(短连接怎么实现?难道解决这个问题是用分布式系统解决?)

7、了解hash表、map吗?这个我都不怎么了解,我说我比较了解vector和list

8、STL中,vector的内部实现? 模板类嘛,内部包含一个动态数组,然后初始化大小是16,有一个top索引,如果top到达分配的动态数组尾部,就重新分配一个更大的内存。(我当时说的realloc来着?.......)

9、那如果在vector无限push_back(),应该怎样优化?这个我真想不到,我就说之前在分配动态数组的内存给它分配大些........

10、数据库方面的,不过我项目不是做这方面的,我就说不熟了。

11、多态怎么实现的?继承和虚函数

12、虚函数怎么实现的?函数指针和虚函数表。对象保存一个函数指针,该指针指向虚函数表的地址。

13、虚函数是保存在哪里的? 在创建一个类对象的时候,会计算虚函数和成员变量所占用的地址,保存在对象里。这个对象是自动对象还是全局还是堆上分配的,就保存在栈、.bss区、堆区。

13、如果子类重载一个虚函数,虚函数表有变化吗?/对象的内存大小有变化吗? 不会,如果是子类不是继承父类的虚函数,而是自己重新写一个虚函数,父类的虚函数表会增加一个虚函数。这个看编译器。(子类的虚函数表一定会增加一个虚函数吗?嗯?我再查下资料,父类的虚函数表会增加一个虚函数吗?不是应该子类的虚函数表增加虚函数嘛?)

13、一个指针,malloc了一块内存,可以把它当类指针使用吗? 不行。因为类在销毁的时候,会自动调用析构函数,析构函数会释放内存。而使用那个指针的话,就要自己手动释放管理资源。

然后就是手撕代码了

11、一篇英文文章,求找出出现频率最多的单词。

我按照常规解法跟他说了思路,他说这个效率不高,能不能只遍历文章一遍,时间复杂度为O(N),然后我说先对单词排序,然后.....(唉我直觉是这样,后面说了一堆乱七八糟,我需要下来再想想)

12、整合集合。给N个集合,比如[100, 300] [200, 400] [500, 700]  整合为[100, 400]  [500, 700]

我按照常规解法跟他说了思路,然后他叫我优化。然后我就说对数字从大到小排序,然后不在区间的数字用flag标记。

13、问了一个概率问题。一分钟之内,公车经过的概率是p,三分钟之内公车经过的概率是多少。我先说了p(当时想的是,不管多少分钟,一辆车经过的概率就是p啊,难道还能随时间变化。不和一个人的10分钟是10分钟,40个人的10分钟还是10分钟一样啊),事实证明我理解错了,可以理解为,三分钟之内,公车经过一次的概率,经过两次的概率,经过3次的概率。让你求公车经过0次的概率。就是1- (1-p)^3。阿真是.....

最后,感觉自己可能一面挂了,我也认识到自己的不足,以后会好好努力,感谢深信服给我这次面试的机会。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值