首页 > 代码库 > 完美校招只分三个职位 c++ 、java、 游戏策划

完美校招只分三个职位 c++ 、java、 游戏策划

 完美校招的职位仅仅三个: c++ 、java、  游戏策划(总之一句话,基础非常重要,而且一定要精通一门语言)

问题一:给出一个十六进制的数0xFF 0x80  (只有2“位”) 将其转换成有符号的一字节的十进制整数

解:因为是转成有符号数  所以 可以先将其转成二进制  如:0xFF->1111 1111   

可见符号位为1,为负数, 负数是以补码存储的,所以求其原码

补码减一 取反即为原码  1111 1110  ->1000 0001 -> -1  取反时符号位不变

0x80  1000 0000   符号位1 是负数   求原码:  0111 1111 -> 1000 0000   -128

0x00  0000 0000   符号位为0   补码即原码    0000 0000 -> 0

0x7F  0111 1111   符号位为0   0111 1111 ->127

一字节数中 0x00~0x79 为0~127   0x80~0xFF 为 -128~ -1

问题二:3*(4+6)-7 # 用代码实现这个运算表达式

可以参照编译原理中的逆波兰式

分为数据栈d与符号栈f

遇到数字则入栈d,遇到符号入栈f

d:3  4  6

 f:*   (  +  

遇到)则符号栈出栈 至(

d: 3  4  6 +

 f:  *

继续入栈


d: 3  4  6 +  7

 f:  *  -

直至遇到终结符#, 将符号栈出栈
d: 3  4  6 + 7 - *

此时逆波兰式 已经建立完成 开始运算

建立一个 运算栈 s,  d顺序出栈 然后入栈s

s : 3  4  6 

直至遇到符号+  ,s连续出栈2次  

计算4+6  ->10  然后将新数据入栈s

s: 3 10

继续遵循此规则直至栈d为空,s最终会只有一个数,即为答案

 问题三:有一组数, 给出其赫夫曼编码 要求平均权值最小

如: 3 7 9 1 12根据其大小建立赫夫曼树

问题四:c++中的虚继承

1、虚继承的作用   

多继承时的二义性等

2、对虚基类的了解

问题五:单例模式

问题六:使一个类的实例 只能在堆中分配内存 不能在栈中分配内存

class A{};

A a = new A 是在堆中分配内存

A b; 是在栈中分配内存  调用其默认构造函数

所以将其默认构造函数声明为private就可以 

总之,问的问题笔记偏重基础的。

完美校招只分三个职位 c++ 、java、 游戏策划