- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
公司笔试题7
int?? a,b,c?? 请写函数实现C=a+b?? ,不可以改变数据类型,如将c改为long?? int,关键是如何处理溢出问题
bool?? add?? (int?? a,?? int?? b,int?? *c)
{
*c=a+b;
return?? (a0?? ?? b0?? (*ca?? ||?? *cb)?? ||?? (a0?? ?? b0?? (*ca?? ||?? *cb));
}
溢出返回1
1-- ????简述操作系统内存管理方式和区别
段式,页式,段页式。区别:段式,内存分为若干大小不等的段;页式,内存分为大小等同的页;段页式,先分段,段内再分成若干页。?区别,,是否产生碎片?
2---?? 什么是死锁,什么是饿死
死锁是系统处于的某种状态,这种状态下,所有处于死锁进程都处于”等待态“,并且循环等待别的进程的资源。饿死是指某一(些)进程永远得不到所期望的资源。
3---?? 什么叫IPC,有几种方式?
面上有三个盒子,其中一个里面有手机,而另外两个是空的.主持人首先让你选择一个,然后她去打开剩下的一个空的盒子,然后他问你要不要和最后剩下的那个盒子交换,请写个程序证明是换好还是不换好!
换好
这个是玛丽莲小姐问题。答案是换。
当主持人去掉一个错误答案后,
如果不换,那么开始选对就选对了,没选对就没选对,主持人的行为对你没有任何影响,所以选对的概率是1/3。
如果换,那么如果开始选对,现在就错了,如果开始选错,现在就对了。也就是说,如果开始选错了,那么结果就能选对。因为空盒子有2个,选错的概率是2/3,也就是说,最后选对的概率是2/3。
所以答案是换。
void?? main()
{
int?? i,b,c,j;
int?? a[3];
int?? change=0;
int?? nochange=0;
for(i=0;i10000;i++)
{
a[0]=0;
a[1]=0;
a[2]=0;
a[int(rand()%3)]=1;???????????????????????????????? //一个手机
b=int(rand()%3);??????????????????????????????????//选择的一个
while(1)
{
c=int(rand()%3);
if(c!=ba[c]==0)????????????????? ???//主持人打开一个空的
break;
}
if(a[b]==1)?? nochange++;?????????????????????????? //不换
else change++;
}
printf(change:%d\n,change);
printf(nochange:%d\n,nochange);
}
结果为:
change:6613
nochange:3387
假如把网络40.15.0.0分成两个子网,第一个是40.15.0.0/17,那么第二个子网将是:??d
a.?? 40.15.1.0/17
b.?? 40.15.2.0/16
c.?? 40.15.100.0/17
d.?? 40.15.128.0/17
17表示转换为二进制时前17位为子网号,在第前17位加1,也就是点分10进制第三部分加上1000?? 0000?? 也就是128
中软面最后一道面试题
class?? ABase
{
public:
ABase():Aval(10) { coutconstruct?? ABase!endl;?? }
~ABase()?? {?? coutdestory?? ABase!endl;?? }
protected:
int?? Aval;
};
class?? CBase
{
public:
CBase(ABase?? at):a(at)
{
coutconstruct?? CBase!endl;
}
~CBase()
{
coutdestory?? CBase!endl;
}
private:
int?? Cval;
ABase?? a;
};
int?? main()
{
ABase?? aa;
CBase?? bb(aa);
return?? 0;
}
输出结果是什么?为什么?
如果把类CBase的构造函数改成如下:
CBase(ABase?? at)
{
a?? =?? at;
coutconstruct?? CBase!endl;
}
输出结果是什么?并说明原因?
construct?? ABase!
construct?? CBase!
destroy?? CBase!
destroy??ABase!
destroy?? ABase!
然后改成a?? =?? at;结果是:
construct?? ABase!
construct??
文档评论(0)