java面試題及答案
Java語言是一門經(jīng)久不衰的語言,發(fā)展至今已經(jīng)超過20 年。20年的時間可以改變很多事情,但是最火爆的語言之一還是有Java。所以現(xiàn)在依然有很多人選擇學(xué)習(xí)Java語言。
2017年最新java面試題及答案
Java具有簡單性、面向?qū)ο、分布式、健壯性、安全性、平立與可移植性、多線程、動態(tài)性等特點。下面是小編整理的關(guān)于最新java面試題及答案,歡迎大家試題!
最新前端工程師面試題
一、問答題(共兩題每題5分)
1、在軟件開發(fā)的形式中,有單獨(dú)開發(fā)和團(tuán)隊開發(fā),請您分析兩種開發(fā)形式的利弊?
2、除了工資還有什么福利對你具有吸引力?
二、案例分析(共四題每題5分)
1、案例一:項目經(jīng)理陳經(jīng)理所在的項目組接到總監(jiān)分配的一項緊急任務(wù),要求在2天內(nèi)完成A項目,陳經(jīng)理馬上召集其下屬工程師小張和小黃進(jìn)行工作分配并分析項目要點和各個要點的主要做法2017年Java工程師面試題2017年Java工程師面試題。時間已經(jīng)過去了1天半,工程師小張發(fā)現(xiàn),根據(jù)陳經(jīng)理對項目要點的主要做法行不通,但時間已經(jīng)所剩不多了。
問題一:如果你是小張,你會怎么做?為什么?
問題二:由于項目做法的問題導(dǎo)致項目的進(jìn)度無法按總監(jiān)的要求在2天內(nèi)完成,總監(jiān)怪罪下來,你認(rèn)為這是誰的責(zé)任,為什么?
2、案例二:工程師小李和工程師小陳分別在同一個項目組負(fù)責(zé)軟件開發(fā)工作,他倆是同時進(jìn)入公司的,而且被分配在鄰座,因此關(guān)系非常好。工程師小李最近發(fā)現(xiàn)小陳經(jīng)常在上班時間做一些與本公司業(yè)務(wù)無關(guān)的'工作,并且在一次偶然的機(jī)會讓小李發(fā)現(xiàn),小陳的薪資比自己的薪資要高一倍多。
問題一:如果你是小李,你會怎么做,為什么?
問題二:如果你是小陳,你發(fā)現(xiàn)做的事情被小李發(fā)現(xiàn)了,你會怎么做,為什么?
2017年java面試題及答案
Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。下面是小編整理的關(guān)于2017年java面試題及答案,歡迎大家練習(xí)!
java面試題及答案
1、String 是最基本的數(shù)據(jù)類型嗎?
答:不是。Java中的基本數(shù)據(jù)類型只有8個:byte、short、int、long、float、double、char、boolean;除了基本類型(primitive type),剩下的都是引用類型(reference type),Java 5以后引入的枚舉類型也算是一種比較特殊的引用類型。
2、float f=3.4;是否正確?
答:不正確。3.4是雙精度數(shù),將雙精度型(double)賦值給浮點型(float)屬于下轉(zhuǎn)型(down-casting,也稱為窄化)會造成精度損失,因此需要強(qiáng)制類型轉(zhuǎn)換float f =(float)3.4; 或者寫成float f =3.4F;。
3、short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 += 1;有錯嗎?
答:對于short s1 = 1; s1 = s1 + 1;由于1是int類型,因此s1+1運(yùn)算結(jié)果也是int 型,需要強(qiáng)制轉(zhuǎn)換類型才能賦值給short型。而short s1 = 1; s1 += 1;可以正確編譯,因為s1+= 1;相當(dāng)于s1 = (short)(s1 + 1);其中有隱含的強(qiáng)制類型轉(zhuǎn)換。
java面試題及答案
據(jù)悉,2016年元旦放假安排為2016年1月1日至1月3日,恰好是一個周五加上周末的三整天時間。昨日互聯(lián)網(wǎng)、電話購票已經(jīng)可以預(yù)訂2015年最后一天即12月31日的車票。今日,2016年元旦當(dāng)日火車票將正式開售,旅客可以通過12306網(wǎng)站、手機(jī)客戶端或電話訂票熱線進(jìn)行購票。
另外,鐵路部門也推出了3元的鐵路旅客人身意外傷害保險服務(wù),最高保障30萬元意外身故、傷殘和3萬元意外醫(yī)療,購買選項將隨付款頁面一起出現(xiàn),旅客可自愿選擇是否購買。
另據(jù)了解,2016年寒假學(xué)生優(yōu)惠火車票也已開始發(fā)售,學(xué)生旅客可憑有效學(xué)生證及身份證件,購買12月1日以后最低半價優(yōu)惠的火車票。
火車票代售點和火車站窗口兩天后開始發(fā)售
需要注意的是,由于火車票車站窗口、車站自助售票機(jī)和代售點的預(yù)售期較短,今天還不能發(fā)售元旦車票。車站窗口、車站自助售票機(jī)只銷售未來3天火車票,市區(qū)代售點銷售提前58天火車票,通過這些渠道今天還不能買到元旦車票;疖嚻贝埸c和火車站窗口兩天后開始發(fā)售。另外,2016年2月8日為春節(jié),12月10日互聯(lián)網(wǎng)將開始發(fā)售除夕火車票。
2016年寒假學(xué)生優(yōu)惠火車票已開始發(fā)售
據(jù)了解,2016年寒假學(xué)生優(yōu)惠火車票也已開始發(fā)售,學(xué)生旅客可憑有效學(xué)生證及身份證件,購買12月1日以后最低半價優(yōu)惠的火車票。
中短途游客不必太早買票
鐵路人士提醒,對于中短途旅客,比如上海往南京、杭州、溫州等方向,車次相對沒有那么緊張,因此不必太早買票,在出行前1-2周買票就可以了;而去往北京、廈門、沈陽等方向的長途旅客,則建議盡快購票,避開元旦前的購票高峰。根據(jù)慣例,鐵路部門會在元旦小長假等出行高峰時段,安排多個方向增開列車,屆時還會有一些車票放出。
JAVA面試題小練習(xí)題3,參考答案
T142面試題小練習(xí)參考答案(總分100’) Java-OOP&SQL Server部分1) try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執(zhí)行,什么時
候被執(zhí)行,在return前還是后? (8’)
會執(zhí)行,finally中的代碼比return 和break語句后執(zhí)行。
拓展:演示FinallyTest1和FinallyTest代碼。
2) String s = new String("xyz"),創(chuàng)建了幾個對象?為什么?(10’)
3) x.equals(y)==true,x,y可有不同的hash code,這句話對不對?(5’)
不對
如果兩個hashCode()返回的結(jié)果相等,則兩個對象的equals方法不一定相等。 拓展:
一致性
在 Java 應(yīng)用程序執(zhí)行期間,在對同一對象多次調(diào)用 hashCode 方法時,必須一致地返回相同的整數(shù),前提是將對象進(jìn)行hashcode比較時所用的信息沒有被修改。
equals
如果根據(jù) equals(Object) 方法,兩個對象是 相等的,那么對這兩個對象中的每個對象調(diào)用 hashCode 方法都必須生成相同的整數(shù)結(jié)果,
如果根據(jù)equals(java.lang.Object)方法,兩個對象不相等,那么對這兩個對象中的任一對象上調(diào)用 hashCode 方法不一定生成不同的整數(shù)結(jié)果。
java面試題大全帶答案2016
以下是應(yīng)屆畢業(yè)生小編給大家整理關(guān)于Java面試題的內(nèi)容,希望對你們有幫助,快來閱讀參考吧。
Java面試題和答案【1】
封裝
封裝給對象提供了隱藏內(nèi)部特性和行為的能力。對象提供一些能被其他對象訪問的方法來改變它內(nèi)部的數(shù)據(jù)。在Java當(dāng)中,有3種修飾符:public,private和protected。每一種修飾符給其他的位于同一個包或者不同包下面對象賦予了不同的訪問權(quán)限。
下面列出了使用封裝的一些好處:
通過隱藏對象的屬性來保護(hù)對象內(nèi)部的狀態(tài)。
提高了代碼的可用性和可維護(hù)性,因為對象的行為可以被單獨(dú)的改變或者是擴(kuò)展。
禁止對象之間的不良交互提高模塊化。
參考這個文檔獲取更多關(guān)于封裝的細(xì)節(jié)和示例。
多態(tài)
多態(tài)是編程語言給不同的底層數(shù)據(jù)類型做相同的接口展示的一種能力。一個多態(tài)類型上的操作可以應(yīng)用到其他類型的值上面。
繼承
繼承給對象提供了從基類獲取字段和方法的能力。繼承提供了代碼的重用行,也可以在不修改類的情況下給現(xiàn)存的類添加新特性。
抽象
抽象是把想法從具體的實例中分離出來的步驟,因此,要根據(jù)他們的功能而不是實現(xiàn)細(xì)節(jié)來創(chuàng)建類。Java支持創(chuàng)建只暴漏接口而不包含方法實現(xiàn)的抽象的類。這種抽象技術(shù)的主要目的是把類的行為和實現(xiàn)細(xì)節(jié)分離開。
抽象和封裝的不同點
抽象和封裝是互補(bǔ)的概念。一方面,抽象關(guān)注對象的行為。另一方面,封裝關(guān)注對象行為的細(xì)節(jié)。一般是通過隱藏對象內(nèi)部狀態(tài)信息做到封裝,因此,封裝可以看成是用來提供抽象的一種策略。
高級Java面試題及答案2016
java高級面試有哪些常見問題呢?下面yjbys為大家分享最新java常見面試題及答案解析,僅供參考!
什么是可變參數(shù)?
可變參數(shù)允許調(diào)用參數(shù)數(shù)量不同的方法。請看下面例子中的求和方法。此方法可以調(diào)用1個int參數(shù),或2個int參數(shù),或多個int參數(shù)。
//int(type) followed ... (three dot's) is syntax of a variable argument.
public int sum(int... numbers) {
//inside the method a variable argument is similar to an array.
//number can be treated as if it is declared as int[] numbers;
int sum = 0;
for (int number: numbers) {
sum += number;
}
return sum;
}
public static void main(String[] args) {
VariableArgumentExamples example = new VariableArgumentExamples();
//3 Arguments
System.out.println(example.sum(1, 4, 5));//10
2017年java中高級筆試面試題及答案
本文很多面試題是網(wǎng)友面試BAT親身經(jīng)歷碰到的。整理分享出來希望更多的前端er共同進(jìn)步吧,不僅適用于求職者,對于鞏固復(fù)習(xí)js更是大有裨益。
中級Javascript:
1.實現(xiàn)一個函數(shù)clone,可以對JavaScript中的5種主要的數(shù)據(jù)類型(包括Number、String、Object、Array、Boolean)進(jìn)行值復(fù)制
考察點1:對于基本數(shù)據(jù)類型和引用數(shù)據(jù)類型在內(nèi)存中存放的是值還是指針這一區(qū)別是否清楚
考察點2:是否知道如何判斷一個變量是什么類型的
考察點3:遞歸算法的設(shè)計
1 // 方法一:
2 Object.prototype.clone = function(){ 3 var o = this.constructor === Array ? [] : {}; 4 for(var e in this){ 5 o[e] = typeof this[e] === "object" ? this[e].clone() : this[e]; 6 } 7 return o; 8 } 9 10 //方法二:11 /**
12 * 克隆一個對象
13 * @param Obj
14 * @returns
15 */ 16 function clone(Obj) {
17 var buf;
18 if (Obj instanceof Array) {
java面試題及答案
1)抽象類和接口有什么區(qū)別?
1.abstract class 在 Java 語言中表示的是一種繼承關(guān)系,一個類只能使用一次繼承關(guān)系。但是,一個類卻可以實現(xiàn)多個interface。
2.在abstract class 中可以有自己的數(shù)據(jù)成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態(tài)的不能被修改的數(shù)據(jù)成員(也就是必須是static final的,不過在 interface中一般不定義數(shù)據(jù)成員),所有的成員方法都是abstract的。
3.abstract class和interface所反映出的設(shè)計理念不同。其實abstract class表示的是"is-a"關(guān)系,interface表示的是"like-a"關(guān)系。
4.實現(xiàn)抽象類和接口的類必須實現(xiàn)其中的所有方法。抽象類中可以有非抽象方法。接口中則不能有實現(xiàn)方法。
5.接口中定義的變量默認(rèn)是public static final 型,且必須給其初值,所以實現(xiàn)類中不能重新定義,也不能改變其值。
6.抽象類中的變量默認(rèn)是 friendly 型,其值可以在子類中重新定義,也可以重新賦值。
7.接口中的方法默認(rèn)都是 public,abstract 類型的。
2)能說一下java的反射(reflection)機(jī)制嗎?
開放性和原因連接(causally-connected)是反射系統(tǒng)的兩大基本要素
廣州合生元Java開發(fā)工程師面試題及答案
1:如果查詢數(shù)據(jù)庫時,速度比較慢,你怎么樣從數(shù)據(jù)庫端進(jìn)行優(yōu)化
2:你用什么方法統(tǒng)計網(wǎng)站的當(dāng)前在線人數(shù)
3:寫出你做的比較滿意的系統(tǒng)并簡述,說出他們的體系結(jié)構(gòu)
java網(wǎng)頁中怎樣統(tǒng)計在線人數(shù)
1.用session超時,session為null就表示下線了
2.也可以采用數(shù)據(jù)庫中設(shè)置 臨時表 來處理
一個用戶登陸時向表中插進(jìn)一條記錄,用戶離開時候刪除該記錄
如想統(tǒng)計在線人數(shù),簡單地執(zhí)行
select count(*) from table… 即可
3.application對象中可以記住現(xiàn)在的人數(shù),application的生命周期和服務(wù)器的生命周期一樣長。
4.還有一種方法要用到一個文件global.jsa ,方法是(在JSP中)是sessionDestroy(),其中它是以session對象為參數(shù)的。還有要把global.jsa文件必須房子和JSP程序相同的文件目錄內(nèi)才行。
5.網(wǎng)頁自動刷新的代碼是:
在文件頭部加上
刷新間隔時間是15秒
6.在session中加入監(jiān)聽類,類的示例代碼如下:
onLineUser.java
import javax.servlet.http.*;
import javax.servlet.*;
import java.util.*;
public class onLineUser implements HttpSessionBindingListener {
2016年java多線程面試題及答案
Java舍棄了C語言中容易引起錯誤的指針(以引用取代)、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。那么在java面試中,有哪些面試試題呢?
1)現(xiàn)在有T1、T2、T3三個線程,你怎樣保證T2在T1執(zhí)行完后執(zhí)行,T3在T2執(zhí)行完后執(zhí)行?
這個線程問題通常會在第一輪或電話面試階段被問到,目的是檢測你對”join”方法是否熟悉。這個多線程問題比較簡單,可以用join方法實現(xiàn)。
2)在Java中Lock接口比synchronized塊的優(yōu)勢是什么?你需要實現(xiàn)一個高效的緩存,它允許多個用戶讀,但只允許一個用戶寫,以此來保持它的完整性,你會怎樣去實現(xiàn)它?
lock接口在多線程和并發(fā)編程中最大的優(yōu)勢是它們?yōu)樽x和寫分別提供了鎖,它能滿足你寫像ConcurrentHashMap這樣的高性能數(shù)據(jù)結(jié)構(gòu)和有條件的阻塞。Java線程面試的問題越來越會根據(jù)面試者的回答來提問。我強(qiáng)烈建議在你去參加多線程的面試之前認(rèn)真讀一下Locks,因為當(dāng)前其大量用于構(gòu)建電子交易終統(tǒng)的客戶端緩存和交易連接空間。
3)在java中wait和sleep方法的不同?
通常會在電話面試中經(jīng)常被問到的Java線程面試問題。最大的不同是在等待時wait會釋放鎖,而sleep一直持有鎖。Wait通常被用于線程間交互,sleep通常被用于暫停執(zhí)行。