阿里巴巴笔试题

考试时间:1小时(后来阿里巴巴临时延长20分钟.所以实际考试时间是1小时20分钟)

2008915日新鲜出炉.

 

1.甲乙丙丁是同班同学,以下只有一句是假话:

:这次考试全班都通过了.

:丁没有及格.

:我们班有几个没通过

:乙也没有及格.

谁的是假话?

答案:

 

2.也是类似的逻辑推理题,很简单,所以忘了.

 

3.餐桌上有几个人,1个是哈尔滨人,2个是北方人,1个是广东人,2个人只做电脑生意,3个人只做服装生意,而且上述描述涉及餐桌上的所有人.问至少有几个人,至多有几个人?

答案 5,8

 

4.抽象类和接口的区别

 

5.用户级线程和核心级线程的区别是什么?

 

6.用最快的算法写出计算2*17的方法.

答案: 17<<2 (移位操作.)

 

7.n个人围成一圈,从第一个人开始报数,报到m的时候把这个人剔出,从下一个继续报数,报到下一个m的时候剔出该人,如此循环,直到所有人都被剔出.java写一个程序,输出剔出的人的序号.n个人的序号是1,2,3,…n..

 

这是我写的,测试通过,仅供参考.

import java.util.Scanner;

public class NandM {

    public static void main(String args[]){

       Scanner s=new Scanner(System.in);

       int n=s.nextInt();

       int m=s.nextInt();

       int i=0,j=0,k=0,result=0;

       int a[]=new int[n];

       for(i=0;i<n;i++)

           a[i]=0;

       i=0;

       while(true){

           if(a[i]==0)

              j++;

           if(j==m){

              System.out.println(i+1);

              a[i]=1;

              j=0;

              result=0;

              for(k=0;k<n;k++)

                  result+=a[k];

              if(result==n)

                  break;

           }

           if(i==n-1)

              i=0;

           else

              i++;

       }

    }

}

8.final,finalize,finally的区别?

 

9.try..catch..finally结构,如果try{…}catch中有return语句,那么finally块中的语句会执行么?是在return之前还是之后执行?

答案:,之前.

 

10.

Integer a=new Integer(10);

Long b=new Long(10);

Double c=new Double(10.0);

以下哪些结果是true?为什么?

a==b

a==c;

a==10;

a.equals(10)

a.equals(b)

c.equals(c)

d.equals(10.0)

11.简述template Strategy设计模式的区别.

12.有学生表S,课程表C,学生选课表SC.

(1).写出建表语句.

(2).写出sql语句:查询选了所有课程的学生.

(3).写出sql语句:查询选课10门的学生.

13.一道有关javascript的编程题.忘了.

14.说说你对测试驱动开发(TDD)的理解.

 

15.3个关键词表现你想从阿里巴巴得到什么?

原文地址:https://www.cnblogs.com/soundcode/p/1910313.html