2014.09.24面试总结
来源:互联网 发布:o2o软件开发 编辑:程序博客网 时间:2024/05/16 11:41
笔试:
1.有这么一个宏定义:
define MINUS(x,y) x-y//get x-y value
问MINUS(5,5)*5的结果是多少?
以为宏展开后会变成这种情况:
x-y//get x-y value*5
这样*5实际上是被注释掉了,结果应该为0.
后来实际编程测试发现结果是-20,即宏定义中的注释语句并不属于宏,原式=5-5*5
2.定义一个宏,完成对两个int型变量的交换
#define SWAP(a,b) { (a)=(a)^(b); (b)=(a)^(b); (a)=(a)^(b); }int a=1 , b=2;SWAP(a,b);
在宏内最后一个语句(a)=(a)^(b)后面犹豫要不要加分号';',因为宏调用时是SWAP(a,b);的形式,后面会附带一个分号。实际测试后发现必须要加分号,两个分号连在一起不会影响编译和运行结果,形如;};结尾的语句也不会有问题
面试:
1.什么是多态?自己对多态的理解?多态的好处?C++如何实现多态?
一个接口,多种实现,通过一个接口能完成不同的任务,代码复用,代码可扩展,用父类管理子类,静态绑定,动态绑定。
2.const关键字有几种用法?
常量,返回常量的函数,常量参数,常量指针,指针常量,成员常量,成员常函数
3.static关键字有几种用法?
文件内变量,文件内函数,函数内变量,类内变量,类内成员函数
4.TCP三次握手、四次断开示意图。
略
5.socket编程中有没有用过select()和epoll()这两种函数?各有什么作用?
见http://blog.csdn.net/this_capslock/article/details/39649001
6.编写一个函数,对两个已经排序好的单链表进行合并。
找到头结点,每次将较小的结点插入,最后将剩下的结点插入
7.编写一个函数,判断一棵树是不是平衡二叉树。
递归思想,后序遍历
0 0
- 2014.09.24面试总结
- 2014.09.05面试总结
- 2014.09.26面试总结
- 2014.09.25面试总结
- 2013.4.24 面试总结
- 2014.10.24面试总结
- 【面试】第一次面试总结
- 面试总结
- 面试总结
- 面试总结
- 面试总结
- 面试总结
- 面试 总结
- 面试总结
- 面试总结
- 面试总结
- 面试总结
- 面试总结
- Ubuntu安装基础教程
- 最大连续子序列的和与积
- 来看看这个拒绝苹果的19岁开发者
- C语言指针——指针的运算
- java_多态(1)
- 2014.09.24面试总结
- EditText光标颜色问题
- MVC5 Entity Framework学习之Entity Framework高级功能
- Bachet's Game+uva+简单dp
- JMS消息机制示意图
- 堆排序
- Android4.4——SurfaceFlinger启动
- 在eclipse中阅读源码
- maven主要脚本和结构梳理