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