论坛首页 Java企业应用论坛

最新的阿里云面试题(java无线)

浏览 25886 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (2)
作者 正文
   发表时间:2011-10-12   最后修改:2011-10-12
ansjsun 写道
第一道题有意思..应该是女多男少吧..因为一个家庭.会出现多个女孩.一个男孩的情况

男女一比一
概率中

筛子出1的概率总为1/6
不论你以什么为停止条件
都一样。


天朝是有女婴堕胎因数在里面的。
0 请登录后投票
   发表时间:2011-10-12   最后修改:2011-10-12
volking 写道
平衡or女孩多
3中情况
1 男                     男多
2 女 男                 平衡
3 女 女 女 ... 男      女多


如果没有人工干预,比例就会维持在1:1
不要被一个家庭的行为所迷惑了,要看所有的家庭:假设有100户家庭,那必然有100个男孩,出生概率为0.5,那么其中有50户是既有男孩又有女孩的。50个女孩,再加上连续生多个女孩的数量乘以概率,大致就是等于男孩的数量

 

0 请登录后投票
   发表时间:2011-10-12  
第一题,在晒晒IQ网里 有原题,这是答案

1男:1/2;1男1女:1/4;1男2女:1/8;......1男n女:1/[2^(n+1)]
男生的数学期望E(x)=1/2+1/4+1/8+.....1/2^(n+1),当n趋于无穷大,E(x)=1;
女生的数学期望E(x)=0*1/2+1*1/4+2*1/8+.....n*1/2^(n+1),当n趋于无穷大,E(x)=1;
所以1:1
0 请登录后投票
   发表时间:2011-10-12   最后修改:2011-10-12
OpenMind 写道
第一题的答案是均衡。因为生男孩和生女孩的概率均是1/2,而且上次生育的结果不会影响下一次的生育结果。

这个结论我觉得是不正确的,第一次生男就不生第2胎了,这应该是条件概率事件,而不是独立事件



  几率        男      女
  
  1/2          1      0
  1/4          1      1
  1/8          1      2
   。
   。
  1/2^n        1      n-1


所以,平均每个家庭拥有男孩的数量 为 (1/2+1/4+1/8+...+1/2^n) = 1-(1/2)^n
平均每个家庭拥有女孩的数量为 (0+1/4+2/8+3/16+(n-1)/2^n ) = (1/2+1/4+1/8+...+1/2^n)-(n-1)/2^n = 1-(n+1)/2^n
n趋近于无穷大时,平均每个家庭拥有的男孩女孩数量都为1,所以男孩女孩数量均衡。
这貌似是高中的数学题啊,很久没这样算了,偶尔算算感觉不错



正常情况下n不可能趋向于无穷大,男孩数量会稍微多一点
0 请登录后投票
   发表时间:2011-10-12  
刚编了个程序验证一下第一题,发现结果是平衡的。呵呵,办法比较笨,但比较直观。

import java.util.Random;


public class Test {

/**
* @param args
*/
public static void main(String[] args) {
Random r=new Random();
int t=0;//生男生女标记
int nan=0;//男孩数
int nv=0;//女孩数

for(int i=0;i<100000;i++){//i是家庭数
do{
t=r.nextInt(2);
if(t==0){
nv++;//t=0表示是女孩
}else{
nan++;//t=1表示是男孩
}
}while(t==0);//t=0生女孩后继续再生
}
System.out.print("女孩个数:"+nv);
System.out.print("男孩个数:"+nan);
System.out.print("女孩与男孩数比值:"+nv/(float)nan);
}

}
1 请登录后投票
   发表时间:2011-10-12  
zhoulm177 写道
刚编了个程序验证一下第一题,发现结果是平衡的。呵呵,办法比较笨,但比较直观。

import java.util.Random;


public class Test {

/**
* @param args
*/
public static void main(String[] args) {
Random r=new Random();
int t=0;//生男生女标记
int nan=0;//男孩数
int nv=0;//女孩数

for(int i=0;i<100000;i++){//i是家庭数
do{
t=r.nextInt(2);
if(t==0){
nv++;//t=0表示是女孩
}else{
nan++;//t=1表示是男孩
}
}while(t==0);//t=0生女孩后继续再生
}
System.out.print("女孩个数:"+nv);
System.out.print("男孩个数:"+nan);
System.out.print("女孩与男孩数比值:"+nv/(float)nan);
}

}




果然实践是检验真理的唯一标准啊 ..佩服佩服
0 请登录后投票
   发表时间:2011-10-12  
第一题竟然还有说女的会多? 当女性产能为无限胎时趋近1:1,考虑到实际情况男女比例能达到15.75:14左右就不错了, 幻想者女孩找不男朋友不到的就别YY了
0 请登录后投票
   发表时间:2011-10-12  
y13872888163 写道

面试题分2部分 10题选择 7题简答 60分钟 个人觉得在这个时间做好很困难
选择题大多考的java的基础题就不多说了,看后面的简答吧
  1.某国家的家庭都喜欢生男孩,而且一个家庭直到生有男孩为止,否则继续生小孩,
该国当前的男女均衡,问若干年后该国家的男女比例的趋势?

  2.有一个Hashmap<String,String> a 对一个给定的value = 12,遍历该Hashmap,找到该value,
并打印出对应的key,value?
  (比较简单,不多说)
   
  3.创建3个线程,1个启动线程(main),一个线程负责向List中添加数据,1个线程负责取出数据
用代码描述出来?
  (简单的生产者和消费者问题,网上很多)

  4.有这样的一个2叉树 ,结构如
  class BinaryNode{
  int data;
  BinaryNode mLeft;
  BinaryNode mRight;

  }
  给定一个整数和一棵2叉树,从根节点开始遍历,直到叶节点止,要求打印出所经过的所有节点的data
  值累加等于该整数,如给出22,输出 10 12;10 5 7 ;
  函数名为 void printBinaryTree(BinaryNode root,int num)
  (不知是否描述清楚,当时没做,期待大家的答案)

  5.对于一个已经排好序的数组a,给定一个数X,判断该数组中是否存在2个数的和等于X
  要求时间复杂度为0(n);
  我的答案 (数组按升序)
  int i = 0; int j = a.length;
  int temp ;
  while(i != j){
  temp = a[i] + q[j];
  if(temp == X){
  System.out.println("存在这样2个数 :"+num[i]+num[j]);
  break;
  }else if(temp > X){
  j--;
  }else if(temp <X){
  i++;
  }
  if(temp != X){

  System.out.println("不存在这样2个数");

  }
  }


  6.一栋楼房的底层有101根电线,一直延伸到顶层;但是不直到顶层的线头跟底层的线头是否是一根电线。现在有一些灯泡和若干短线,只上下楼一次,怎样能够把这些线分清楚;


  7.有一个电子书阅读器,如下功能:
  1)能网上下载电子书
  2)打开各种格式的文本(txt,doc,pdf)
  3)。。。。(不记得了)
  让你设计这个阅读器,怎样保证他的可扩展性和复用性,用UML图和一些描述;
   
  ps:60分钟做这些感觉很困难,做的很差,不过还是收到一面,开始面试官问了一些数据结构,java相关的还好回答,
结果面试官看到我们是一个专业的(信息与计算科学),顿时悲剧了,先是一个话概括一下微积分。。。,微积分的可积条件...., 黎曼微积分,顿时hold不住了 ,在学校都是快考试的时候突击一下你懂的 这些早忘记了 然后,没然后了

 

兄弟   我也是这个专业的……

0 请登录后投票
   发表时间:2011-10-12  
抛出异常的爱 写道
ansjsun 写道
第一道题有意思..应该是女多男少吧..因为一个家庭.会出现多个女孩.一个男孩的情况

男女一比一
概率中

筛子出1的概率总为1/6
不论你以什么为停止条件
都一样。


天朝是有女婴堕胎因数在里面的。


我觉得主要原因是现实中很难出现10个女孩以上的家庭,因此才会出现男女比例失调
0 请登录后投票
   发表时间:2011-10-12  
y13872888163 写道


  5.对于一个已经排好序的数组a,给定一个数X,判断该数组中是否存在2个数的和等于X
  要求时间复杂度为0(n);

 

这个不就是O(n/2log(n))嘛?

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics