完美世界 面试
2014-10-06 11:51
99 查看
完美校招只分三个职位 c++ 、java、 游戏策划
我面的C++,问的问题偏基础吧.
一、给出一个十六进制的数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++,问的问题偏基础吧.
一、给出一个十六进制的数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就可以
相关文章推荐
- 完美世界面试经历
- 《完美世界面试课-技术经理》
- 完美世界实习面试总结
- 完美世界hr给大家的简历修改和面试的建议
- 【面试】完美世界-C++研发工程师
- 完美世界hr给大家的简历修改和面试的建议
- [互联网面试笔试汇总C/C++-21] FIFO 、LRU、LFU的含义、原理和实现-完美世界
- 《完美世界面试课-HR》
- [互联网面试笔试汇总C/C++-22] 拷贝构造函数调用的时机-完美世界
- 面试时,我被骗了……
- 面试___第一个只出现一次的字符
- 面试100题之9
- 我的运维面试题目搜集
- asp.net 面试基础题
- 常见面试题目
- java面试第五天
- 美团外卖电话面试的知识点
- 面试常见排序算法(中)
- Android面试:主线程中的Looper.loop()一直无限循环为什么不会造成ANR?(转)
- java程序员面试题目看你能回答几个(付答案)