深信服C++开发岗校招笔试题-笔试经历

今天做了深信服的笔试题,题目比较基础,考的知识点比较细,编程题也不难。在此总结下:
选择题都是不定项,但是有几道明显是单选,涉及到位运算知识(考了&=、~=还有|=,我后来查了下好像没有~=这个运算符,要么是题目出错了要么就是我太菜了),双向链表结点的删除方法,结构体内存分配的对齐和填充,程序时间复杂度的分析,读程序写结果等等。
其中结构体内存分配是一个重点,至少涉及到3道选择题,因为我不怎么会,所以整理了涉及到的知识点:


填空题有4道,第一道是逻辑题,五个方块有五种颜色,每个人描述两个方块的颜色,每个人的话都只有一半是对的,让你推测每个方块的颜色。
第二道考的是二叉树的中序遍历。
第三道比较有意思,有40种药片,其中只有一种是有毒的。小白鼠吃了有毒的药片后,在一小时内会毒发身亡。现给你一小时的时间,问最少用多少只小白鼠可以找出有毒的药片。(第一印象是用39只小白鼠肯定可以完成,然后就想办法优化,比如每只小白鼠可以多吃几种药,只要让每一种药对应不同的小白鼠组合,那么这种药造成的小白鼠死亡的结果就是唯一的,既可用来检验药是否有毒,如下图所示,红色的有毒药片会让第1、3号小白鼠都死亡,同理,每个药片都对应了不同的小白鼠死亡结果)

(由于2只小白鼠的结果组合有“1”、“12”、“2”三种,对应三种药片;3只小白鼠的结果组合有“1”、“2”、“3”、“12”、“13”、“23”、“123”七种,对应7种药片……推得5只小白鼠就已经可以组成31种结果,故仅用6只小白鼠就可以达到目的……虽然这样做反而会损失更多的小白鼠。。。)
第四道忘了。

编程题注意:似乎Python岗和Java岗的编程题也要求只能用C/C++来做,其他语言不得分。
编程题第一题考排水沟,没看懂题。是比较简单的题,据说牛客网有原题,题目大意是有个排水沟里面有高低不平的石条,排水结束后石条中间会存有水,问最大存水量是多少,和之前我看的一道深信服面试题用木板隔水的那个很像,本来我很有信心,结果没想到在这里GG了。
第二题是求从起点到终点,遍历完整个矩形区域内所有格子的所有方法数。格子最大范围只有10*10,时限给5秒,所以直接暴力搜索就行了。需要开一个状态数组记录一下哪些格子已经走过了,到终点时只有所有的格子都走过了才让答案+1即可。

 

  • 0
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值