首页 > 代码库 > 2013 创新工场笔试题

2013 创新工场笔试题

wKioL1OUEyTjGu3aAAKTNRCJ5qU800.jpg


1、b。

结构体中的位域对齐。前两个int型变量的位域之和小于4字节,因此存放在一个int型变量之中,但是第三个是double型的变量,需要8字节对齐,这样前三个变量占了16个字节,最后一个int是四个字节,总共20个字节。根据结构体定义的原则,应该是最长变量的整数倍对齐,因此应该是24个字节。

对于window而言,结构体的最大类型是多少字节,就是多少字节对齐,但是对已linux而言,最长是4字节对齐。

2、b

3、网络地址是:11111111.11111111.11111111.11100000.

B。全0和全1的地址不能作为主机地址。因为该网段内的全0地址是网络地址,全1地址是广播地址。

4、c

5、36

6、A

2012/5=102

2012/25=80(贡献两个5,但是在5的时候已经算了一遍,因此在在总和中需要再加一次)

2012/125=16(贡献三个5,但是在因子为5和25的时候各算了一次,因此在总和中只需再加一次)

2012/625=3(同上)

102+80+16+3


wKiom1OUE1HBA6v-AAKGPlA0cz4757.jpg

2、分别提取出偶数位(与55555555做与操作)和奇数位(与AAAAAAAA做与操作).然后将偶数位左移一位,基数位右移一位。然后做或操作。

比如6变成9的过程

提取偶数位:6&5=0100

提取基数位:9&a=0010

然后偶数位左移一位:1000

奇数位右移一位:0001

然后相或:1001

宏定义:

((x&55555555)<<1)) |((x&aaaaaaaa)>>1)

3、输出

创新工场

创新工场

4、

深度优先遍历:ABCDGHFE

广度优先遍历:ABCEFDGH

wKioL1OUEyWiFV7CAAHlfAKtT_c767.jpg


wKiom1OUE1KDtwEtAAJ7_6EQ2C4589.jpg