您的位置:首页 > 职场人生

java开发工程师面试题(一)

2016-09-25 19:04 281 查看
1、Jdbc连接数据库的三大对象是?A
A、Connection  Statement  ResultSet
B、Connection  PrepareStatment  ResultSet
C、Connection  PrepareStatment  CallableStatement
D、Connections  Statement  ResultSet
 
2、要从文件”file.dat”文件中读出第10个字节到变量c中,下列哪个方法合适?A
A、FileInputStream in = new FileInputStream(“file.dat”);
 in.skip(9); int c = in.read();
B、FileInputStream in = new FileInputStream(“file.dat”);
 in.skip(10); int c = in.read();
C、FileInputStream in = new FileInputStream(“file.dat”);
 int c = in.read();
D、RandomAccessFile in = new RandomAccessFile(“file.dat”);
 in.skip(9); int c = in.read();
 
3、哪个关键字可以对对象加互斥锁?B
A、transient
B、synchronized
C、serialize
D、static
 
4、请写出下列代码的输出结果?

public class Test {
static{
int num1 = 0;
String str1 = "hello";
new SubClass(num1,str1);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("main");
}
}

class ParentClass{
protected ParentClass(){
System.out.println("ParentClass create");
}

public void sayHello(int num1,String str1){
System.out.println("ParentClass"+num1+str1);
}
}

class SubClass extends ParentClass{
SubClass(int num1,String str1){
System.out.println("SubClass create");
sayHello(++num1,"("+str1+")");
}
}


结果:
ParentClass create
SubClass create
ParentClass1(hello)
Main
 
5、有一个数据库表people,表有字段name,dept(注:部门id),age,address三个属性(注:没有主键)。请找出人数最多的部门id?
答案:

select dept,count(*) as peopleNum from people group by dept order by peopleNum desc limit 1;


 
6、用Javascript代码实现数组排序的方法,输入一个整数数组,返回一个从小到大排好序的新整数数组(输入数组的位数不确定,可能出现重复的元素)?

答案:

//升序(冒泡排序)
function sort(arr){
var temp = 0;
for(var i=0; i<arr.length-1; i++){
for(var j=0; j<arr.length-1-i; j++){
if(arr[j] > arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr;
}


7、请写出一个可以计算一个数阶乘的程序。如2的阶乘1*2=2;4的阶乘1*2*3*4=24?
答案:

private static int getjiecheng(int num){
int temp = 1;
for(int i=1; i<=num; i++){
temp *= i;
}
return temp;
}


8、N为整形的函数形参,用伪代码实现如下图案的打印:



答案:

private static void printPicture(int num){
//打印图形上部分
for(int i=1; i<=num; i++){
//打空格
for(int k=0; k<num-i; k++){
System.out.print(" ");
}
//打*
for(int j=1; j<=2*i-1; j++){
System.out.print("*");
}
System.out.println();
}
//打印图形下部分
for(int i=1; i<=num-1; i++){
//打空格
for(int j=1; j<=i; j++){
System.out.print(" ");
}
//打*
for(int k=1; k<=(num-i)*2-1; k++){
System.out.print("*");
}
System.out.println();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面试