笔试心得
态度
- 一开始我的态度其实并没有很好,首先我晚了20分钟才开始笔试,笔试之前也根本没有准备任何东西。其实自己已经打算到上海去工作了,去上海百度对我来说应该是一个很不错的选择,但是回头看自己的态度,哎,自己做的真的很差,尽管觉得很累,很想和我的璇见一面,但是自己真的没有做好自己应该做的事,写这篇博客的时候自己才觉得后悔,看来是时间久了之前那些被一万个人打脸的经历已经慢慢忘记了,自己竟然是这个样子,以后还怎么好好对待我的璇。我应该总结一下自己,继续前进。
- 讲一下笔试之后自己的收获吧。
C++ 中static的作用域是文件作用域,全局变量是全局作用域,我好久没看了没想起来。
default的执行顺序和写在哪里没有关系,另外没有加break后面的匹配到的语句后面的也都会执行
int main(){
int sum = 0;
for (int i = 0; i < 4; i++){
switch (i){
default:sum += 4;
case 1:sum += 1;
case 2:sum += 2;
case 3:sum += 3;
}
}
cout << sum << endl;
}
UDP,STMP,ICMP,处于网络的那一层,我居然也记不清了。。。
结果是:
数据链路层:ARP,RARP
网络层: IP,ICMP,IGMP
传输层:TCP ,UDP,UGP
应用层:Telnet,FTP,SMTP,SNMP.
关于对象大小的分配问题:
class A{
void f(){
int a;
}
int g(){
return 0;
}
static int bb;
};
大小是1
class A{
virtual void hh(){
;
}
void f(){
int a;
}
int g(){
return 0;
}
static int bb;
};
大小是4,虚函数表的问题。
class A
{
public:
virtual void aa()
{
}
private:
char k[3];
};
class B:public A
{
public:
virtual void bb()
{
}
};
A,B都是8,虚函数表决定的,虚函数类有个虚函数表,虚函数里面有个指针virtual table pointer指向虚函数表.
class A
{
public:
virtual void aa()
{}
virtual void aa1()
{}
private:
char k[3];
};
class B
{
virtual void bb()
{}
virtual void bb1()
{}
};
class C:public A,public B
{
public:
virtual void aa(){} //重写虚函数
virtual void cc()
{}
};
A 8
B 4
C 12
C有两张虚函数表,分别包含A::aa(),A::aa2(),C::cc()
B::bb(),B::bb2(),C::aa(),C::cc()
class A
{
public:
virtual void aa()
{}
private:
char k[3];
};
class B:virtual public A
{
};
A 8
B 12 继承A占8,B中还有一个指针指向父类,所以就是12
还有参考这篇博客,写的很认真,我没这么多时间
http://blog.csdn.net/msdnwolaile/article/details/50956974
好了,今天就到这里。