2017年Java工程師面試題
Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言。下面yjbys小編為大家準備了關于Java工程師面試的題目,歡迎閱讀。
一、問答題(共兩題每題5分)
1、在軟件開發的形式中,有單獨開發和團隊開發,請您分析兩種開發形式的利弊?
2、除了工資還有什么福利對你具有吸引力?
二、案例分析(共四題每題5分)
1、案例一:項目經理陳經理所在的項目組接到總監分配的一項緊急任務,要求在2天內完成A項目,陳經理馬上召集其下屬工程師小張和小黃進行工作分配并分析項目要點和各個要點的主要做法。時間已經過去了1天半,工程師小張發現,根據陳經理對項目要點的主要做法行不通,但時間已經所剩不多了。
問題一:如果你是小張,你會怎么做?為什么?
問題二:由于項目做法的問題導致項目的進度無法按總監的要求在2天內完成,總監怪罪下來,你認為這是誰的責任,為什么?
2、案例二:工程師小李和工程師小陳分別在同一個項目組負責軟件開發工作,他倆是同時進入公司的,而且被分配在鄰座,因此關系非常好。工程師小李最近發現小陳經常在上班時間做一些與本公司業務無關的工作,并且在一次偶然的機會讓小李發現,小陳的薪資比自己的薪資要高一倍多。
問題一:如果你是小李,你會怎么做,為什么?
問題二:如果你是小陳,你發現做的事情被小李發現了,你會怎么做,為什么?
技術題
一、基礎題,共十題每題2分
1、GC是什么?為什么要有GC?
2、short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?Byte a=1,b=1,bye c=a+b有什么錯?Short a=1,b=1,Short c=a+b有什么錯(答對一個給0.5分)
3、Java有沒有goto?
4、數組有沒有length()這個方法? String有沒有length()這個方法?
5、Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?(答對第一句話即可得滿分,或者意思差不多的即可)
6、List, Set, Map是否繼承自Collection接口?
7、構造器Constructor是否可被override?
8、當一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法?
9、當一個對象被當作參數傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結果,那么這里到底是值傳遞還是引用傳遞?(答對第一句即可得滿分)
10、EJB中LocalHome的作用是什么?
二、程序測試題(共四小題每題5分)
1、談談你對以下程序的看法。
class MyString extends String{
public static int i = 0;
private char[] chars = {‘a’,’b’,’c’};
public MyString(){}
static{
System.out.println( “i = ” + ( i++ ) );
}
public String getString(){
String s = “”;
for( char c : chars ){
s += c;
}
Return s;
}
}
2、請寫出以下程序的輸出。
class B {
private int radius = 10;
public void draw() {
System.out.println(“B.draw(), radius = ” + radius);
}
public B() {
System.out.println(“B constructor”);
draw();
}
}
public class A extends B {
private int radius = 1;
public void draw() {
System.out.println(“A.draw(), radius = ” + radius);
}
public A(int radius) {
this.radius = radius;
System.out.println(“A constructor”);
}
public static void main(String[] args) {
A a = new A(5);
}
}
3、寫出下列程序運行結果。
public class Test {
static Test st=new Test();
static int x ;
static int y=0 ;
public Test(){
x++;
y++;
}
public Test(int x,int y){
this.x=x;
this.y=y;
}
public static Test getInstance(){ return st ;}
static{
int i=0;
System.out.println(“i=”+i);
}
void test() {
Inner inner2 = new Inner2();
inner2.display();
}
public static void main(String[] args) {
Test test1=Test.getInstance();
test1.test();
System.out.println(“test1:x=” + test1.x+”;y=”+test1.y);
Test test2=new Test();
test2.test();
System.out.println(“test2:x=” + test2.x+”;y=”+test2.y);
Test test3=new Test(0,0);
test3.test();
System.out.println(“test3:x=” + test3.x+”;y=”+test3.y);
}
public class Inner {
int a= 1;
void display() { System.out.println(“display: a = ” + a); }
}
public class Inner2 extends Inner {
int a=2;
void display() {System.out.println(“display: a= ” +a); }
}
}
4、談談你對以下JavaScript函數的看法,能否提高效率?如果能請給出需要修改的地方,并講出原因。
function getFormAsString( formName ){
returnString = “”;
formElements = document.forms[formName].elements;
for ( var i = formElements.length-1 ; i >= 0; –i ){
returnString = returnString + “&” + escape( formElements[i].name ) + “=” + escape( formElements[i].value) ;
}
return returnString;
}
三、編程題(共三題,每題10分)
1、寫一個Singleton的類出來。
2、給你一組字符串如:iu7i8hy4jnb2,讓你編程輸出里面的數字:7842
3、給你一組字符如{1,3,4,7,2,1,1,5,2},讓你輸出里面出現次數最多且數值最大的一個,出現幾次
4、編成獲取服務器本地ip地址
四、綜合附加題(共5每題10分)
1、用Ajax寫出客戶端與服務器的簡單異步調用(假設xmlHttp已被創建可以直接調用)
2、在Oracle數據庫中有一表Table1,表中有一字段a,如何刪除表中a字段的重復數據,請使用光標與分組的辦法?
3、現在Oracle 10g中有一表
FLWINR
TCHNUM
TCHINR
TCHNAM
CALMOD
SUBFLWINR
NXTTCHNUM
760
1
C02
分配專業室
Flw1
2
(表名為Table1,其中關鍵字為FLWINR+TCHNUM+NXTTCHNUM)第一行是表的所有屬性,第二行是其中的一條記錄,當然假設該表有很多數據。要求把條件”FLWINR=’760′”的查詢結果復制到新表中,該新表結構同Table1,命名為Table1_COPY。請用一句sql語句寫出來。
4、假設web服務器是Weblogic有以下的ejb代碼及配置文件:
package com.leo;
import java.rmi.RemoteException;
import java.rmi.Remote;
import javax.ejb.*;
public interface Hello extends EJBObject, Remote {
//this method just get “Hello EJB” from HelloEJB.
public String getHello() throws RemoteException;
}
package com.leo;
import javax.ejb.*;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.*;
/**
* This interface is extremely simple it declares only
* one create method.
*/
public interface HelloHome extends EJBHome {
public Hello create() throws CreateException, RemoteException;
}
package com.leo;
import javax.ejb.*;
public class HelloEJB implements SessionBean{
public void ejbCreate(){}
public void ejbRemove(){}
public void ejbActivate(){}
public void ejbPassivate(){}
public void setSessionContext(SessionContext ctx){}
public String getHello() {
return new String(“Hello,EJB”);
}
}
Hello
com.leo.HelloHome
com.leo.Hello
com.leo.HelloEJB
Stateless
Container
Hello
Hello
HelloLocal
要求寫一個Java Client中調用HelloBean的類。
【Java工程師面試題】相關文章:
Java工程師面試題10-22
Java工程師面試題及答案10-25
2017年的Java工程師面試題11-05
java中級工程師面試題09-26
Java高級工程師面試題及答案09-20
java面試題及答案11-01
經典的Java基礎面試題09-02
華為Java面試題精選10-13
2016年JAVA面試題07-13
高級Java面試題匯總07-17