阿里笔试题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

阿里笔试题1以下程序输出结果是____12345678910111213141516171819202122232425classA{public:A():m_iVal(0){test();}virtualvoidfunc(){std::coutm_iVal‘’;}voidtest(){func();}public:intm_iVal;};classB:publicAB继承A,先A的构造函数,输出0;B的test继承自A,然后找func函数找到B自己的,所以输出1,然后p-test()再执行一次,输出2{public:B(){test();};virtualvoidfunc(){++m_iVal;std::coutm_iVal‘’;}};intmain(intargc,char*argv[]){A*p=newB;p-test();return0;}正确答案:C你的答案:B(错误)A10B01C012D210E不可预期F以上都不对22015年年初,某公司部门举行年会,期间有个游戏,规则是通过猜拳的方法决出每一局的胜负(一人赢其他所有人才算赢得本局,出现平局就继续猜拳),如果谁先赢满7局,则获胜,并赢得全部奖金。现在有3名员工甲、乙、丙参与了这个游戏,游戏进行了一会,分数为甲6,乙5,丙4,但时间已晚,大家要吃饭了。最公平的奖金分配方案是____。正确答案:D你的答案:F(错误)A甲得到19/27,乙得到7/27,丙得到1/27B甲得到18/27,乙得到8/27,丙得到1/27C甲得到17/27,乙得到1/3,丙得到1/27D甲得到19/27,乙得到6/27,丙得到2/27E甲得到18/27,乙得到7/27,丙得到2/27F甲得到17/27,乙得到8/27,丙得到2/27简单枚举答案结果的话,接下来比赛赢的序列中,乙赢的可能有{乙乙,丙乙乙,乙丙乙,乙丙丙乙,丙乙丙乙,丙丙乙乙}=1/9+1/27*2+1/81*3=6/27,丙赢的可能有{丙丙丙,乙丙丙丙,丙乙丙丙,丙丙乙丙}=1/27+1/81*3=2/27,甲的概率也就是19/27了;正常标准的计算步骤差不多也就是枚举某人赢的可能的场次,遇到比较大的数字时用组合数的公式去算发表于2015-08-3020:42:59回复(4)0guanjian简化一下问题:甲、乙、丙3人参与游戏,每轮每人获胜概率为1/3,甲只要累计赢得1次就结束游戏,乙只要累计赢得2次就结束游戏,丙只要累计赢得3次就结束游戏,求甲、乙、丙各自的获胜概率。回答:甲赢:需要1轮才能结束游戏:甲;需要2轮才能结束游戏(丙1次,否则乙1次):乙甲、丙甲;需要3轮才能结束游戏(丙1次且乙1次):丙乙甲、乙丙甲;需要4轮才能结束游戏(丙2次且乙1次):乙赢:6/27需要2轮才能结束游戏:1/3*1/3需要3轮才能结束游戏(丙在前两轮任意赢得1次,乙1次):2*1/3*1/3*1/3需要4轮才能结束游戏(丙在前三轮任意赢2次,乙1次):3*1/3*1/3*1/3*1/3丙赢:2/27需要3轮才能结束游戏:1/3*1/3*1/3需要4轮才能结束游戏(丙在前三轮任意赢2次,乙1次):3*1/3*1/3*1/3*1/33四维空间中有两个夹角60度的向量A和B,随机生成一个向量C分别与A和B计算内积,那么两个内积符号相同的概率为____。正确答案:D你的答案:B(错误)1/41/31/22/33/4guanjian解析:内积A·B=|A|·|B|·cosA,B,内积的正负由A,B夹角余弦决定,夹角的取值范围为[0,Π]设A向量方向为X轴正方向,B向量为60度(当然也可能为120度,只考虑第1和第2象限,其他象限概率相同,特值为60度是合理的)则C与A的夹角为[0,Π/2]为正,[Π/2,Π];则C与B的夹角为[Π/3,Π/2+Π/3]为正,[Π/2+Π/3,Π]为负因此:2Π/3/Π=2/3发表于今天11:50:07回复(0)0Ack解析:内积A·B=|A|·|B|·cosA,B,本题要求的是(A·C)*(C·B)0即|A|·|C|·cosA,C*|B|·|C|·cosB,C0即cosA,C*cosB,C0设A向量方向为X轴正方向,则C与X轴的夹角为[Π/2,Π/2+Π/3]或[-(Π/2-Π/3),-Π/2]时,两个cos值异号。因此同号占的比例为1-2Π/3/2Π=2/3发表于2015-08-3121:07:45回复(0)0codermanFans首先我们假设A,B在平面上,A在X轴上,B在第一象限与A成60度角,分别,做A,B的垂线,此时,A的垂线就是y轴,而B的垂线在第二象限与y轴正方向成60度角,此时这两条垂线的比较小的角就是内积符合不同的区域,是120度,而整个平面是360度,所以符号为正的情况下的概率为2/3,然而,我做错了,并没有什么卵用。1.size_tfread(void*buffer,size_tsize,size_tcount,FILE*stream);从一个文件流stream中读数据到buffer(buffer),最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回0。2.gets(char*buffer):从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。3.intgetchar():#definegetchar()getc(stdin),返回类型为int型,返回值为用户输入的ASCⅡ码,出错返回-1。4.ssize_tpread(intfd,void*buf,size_tcount,off_toffset);从文件描述符fd读数据到buffer,从读取地址(=文件开始+offset)最多读取count个元素,执行后,文件偏移指针不变。返回成功读取数据的字节数;失败,返回-1;5.ssize_tgetline(char**lineptr,size_t*n,FILE*stream);lineptr:;从文件流stream读数据到lineptr(如果是NULL,则有系统帮助malloc,请在使用完成后free释放,如果是由系统malloc的指针,n请填0),直到以下情况发生会导致生成的此字符串结束。1)到文件结束,2)遇到函数的定界符,3)输入达到最大限度。,执行后,文件偏移指针不变。返回成功读取数据的字节数;失败,返回-1;6.scanf显然pread的文件描述符不一样发表于今天13:26:46回复(0)0Ackgetline不是C库函数,而是C++库函数。它会生成一个包含一串从输入流读入的字符的字符串,直到以下情况发生会导致生成的此字符串结束。1)到文件结束,2)遇到函数的定界符,3)输入达到最大限度。fscanf()函数用于将文件流中的数据格式化输入fread()用来从文件流中读取数据.fwrite()用来将数据写入文件流中.fopen()是一个常用的函数,用来以指定的方式打开文件fseek()用来移动文件流的读写位置.lseek()每一个已打开的文件都有一个读写位置,当打开文件时通常其读写位置是指向文件开头,若是以附加的方式打开文件(如O_APPEND),则读写位置会指向文件尾.当read()或write()时,读写位置会随之增加,lseek()便是用来控制该文件的读写位置.参数fildes为已打开的文件描述词,参数offset为根据参数whence来移动读写位置的位移数.如下描述中,错误的是____。正确答案:C你的答案:B(错误)SATA硬盘因为有机械部件,随机读写时会发生磁头的物理运动。主流硬盘的平均寻道时间在几毫秒到几十毫秒SATA硬盘读写的最小单位是扇区,扇区的大小是512字节或者4k文件系统读写硬盘的最小单位也是扇区SSD支持随机读写.但是一般读性能要好于写性能SSD的随机读写延时要比SATA低两个数量级SSD根据使用技术的不同,写的寿命是有限的,需要软件进行写优化,确保存储单元的写次数基本同步增长文件系统是抽象与操作系统之上的,文件系统一般按照Cluster大小,有时候也称为Block大小来读写数据,这个Cluster一般最小的4K,大的定为32K、64K等都可以,主要根据应用的不同。比如Oracle的应用一般就用4K或8K的Block大小,大文件读写就用128K甚至256K都可以。发表于2015-08-3022:24:26回复(0)0guanjian1.sata硬盘:SATA(SerialATA)口的硬盘又叫串口硬盘,全称是SerialAdvancedTechnologyAttachment2.ssd硬盘:固态硬盘(SolidStateDrives),适合于个人用户使用。一般它擦写次数普遍为3000次左右,以常用的64G为例,在SSD的平衡写入机理下,可擦写的总数据量为64GX3000=192000G3.文件系统:是抽象与操作系统之上的,文件系统一般按照Cluster大小,有时候也称为Block大小来读写数据,这个Cluster一般最小的4K,大的定为32K、64K等都可以,主要根据应用的不同。比如Oracle的应用一般就用4K或8K的Block大小,大文件读写就用128K甚至256K都可以发表于今天13:39:539有一个类B继承自类A,他们数据成员如下:123456789101112131415classA{...private:inta;};classB:publicA{...private:inta;public:constintb;A&c;staticconstchar*d;B*e;}则构造函数中,成员变量一定要通过初始化列表来初始化的是____。正确答案:F你的答案:E(错误)abcbcebcdecebdbc引用,const成员变量,基类构造函数一定要通过初始化列表来实现。static类型不是类成员,不需要通过初始化列表来初始化10以下函数中,和其他函数不属于一类的是____。正确答案:E你的答案:B(错误)readpreadwritepwritefseeklseek只有fseek是库函数,其他都是系统调用11一个长度为99的循环链表,指针A和指针B都指向了链表中的同一个节点,A以步长为1向前移动,B以步长为3向前移动,一共需要同时移动多少步A和B才能再次指向同一个节点____。正确答案:A你的答案:E(错误)99100101495051并不是50仔细看题首先是个循环链表再来就是只有99个元素以前有个老题那个是100个别弄错了设A走x步那么B久走3x步两个要碰到所以有(3x-x)%99=0x取99才可以

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功