您好,欢迎访问三七文档
阿里笔试题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/4guanjian解析:内积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才可以
本文标题:阿里笔试题
链接地址:https://www.777doc.com/doc-2000436 .html