这是一篇很尴尬的文章…因为我做完笔试了…发现…真的…好多题目…都不会。

首先是客观题部分:

第一题:

问 B * B 的值。

这道题的知识点考得就是 宏定义是在编译的时候展开的。

即在运算B*B之前,它已经展开成了 4+5*4+5*4+5*4+5

= 4 + 20 + 20 + 20 + 5 = 69…

 

后面的记不到题号了…

问题:三国杀里面 甄姬 洛神 的技能:在牌堆里拿一张牌进行判定,如果是黑牌,就留下,继续判定,如果是红牌就丢弃,停止判定。当时的题意是很好理解的。

问题是,一副正规的扑克牌里,问期望的拿到牌的数量是多少

这个题目就是一个期望的题目…因为是选择题。

1 2 3 4
1/2 1/4 1/8 1/16

这样期望值就是 0.5+0.5+0.375+……

选项里给出的最大值是1.2 所以我就选了那个。

额-好像算错了…看连接:

http://www.zhihu.com/question/44885710

 

64位系统下struct的大小 – char short int

char大小是1 short大小是2 int大小是4

这里存在的争议是能不用pack:

上面代码运行一下,题目当时是四个选项 8 16 12 7

现在看来可能正确的应该是 8 12 7 然而我只选了 8 和 12…

 

引用类型与值类型:

我晕,好像是C#里的概念…怪不得想半天想不通怎么没学过…

引用我知道,值我也知道…加个类型就不知道了…

objectvalue

 

对称序列:就是中序遍历序列…当时是猜的。

 

接下来是问,三个节点的二叉树,有多少种情况:

00 01 10 11 – 四种(这四种都是根只有左子树或者只有右子树的) 然后加上 根结点和左右子树的情况,一共五种。

 

还有一题是问寻道的。磁盘的磁臂在100的位置,然后有如下寻道要求,问平均寻道时间吧:

23,376,205,132,19,61,190,398,29,4,18,40

…这题我不熟。

 

然后是 DNS…

DNS 同时用了 UDP和TCP – 原题是运行在UDP上,不全面

DNS 端口号是53 – 这是对的。

默认缓存时间是1小时。 – 这个似乎是错的 Windows系统是一天。Chrome浏览器是60s…尴尬

提供的是域名与IP的转换 – DNS 只提供 域名到IP的转换,没有IP到域名的转换,原题是”域名和IP地址的相互映射“,所以可能是错的 – By小光

这里还有来自Dream苏 和 手抓饼的意见:DNS是可以IP – 域名相互解析的…

但是 我至今还是觉得因为一个Ip可以对应多个域名 – 所以不太可能会转换成功的。

 

下一个问题,有10个线程,时间片是200ms,切换线程用时是10ms…

问切换线程的时间比例吧。。。

0.05…

 

然后是问掩码的。

21.1.193.0/24

21.1.194.0/24

这个按二进制算就好了。

 

然后是一个同学之间打游戏的问题:

ABCDEF六个同学一起打Dota…一边最少五个人,最多一个人。问怎么让他们与其他小伙伴都赛过一次。

这是一个类二进制问题,2^2 = 4 <6 < 2^3 = 8

所以应该是3次…

 

再下一题,纸调题目。

问 f(f(9)) 调用了几次f函数。

f(9) -> f(7) f(3) ->f(5) f(1) -> f(3) f(-1)

总共是 7次 返回值也是 7…

f(7) -> f(5) f(1) -> f(3) f(-1)

所以是五次  总共是12次…

 

然后接下来

140.123.0.0 是一个B类IP地址。要划分10个子网怎么划分。

B类地址,网络号是到16位。后面的开始划子网的话。

2^3 = 8 <10 < 2^4 = 16

所以应该是前四位。128+64+32+16 = 192+48 = 240

故子网掩码应该是 140.123.240.0

 

下一题

问这个代码的输出结果:

我当时立马想到了 cout 的输出顺序是反的…

再次想到了应该不会这么简单吧,嗯,再想到了函数的默认参数为什么必须从后往前,会不会是从前往后赋值的(很明显这时候我忽略了入栈的情况!)然后!我就这样说服了自己,嗯,就是从前往后的。

然后…于是乎我选了abc…实际答案是 cba…晕!

PS. 以上都是个人思路变化…实际上 – 你们知道正确答案是cba 原因是压栈的操作就好了。

但是,这里是在Mac上的测试结果:

tencent-abc

这是在Win10 的结果:

tencent-abc-win10

然后我在CentOS的虚拟机上再测试了一遍:

tencent-abc-centos

再试试我大VS…

tencent-abc-vs

看来只有Mac不一样,其他的都是cba – 即gcc的入栈顺序是从右往左…

 

还有一些二叉树的题目

CABEFDHG – 先序

BAFECHDG – 中序

问后序 – 我们知道一般求这种题目是必须知道一个中序的,所以这个概念也对我做那个对称序列起了很大的影响。

 

然后这一题,我是不太理解的:

凭着记忆…写出来的 – 尴尬。

正好验证了一下答案 2 6 42。(没有空格)

然后补充得到  x *= x+1 的计算是 x = x * (x+1)

嗯 – 又坑了…

 

还有个  **++ppp

还有个 *++*++ppp

我想说这种容易令人产生歧义的代码要尽力避免好么!!!心痛!

 

客观题我就只记得这么多了。然后是大题。

第一题是一个 [-90,90] 的区间,进行六次二分。不难的,要注意的是重点mid属于右区间。

 

第二题玻璃球,其实这道题考老了…不过写出代码有加分可以弄死一批人了。

是一个DP思想的题目 – 我不会。

没办法,手算了一个题目出来。

8 16 23 28 32 35 37 39 只要确保最多9次就行了。

 

第三题是一个筛法打表 – 然后判断值是否相等的题目。

说真的我不确定这样对不对…

 

第四题是设计一个简单的商店管理系统,要求能够:

管理 商品 客户 订单…等。

 

【Tencent】笔试总结
0 0 投票数
Article Rating
订阅评论
提醒

11 评论
最新
最旧 最多投票
内联反馈
查看所有评论

dns也支持反向解析的 相互映射应该是对的

f(a, b, c)那题为啥我在mac上跑的结果是abc。。。

甄姬那题期望好像是1

你百度一下甄姬 洛神 期望就行了

DNS那题 选53端口那个,其他都错DNS 同时用了 UDP和TCPDNS 只提供 域名到IP的转换,没有IP到域名的转换,原题是”域名和IP地址的相互映射“