阿里笔试题

1.下面程序的运行结果是()
String str1 = "hello";
String str2 = "he" + new String("llo");
System.out.println(str1 == str2);

False

2下面程序的运行结果是什么()
1 class HelloA {
2 public HelloA() {
3 System.out.println("HelloA");
4 }
5 { System.out.println("I'm A class"); }
6 static { System.out.println("static A"); }
7 }
8 public class HelloB extends HelloA {
9 public HelloB() {
10 System.out.println("HelloB");
11 }
12 { System.out.println("I'm B class"); }
13 static { System.out.println("static B"); }
14 public static void main(String[] args) {
15 new HelloB();
16 }
17 }

static A
static B
I’m A class
HelloA
I’m B class
HelloB

3.getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果()
1 public void getCustomerInfo() {
2
3 try {
4
5 // do something that may cause an Exception
6
7 } catch (java.io.FileNotFoundException ex) {
8
9 System.out.print("FileNotFoundException!");
10
11 } catch (java.io.IOException ex) {
12
13 System.out.print("IOException!");
14
15 } catch (java.lang.Exception ex) {
16
17 System.out.print("Exception!");
18
19 }
20
21 }

IOException!

4.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b

def find(string):
    has = {}
    for i in string:
        if i in has:
            has[i] += 1
        else:
            has[i] = 1
    for j in string:
        if has[j] == 1:
            print j
            break
find('abaccdeff')

5.输入两个整数 n 和 m,从数列1,2,3…….n 中 随意取几个数,
使其和等于 m ,要求将其中所有的可能组合列出来.

def find(n, m, ary, beg):
    if m==0:
        for i in ary:
            print i,
        print
    for i in range(beg,min(n,m)+1):
        ary.append(i)
        find(n, m-i, ary, i+1)
        ary.pop()
ary = []
find(7, 6, ary, 1) 

6.数据库
教师号  星期号 是否有课
1    2   有
1    3   有
2    1   有
3    2   有`
1    2   有
写一条sql语句让你变为这样的表
教师号 星期一 星期二 星期三
1       2   1
2   1
3       1

Select 教师号,sum(case when 星期号=1 then 1 else null end) as 星期一,
sum(case when 星期号=2 then 1 else null end) as 星期二,
sum(case when 星期号=3 then 1 else null end) as 星期三 from table group by 教师号

7.设有职工基本表:(EMPENO,ENAME,AGE,SEX,SALARY),其属性分别表示职工号、姓名、年龄、性别、工资。要为每一位工资低于1000元的女职工加薪200元

Update table set salary=salary+200 where salary<1000 and sex=’女’;

8.请用熟悉的语言实现冒泡排序算法

def bubble_sort(ary):
    for i in range(len(ary)):
        for j in range(1, len(ary)-i):
            if ary[j-1]>ary[j]:
                ary[j], ary[j-1] = ary[j-1], ary[j]
    return ary

print bubble_sort([3,2,1,5,4])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值