职位类型:技术(photoshop)
试题列表:
Session 1
1、 static_cast 与 dynamic_cast 的区别
2、const char * p; //const data,non-const point
char const * p; //const data ,non-const point
char * const p; // const point,non-const data
const char const *p; // const char*const p? const data,const point
以上四种表示的不同是什么?
3、手工实现strcpy函数,不能使用任何库函数,要求处理NULL、溢出等异常;
char*strcpy(char*Dst,const char*Src)
{
assert((Dst!=NULL)&&(Src!=NULL))
char *DstSave = Dst;
while((*Dst++=*Src++)!='/0')
;
return DstSave;
}
4、下面类的两种不同的构造函数的区别
Sample::Sample(string name):_name(name){}
Sample::Sample(string name){_name=name;}
调用的函数个数不同!
5、类继承后成员变量的可见性(三种类型的变量及public, private类型的继承)
6、产生继承类实例时构造函数的调用次序(基类包含虚函数,继承类重写了)
7、空类的系统自动产生的函数(至少写4个)
class Sample{
};
answer:
class Sample{
Sample();
Sample(const Sample&);
Sample &operator=(const Sample&);
~Sample();}
8、怎么防止类被继承?对于不能被继承的类,怎么初始化及销毁它的实例?
私有构造函数
公有静态成员函数new个对象来初始化
delete 改对象指针 可由静态成员函数返回;
Session 2
1、稀疏矩阵存储采用的数据结构及其时间复杂度, 并写出插入一个元素的函数
2、对于给定的一个数字,将其对应的二进制的最右边的1改为0("turn off")
例如给你14,二进制为1110,函数处理后为1100,对应为12 ,写出实现这个功能的函数
3、给你了求fibonacc数列的递归实现,要求给出优化的函数
4、多线程互斥锁的使用,不要产生死锁
5、设计模式题,对于给定的类的继承关系图,根据新的条件修改,图要表现出类间的关系
(类间的关系有聚合,继承,泛化等)(is_a has_a等)
6、五张牌,两红三篮(你看不到颜色),目标是取到红牌。
你在第一次取后,组织者从剩余的四张中取走一张黑牌,你现在有两种选择:
不换牌和换一次牌,问哪种选择取得红牌的概率大?两种选择不同是什么?
转载请注明出自应届生求职招聘论坛 http://bbs.yingjiesheng.com/,本贴地址:http://bbs.yingjiesheng.com/thread-29089-1-1.html