以下5个题是根据当时的笔试回忆的,不是特别准确,但是大致的意思是已表达到,希望对正在求职C/C++开发工程师的人有所帮助。
1.
class A{
char c_A;
};
class B : public A{
int i_A;
virtual funcA();
virtual funcB();
};
sizeof(A) = _____;
sizeof(B) = _____.
2.
已知一个结构体:
struct A{
int a;
float *b;
char c;
double d;
};
其中,a占用_____字节,b占用_____字节。
3.
试着说明一下foo1为什么比foo2性能比较好。
void foo1(){
...
for(int i=0; i < 100; i++){
A;
B;
C;
}
...
}
void foo1(){
...
for(int i=0; i < 100; i++){
A;
}
for(int i=0; i < 100; i++){
;
}
for(int i=0; i < 100; i++){
C;
}
...
}
4.
写一个算法,一个给定的字符串,计算其对应的二进制码中,所有“0”的个数,比如字符串“Hello World”的二进制码“0100100001100101011011000110110001101111”,所有“0”的个数是20。
5.
写一个算法,将一个整型序列用链表的形式反写。
struct Linka{
int Data;
struct Linka *next;
};
void
reserve( Linka &head){
}