阿里笔试题.docx_第1页
阿里笔试题.docx_第2页
阿里笔试题.docx_第3页
阿里笔试题.docx_第4页
阿里笔试题.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

阿里笔试题1 以下程序输出结果是_ 12345678910111213141516171819202122232425class Apublic: A ():m_iVal(0)test(); virtual void func() std:coutm_iValtest() 再执行一次,输出 2public: B()test(); virtual void func() +m_iVal; std:coutm_iValtest(); return 0;正确答案: C 你的答案: B (错误) A 1 0 B 0 1 C 0 1 2 D 2 1 0 E 不可预期 F 以上都不对2 2015年年初,某公司部门举行年会,期间有个游戏,规则是通过猜拳的方法决出每一局的胜负(一人赢其他所有人才算赢得本局,出现平局就继续猜拳),如果谁先赢满7局,则获胜,并赢得全部奖金。现在有3名员工甲、乙、丙参与了这个游戏,游戏进行了一会,分数为甲6,乙5,丙4,但时间已晚,大家要吃饭了。最公平的奖金分配方案是_。 正确答案: D 你的答案: F (错误) A 甲得到19/27,乙得到7/27,丙得到1/27 B 甲得到18/27,乙得到8/27,丙得到1/27 C 甲得到17/27,乙得到1/3,丙得到1/27 D甲得到19/27,乙得到6/27,丙得到2/27 E甲得到18/27,乙得到7/27,丙得到2/27 F甲得到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-30 20:42:59 回复(4) 0 guanjian 简化一下问题:甲、乙、丙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/4 1/3 1/2 2/3 3/4 guanjian 解析:内积AB=|A|B|cos, 内积的正负由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) 0 Ack 解析:内积 A B=|A| |B| cos ,本题要求的是 (A C)*(C B)0 即 |A| |C| cos*|B| |C| cos 0 即 cos* cos 0 设 A 向量方向为 X 轴正方向,则 C 与 X 轴的夹角为 /2, /2+ /3 或 -( /2- /3),- /2 时,两个 cos 值异号。因此同号占的比例为 1- 2 /3/2 =2/3 发表于 2015-08-31 21:07:45 回复(0) 0 codermanFans 首先我们假设A,B在平面上,A在X轴上,B在第一象限与A成60度角,分别,做A,B的垂线,此时,A的垂线就是y轴,而B的垂线在第二象限与y轴正方向成60度角,此时这两条垂线的比较小的角就是内积符合不同的区域,是120度,而整个平面是360度,所以符号为正的情况下的概率为2/3,然而,我做错了,并没有什么卵用。 1.size_t fread ( void * buffer , size_t size , size_t count , FILE * stream ) ; 从一个文件流 stream 中读数据到 buffer( buffer ) ,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回 0。 2. gets(char * buffer ): 从stdin流中读取 字符串 ,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer 指针 所指向的字符 数组 中。换行符不作为读取串的内容,读取的换行符被转换为0空字符,并由此来结束字符串。 3.int getchar(): #define getchar() getc(stdin), 返回类型为int型,返回值为用户输入的ASC码,出错返回-1。 4. ssize_t pread(int fd , void * buf , size_t count , off_t offset ); 从 文件描述符 fd 读数据到 buffer,从 读取地址(=文件开始+offset) 最多读取count个元素, 执行后, 文件偏移 指针不变。返回成功读取数据的字节数;失败,返回-1; 5. ssize_t getline(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) 0 Ack getline不是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-30 22:24:26 回复(0) 0 guanjian 1.sata硬盘:SATA(Serial ATA)口的硬盘又叫 串口硬盘 ,全称是Serial Advanced Technology Attachment 2.ssd硬盘:固态硬盘(Solid State Drives), 适合于个人用户使用。 一般它擦写次数普遍为3000次左右,以常用的64G为例,在SSD的平衡写入机理下,可擦写的总数据量为64G X 3000 = 192000G 3.文件系统:是抽象与操作系统之上的, 文件系统一般按照 Cluster 大小,有时候也称为 Block 大小来读写数据,这个 Cluster 一般最小的 4K ,大的定为 32K 、 64K 等都可以,主要根据应用的不同。比如 Oracle 的应用一般就用 4K 或 8K 的 Block 大小,大文件读写就用 128K 甚至 256K 都可以 发表于 今天 13:39:53 9 有一个类B继承自类A,他们数据成员如下: 123456789101112131415class A .private: int a;class B : public A .private: int a;public: const int b; A &c; static const char* d; B* e;则构造函数中,成员变量一定要通过初始化列表来初始化的是_。 正确答案: F 你的答案: E (错误) a b c b c e b c d e c e b d b c 引用,const成员变量,基类构造函数 一定要通过初始化列表来实现。 static类型不是类成员,不需要通过初始化列表来初始化10 以下函数中,和其他函数不属于一类的是_。 正确答案: E 你的答案: B (错误) read pread write pwrite fseek lseek 只有fseek是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论