阿里巴巴2016校招研发工程师Java笔试题

更新时间:2023-09-16 00:21:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

阿里巴巴2016校招研发工程师Java笔试题

1,从1,2,3,......,8,9里任意选择一部分数(至少1个),能得到____多少种不同的乘积。 144 148 152 156 160 164

2,四维空间中有两个夹角60度的向量A和B,随机生成一个向量C分别与A和B计算内积,那么两个内积符号相同的概率为____。 1/4 1/3 1/2 2/3 3/4

以上都不对

3,下面是折半查找的实现,data是按升序排列的数据,x是查找下标,y是查找的上标,v是查找的数值,返回v在data的索引,若没找到返回-1。代码不正确是____。

public int bsearch(int[] data, int x, int y, int v) { int m;

while(x

m = x + (y-x)/2; //2

if(data[m] == v) return m; //3 else if(data[m] > v) y = m; //4 else x = m; //5 }

return -1; //6 } 1 2 3 4 5 6

4,A、B、C、D四人应聘一个程序员职位,此职务的要求条件是:Java熟练;懂数据库开发;会Web开发;有C++经验。谁满足的条件最多,谁就被雇用。 (1)把上面四个要求条件两两组合,每个组合都恰有一人满足。同时已知 (2)A和Bjava熟练

(3)B和C会Web (4)C和D懂数据库 (5)D有C++经验

那么,被雇用的是____。 A B C D

四人机会均等 以上均错

5,在一个双向链表中,q的前一个节点为p,q的后一个节点位n, 删除q所指向节点,则执行____。 delete q ;

q->prev->next = q->prev; q->next->prev = q->next; delete q; q->prev = p->next; p->next = p->prev; delete q;

q->next = q->prev->next; q->prev = q->next->prev; delete q; q->prev->next = q->next; q->next->prev = q->prev; delete q; p->prev->next = p->next; p->next->prev = p->prev; delete q->next;

6,以下程序输出结果是____。 class A {

public:

A ():m_iVal(0){test();}

virtual void func() { std::cout<

int m_iVal; };

class B : public A {

public:

B(){test();};

virtual void func() {

++m_iVal;

std::cout<

int main(int argc ,char* argv[]) {

A*p = new B;

p->test(); return 0; } 1 0 0 1 0 1 2 2 1 0 不可预期 以上都不对

7,有一个扔骰子得返现的游戏:你扔一个骰子,扔到多少就可以得到和点数相同的返现。例如你扔到3,可以得到3元返现;扔到1,可以得到1元返现。当你扔完第一次骰子,看到点数后,你需要做出如下选择: 1、拿这个点数对应的返现,放弃扔第二次骰子;

2、再扔一次骰子,但此时你只能拿第二次扔的点数对应的返现。 那么,玩一轮这个游戏的期望收益是____元。 3.5 3.75 4 4.25 4.5 4.75

8,有一个类B继承自类A,他们数据成员如下: class A { ...

private:

int a; };

class B : public A { ...

private:

int a; public:

const int b; A &c;

static const char* d; B* e; }

则构造函数中,成员变量一定要通过初始化列表来初始化的是____。 a b c b c e b c d e c e

9,二进制值0.00110011001100110011001100110011 转换成10进制后最接近____。 0.1 0.15 0.2 0.22 0.25 0.3 10,一个长度为99的循环链表,指针A和指针B都指向了链表中的同一个节点,A以步长为1向前移动,B以步长为3向前移动,一共需要同时移动多少步A和B才能再次指向同一个节点____。 99 100 101 49 50 51

11,有1,2,3,......无穷个格子,你从1号格子出发,每次1/2概率向前跳一格,1/2概率向前跳两格,走到格子编号为4的倍数时结束,结束时期望走的步数为____。 2 12/5 14/5 16/5 18/5 4

12,Linux下两个进程可以同时打开同一个文件,这时如下描述错误的是: 两个进程中分别产生生成两个独立的fd

两个进程可以任意对文件进行读写操作,操作系统并不保证写的原子性 进程可以通过系统调用对文件加锁,从而实现对文件内容的保护 任何一个进程删除该文件时,另外一个进程会立即出现读写失败 两个进程可以分别读取文件的不同部分而不会相互影响

一个进程对文件长度和内容的修改另外一个进程可以立即感知

13,进程P1和P2,资源A和B,进程对资源的操作定义如下: 读取资源A:rA 读取资源B:rB 写入资源A:wA 写入资源B:wB

同时规定,进程读取某一资源前,必须加上共享锁,写入某一资源前必须加上排

他锁;资源在被进程加共享锁时,可以被其他进程继续加共享锁,但不能加排他锁;资源在被进程加排他锁时,其他进程无法加锁。进程完成全部操作后释放锁。 进程P1和进程P2并发执行,如下哪种运行序列可能会出现死锁_____。 P1(rA->rB), P2(rA->wB) P1(rA->rB), P2(wA->rB) P1(wB->rA), P2(rA->rB) P1(wB->rA), P2(wA->rB) P1(wA->wB), P2(wA->wB) P1(wA->rB), P2(wA->wB)

14,现在有一个程序由A,B两个同学结对编程完成,在整个程序中的代码比例为3:5,据往常的统计A同学的Bug率为0.01%,B同学的Bug率0.015%,现在在改程序中发现了一个BUG,那么是由A同学的代码引起的BUG概率是____。 26.2% 27.1% 28.6% 32.5% 37.5%

以上都不对 15,如果我国希望在30年后实现经济翻翻,并且假设我国经济增长速度每年都保持相同,那么至少需要每年保持____增长速度才可实现目标。 1.5% 1.8% 2.0% 2.4% 3.3% 7.0%

16,在如下8*6的矩阵中,请计算从A移动到B一共有____种走法。要求每次只能向上或向右移动一格,并且不能经过P。 456 492 568 626 680 702

17,将森林转换为对应的二叉树,若在二叉树结点中,结点m是结点n的双亲结点的双亲结点,则在原来的森林中,m和n可能具有的关系是____。

1.父子关系 2.m的双亲结点与n的双亲结点是兄弟关系 3.兄弟关系 只有3 1和3 1和2

本文来源:https://www.bwwdw.com/article/ogth.html

Top