VMware(威睿)后端开发笔试题总结
1. Linux中查看系统的发行版本信息 的命令?
cat/etc/issue 和 lsb_release
2. linux 挂载一个共享文件夹:
mount -t cifc "windows共享文件夹" "linux /mnt 路径"
3. 内存的分页机制: 页的大小由什么决定?
4. 解析表达式 可以用什么数据结构来适当的表达? 栈?
5. 主引导记录(MBR, Main Boot Record)
6. buffer适合哪种链表结构实现
7. 哪些排序算法不稳定
8. 二叉树的最大深度
9. 5升水的瓶、3升水的瓶,有9.5升水, 倒出来4升水的问题
10. 25匹马赛跑,每次跑5匹,最快几次找出最快的3匹马。7次(ofo面试题)
11. 将自然数的平方数从小到大排列成一串有序数列149625364964.那么第11个位置上的数字是9,第88个位置上的数字是? 8
12. A先生带着太太参加聚会,到场的另外还有3对夫妇,彼此之间有若干次握手,没有人与自己握手,夫妻之间不会握手,且没有2人之间握手超过一次,当其他人告诉A先生,他或她握了几次手,然后A先生发现答案都不一样。A先生和他的太太分别握了几次手? 都是3次
13. 将1000个正方体组成一个大的正方体,将组合后的大正方体表面涂上颜色,问有多少个小正方体没有涂上颜色?
3面都涂色的有8个,2面涂色的有12*(10-2)= 96 个, 1面涂色的有 (10-2)* (10-2)* 6 = 384 个,一点都没涂颜色的有 1000 - 8 - 96 - 384 = 512 个。
14. i++ 和++i 的效率问题
i++ 返回原来的值,++i 返回加1后的值
i++ 不能作为左值,而++i 可以
(左值是对应内存中有确定存储地址的对象的表达式的值,而右值是所有不是左值的表达式的值)
比如:
int i = 0 int *p1 = &(++i); // 正确 int *p2 = &(i++); // 错误 ++i = 1; // 正确 i ++ = 5; // 错误
i++返回的是一个临时变量,而临时变量是右值。++i是直接在原地操作
两者的效率比较:
若是内置的数值类型,两者一样
若是一些自定义的类,如Iterater, ++i的效率 >= i++的效率
15. 第一道编程题
2的次幂
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB题目描述:
给出一个数字a(1≤a≤9)和一个数字b(0≤b≤9),你需要判断是否存在一个非负整数n使得2^n在十进制表示下的最高位数字是a,最低位数字是b。若存在,输出满足条件的最小的n。
输入
第一行包含两个整数a,b。1≤a≤9,0≤b≤9
输出
输出对应的答案,若不存在满足条件的n,输出-1。
样例输入
2 2
样例输出
1
Hint
输入样例2
5 5
输出样例2
-1