久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

程序員面試題

時間:2019-05-14 21:12:09下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《程序員面試題》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《程序員面試題》。

第一篇:程序員面試題

曙光集團(tuán)程序員面試題(答題時間1小時)

基本概念測試題

1.如果在一個B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進(jìn)行處理?

2.請說明覆蓋與重載的區(qū)別?

3.請說明抽象類、類、接口有什么不同?

4.請說明Java的錯誤處理機(jī)制是什么?

5.請舉例說明Java中有幾種參數(shù)傳遞模式?

6.請說明Java中垃圾回收的機(jī)制。

7.請寫出Java中的基本數(shù)據(jù)類型

基本能力測試題

8.請列出您所知道的設(shè)計模式的名稱并說明在什么情況下使用該模式

9.請按照你的理解簡要描述一下三層架構(gòu)

10.請說明在交給測試部門前,如何對自己負(fù)責(zé)的模塊進(jìn)行測試?

綜合能力測試題

11.請用Java語言以最能夠體現(xiàn)你的編程水平的方式編寫出對一張表中的記錄

進(jìn)行添加、修改、刪除、查詢操作的主要類和方法結(jié)構(gòu)(可以隨意建立一張表進(jìn)行編寫)

數(shù)據(jù)庫能力題

12.一大型企業(yè),有10000名員工,每半個月發(fā)一次工資,請寫出你對此企業(yè)工資數(shù)

據(jù)庫的設(shè)計思路(數(shù)據(jù)庫為SQL server或者Oracle)

13.請在SQL Server或者Oracle中設(shè)計表來保存一個樹狀結(jié)構(gòu)的組織結(jié)構(gòu)圖(假

設(shè)結(jié)構(gòu)圖中只有名稱這一項內(nèi)容需要保存),如果我想查詢某一職位下的所有職位,用一個存儲過程來實現(xiàn),你有什么思路?

第二篇:程序員相關(guān)面試題

面試題匯總

1、請進(jìn)行自我介紹

2、你的外語水平如何

3、請描述自己的優(yōu)缺點,并給出例子

4、請問你的最好成績排名如何

5、給出一個我錄取你的理由

6、請對比大學(xué)課程和TTC課程的優(yōu)劣

7、請說明你在TTC的收獲

8、給出項目經(jīng)歷,是自己做的設(shè)計嗎?

9、有兩張表,一張保存成績,一張保存學(xué)員信息寫出一下問題的SQL語句 a)建表

b)添加約束

c)查詢?nèi)闭n學(xué)生名單

d)按照學(xué)生平均分排序

10、解釋一下事務(wù)的概念

1.自我介紹

2.有什么興趣愛好

3.是否通過英語四級、分?jǐn)?shù)

4.學(xué)院錄取分?jǐn)?shù)線

5.成績排名

6.是否有考研的想法

7.大學(xué)期間擔(dān)任過什么職務(wù)

8.上學(xué)期間學(xué)過什么跟軟件相關(guān)的課程

9.都做過什么項目、或者課程設(shè)計

10.在項目小組里負(fù)責(zé)哪一部分

11.家鄉(xiāng)在哪里

12.如果某某地有東軟的分公司是否愿意去(陷阱問題,主要看南方生源在北方工作 的意愿)

13.是否能夠出差、加班

14.對東軟的認(rèn)識

15.對軟件行業(yè)的認(rèn)識

16.C和C++的區(qū)別,更喜歡哪種語言

軟開面試題:

1、Int如何轉(zhuǎn)化成String類型,相反如何轉(zhuǎn)化

2、繼承的好處

3、如何理解面向?qū)ο笳Z言

4、小數(shù)位多的時候用什么類型

5、Int占幾個字節(jié)、長度

6、字符串如何連接

7、獨(dú)立做過什么項目

8、遇到什么問題,如何解決的1.簡單自我介紹

2.總結(jié)一下自己的優(yōu)缺點

3.Oracle中建表語法,事務(wù)相關(guān)特性

4.JDBC過程

5.在東軟實訓(xùn)中心有哪些收獲

6.對東軟是否認(rèn)可

1.學(xué)習(xí)中遇到的問題如何解決?

2.遇到規(guī)定時間無法完成的任務(wù)時如何解決?

3.線程如何使用?線程的常用方法?wait和sleep的區(qū)別?

4.&與&&區(qū)別?

5.抽象類與接口的區(qū)別?

6.學(xué)校本專業(yè)多少人,你在學(xué)校排名是多少?

7.如何使用異常處理?

8.B/S C/S的區(qū)別?

9.文件讀寫需要使用哪些類?你都讀寫過什么文件?

10.什么是面向?qū)ο螅?/p>

11.二分查找的算法、冒泡排序?用語言描述或在紙上寫

12.素數(shù)之和1~100?

13.單例如何實現(xiàn)?

14.hashmap與hashtable的區(qū)別?、15.sql語句執(zhí)行的先后順序?

16.java都學(xué)過哪些課程和內(nèi)容(java體系結(jié)構(gòu))

17.xml的解析和編輯

18.JavaScript實現(xiàn)時鐘功能?

19.javaapi是否使用過,如何查找某一個類的方法

20.JavaScript作用?JavaScript調(diào)試?

21.左外連接和右外連接的語句、視圖和索引的使用

22.分組使用什么語句

23.request的作用?

24.楊輝三角形編寫

25.get和post區(qū)別?

26.2個畫面之間傳值

27.重載和重寫的區(qū)別

28.連接數(shù)據(jù)庫的步驟

29.什么時候使用static

30.Final修飾類的作用

31.什么時候會創(chuàng)建內(nèi)部類

政府事業(yè)部:

所用技術(shù):java,pb,oracle

做實施oracle是重點

問題:

1. 所學(xué)專業(yè)課以及在年級中排名;

2. 4,6級分?jǐn)?shù);

3. 期望的工作地點以及是否能夠出差;

4. 特長和愛好;

5. 溝通能力;

6. 做過的項目;

7. 使用過以及最熟的開發(fā)語言和工具;

8. Oracle問題:有A,B兩個表,A表有id和姓名,工資,B表有Id和工資,寫一個

SQL語句用B表的工資更新A表工資;

9. 模擬場景:如果你是項目負(fù)責(zé)人,在客戶現(xiàn)場發(fā)現(xiàn)產(chǎn)品的一個重大問題,客戶要求

在3天內(nèi)解決,而項目組評估需要2個星期才能徹底解決,你作為項目負(fù)責(zé)人應(yīng)該怎么做。

309政府面試題:

1. 自我介紹

2. 在大學(xué)里的成績排名,是否過英語四六級,在校是否當(dāng)過干部?

3. 和周圍人相處的怎么樣?

4. 自己的優(yōu)缺點及興趣愛好。

5. 什么事繼承、封裝、多態(tài)?

6. 說說java都有多少種數(shù)據(jù)類型?

7. 說說SSH架構(gòu)

8. 做過什么項目,簡單說說怎么做的?在做項目中遇到過問題么?如何解決的?

9. 數(shù)據(jù)庫學(xué)過什么,說說這些數(shù)據(jù)庫的區(qū)別。

10. 是否愿意做實施方面工作

11. 對東軟的認(rèn)識

12. 覺得實訓(xùn)中心怎么樣?來實訓(xùn)后有什么提高?

13. 能出差么?想去哪個城市工作?

14. 還有什么想問面試官的么?

政府事業(yè)部所注重的能力:

1. 數(shù)據(jù)庫的增刪改查操作;

2. 硬件知識,如服務(wù)器調(diào)優(yōu);

3. 與客戶溝通能力;

軟開面試題:

1、針對做過的用戶管理系統(tǒng),請用2分鐘簡單描述一下項目規(guī)模、功能、做的過程、使用的技術(shù)

2、在項目中,異常如何處理的?

3、在項目中,是否遇到什么問題?又是如何處理的?

4、針對用戶管理系統(tǒng),數(shù)據(jù)庫表是如何設(shè)計的?

5、你認(rèn)為項目中,最復(fù)雜的是什么?

6、針對用戶管理系統(tǒng)的web實現(xiàn),如果在登錄時,加一個驗證碼,如何處理?

7、關(guān)于前臺的各個輸入域驗證?如何進(jìn)行表單驗證?

8、針對你做過的校園網(wǎng)站,是如何分析、設(shè)計的?各個階段都做了什么工作?各個階段所

用時間?針對于視頻點播,如果人數(shù)較多,如何解決性能問題?

9、說說存儲過程?游標(biāo)?事務(wù)?事務(wù)的特性?union聯(lián)合、主鍵、聯(lián)合主鍵、索引?

10、Dml和ddl區(qū)別?什么時候使用右連接?

11、什么是封裝?使用自己的話說一下,你封裝的理解?

12、什么是繼承?你對繼承的理解?

13、你對多態(tài)的理解?對抽象的理解?

14、對于java中的循環(huán)語句:for、while、do…while,分別在什么時候使用它們?

15、在網(wǎng)頁中,如何顯示距離倫敦奧運(yùn)會的倒計時?

16、在銀行系統(tǒng)中,關(guān)于金額的數(shù)據(jù)類型是什么?

17、數(shù)據(jù)庫的性能從何下手?

18、簡單的自我介紹?為什么想來東軟?對其他企業(yè)有了解嗎?

19、在實訓(xùn)都培訓(xùn)哪些內(nèi)容了,簡單說明一下?

第三篇:JAVA程序員面試題

JAVA程序員面試題

第一,談?wù)刦inal, finally, finalize的區(qū)別。

final?修飾符(關(guān)鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載。

finally?再異常處理時提供 finally 塊來執(zhí)行任何清除操作。如果拋出一個異常,那么相匹配的 catch 子句就會執(zhí)行,然后控制就會進(jìn)入 finally 塊(如果有的話)。

finalize?方法名。Java 技術(shù)允許使用 finalize()方法在垃圾收集器將對象從內(nèi)存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調(diào)用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize()方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize()方法是在垃圾收集器刪除對象之前對這個對象調(diào)用的。

第二,Anonymous Inner Class(匿名內(nèi)部類)是否可以extends(繼承)其它類,是否可以implements(實現(xiàn))interface(接口)?

匿名的內(nèi)部類是沒有名字的內(nèi)部類。不能extends(繼承)其它類,但一個內(nèi)部類可以作為一個接口,由另一個內(nèi)部類實現(xiàn)。

第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統(tǒng))。

Nested Class(一般是C++的說法),Inner Class(一般是JAVA的說法)。Java內(nèi)部類與C++嵌套類最大的不同就在于是否有指向外部的引用上。注: 靜態(tài)內(nèi)部類(Inner Class)意味著1創(chuàng)建一個static內(nèi)部類的對象,不需要一個外部類對象,2不能從一個static內(nèi)部類的一個對象訪問一個外部類對象

第四,&和&&的區(qū)別。

&是位運(yùn)算符。&&是布爾邏輯運(yùn)算符。

第五,HashMap和Hashtable的區(qū)別。

都屬于Map接口的類,實現(xiàn)了將惟一鍵映射到特定的值上。

HashMap 類沒有分類或者排序。它允許一個 null 鍵和多個 null 值。

Hashtable 類似于 HashMap,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因為它是同步的。

第六,Collection 和 Collections的區(qū)別。

Collections是個java.util下的類,它包含有各種有關(guān)集合操作的靜態(tài)方法。

Collection是個java.util下的接口,它是各種集合結(jié)構(gòu)的父接口。

第七,什么時候用assert。

斷言是一個包含布爾表達(dá)式的語句,在執(zhí)行這個語句時假定該表達(dá)式為 true。如果表達(dá)式計算為 false,那么系統(tǒng)會報告一個 AssertionError。它用于調(diào)試目的:

assert(a > 0);// throws an AssertionError if a <= 0 斷言可以有兩種形式:

assert Expression1;

assert Expression1 : Expression2;Expression1 應(yīng)該總是產(chǎn)生一個布爾值。

Expression2 可以是得出一個值的任意表達(dá)式。這個值用于生成顯示更多調(diào)試信息的 String 消息。

斷言在默認(rèn)情況下是禁用的。要在編譯時啟用斷言,需要使用 source 1.4 標(biāo)記:

javac-source 1.4 Test.java

要在運(yùn)行時啟用斷言,可使用-enableassertions 或者-ea 標(biāo)記。

要在運(yùn)行時選擇禁用斷言,可使用-da 或者-disableassertions 標(biāo)記。

要系統(tǒng)類中啟用斷言,可使用-esa 或者-dsa 標(biāo)記。還可以在包的基礎(chǔ)上啟用或者禁用斷言。可以在預(yù)計正常情況下不會到達(dá)的任何位置上放置斷言。斷言可以用于驗證傳遞給私有方法的參數(shù)。不過,斷言不應(yīng)該用于驗證傳遞給公有方法的參數(shù),因為不管是否啟用了斷言,公有方法都必須檢查其參數(shù)。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試后置條件。另外,斷言不應(yīng)該以任何方式改變程序的狀態(tài)。

第八,GC是什么? 為什么要有GC?(基礎(chǔ))。

GC是垃圾收集器。Java 程序員不用擔(dān)心內(nèi)存管理,因為垃圾收集器會自動進(jìn)行管理。要請求垃圾收集,可以調(diào)用下面的方法之一:

System.gc()

Runtime.getRuntime().gc()

第九,String s = new String(“xyz”);創(chuàng)建了幾個String Object?

兩個對象,一個是“xyx”,一個是指向“xyx”的引用對象s。

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;

第十一,short s1 = 1;s1 = s1 + 1;有什么錯? short s1 = 1;s1 += 1;有什么錯?

short s1 = 1;s1 = s1 + 1;有錯,s1是short型,s1+1是int型,不能顯式轉(zhuǎn)化為short型。可修改為s1 =(short)(s1 + 1)。short s1 = 1;s1 += 1正確。

第十二,sleep()和 wait()有什么區(qū)別? 搞線程的最愛

sleep()方法是使線程停止一段時間的方法。在sleep 時間間隔期滿后,線程不一定立即恢復(fù)執(zhí)行。這是因為在那個時刻,其它線程可能正在運(yùn)行而且沒有被調(diào)度為放棄執(zhí)行,除非(a)“醒來”的線程具有更高的優(yōu)先級(b)正在運(yùn)行的線程因為其它原因而阻塞。

wait()是線程交互時,如果線程對一個同步對象x 發(fā)出一個wait()調(diào)用,該線程會暫停執(zhí)行,被調(diào)對象進(jìn)入等待狀態(tài),直到被喚醒或等待時間到。

第十三,Java有沒有g(shù)oto?

Goto?java中的保留字,現(xiàn)在沒有在java中使用。

第十四,數(shù)組有沒有l(wèi)ength()這個方法? String有沒有l(wèi)ength()這個方法? 數(shù)組沒有l(wèi)ength()這個方法,有l(wèi)ength的屬性。String有l(wèi)ength()這個方法。

第十五,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?

方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫(Overriding)。子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

第十六,Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?

Set里的元素是不能重復(fù)的,那么用iterator()方法來區(qū)分重復(fù)與否。equals()是判讀兩個Set是否相等。

equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當(dāng)兩個分離的對象的內(nèi)容和類型相配的話,返回真值。第十七,給我一個你最常見到的runtime exception。

ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

第十八,error和exception有什么區(qū)別?

error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。exception 表示一種設(shè)計或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運(yùn)行正常,從不會發(fā)生的情況。

第十九,List, Set, Map是否繼承自Collection接口? List,Set是

Map不是

第二十,abstract class和interface有什么區(qū)別?

聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類(abstract class),它用于要創(chuàng)建一個體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實例。然而可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現(xiàn),否則它們也是抽象類為。取而代之,在子類中實現(xiàn)該方法。知道其行為的其它類可以在類中實現(xiàn)這些方法。

接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義static final成員變量。接口的實現(xiàn)與子類相似,除了該實現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實現(xiàn)特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof 運(yùn)算符可以用來決定某對象的類是否實現(xiàn)了接口。

第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized? 都不能

第二十二,接口是否可繼承接口? 抽象類是否可實現(xiàn)(implements)接口? 抽象類是否可繼承實體類(concrete class)?

接口可以繼承接口。抽象類可以實現(xiàn)(implements)接口,抽象類是否可繼承實體類,但前提是實體類必須有明確的構(gòu)造函數(shù)。

第二十三,啟動一個線程是用run()還是start()?

啟動一個線程是調(diào)用start()方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著線程就會立即運(yùn)行。run()方法可以產(chǎn)生必須退出的標(biāo)志來停止一個線程。

第二十四,構(gòu)造器Constructor是否可被override?

構(gòu)造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。

第二十五,是否可以繼承String類? String類是final類故不可以繼承。

第二十六,當(dāng)一個線程進(jìn)入一個對象的一個synchronized方法后,其它線程是否可進(jìn)入此對象的其它方法?

不能,一個對象的一個synchronized方法只能由一個線程訪問。

第二十七,try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后? 會執(zhí)行,在return前執(zhí)行。

第二十八,編程題: 用最有效率的方法算出2乘以8等於幾? 有C背景的程序員特別喜歡問這種問題。<< 3

第二十九,兩個對象值相同(x.equals(y)== true),但卻可有不同的hash code,這句話對不對? 不對,有相同的hash code。

第三十,當(dāng)一個對象被當(dāng)作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?

是值傳遞。Java 編程語言只由值傳遞參數(shù)。當(dāng)一個對象實例作為一個參數(shù)被傳遞到方法中時,參數(shù)的值就是對該對象的引用。對象的內(nèi)容可以在被調(diào)用的方法中改變,但對象的引用是永遠(yuǎn)不會改變的。

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch(expr1)中,expr1是一個整數(shù)表達(dá)式。因此傳遞給 switch 和 case 語句的參數(shù)應(yīng)該是 int、short、char 或者 byte。long,string 都不能作用于swtich。

第三十二,編程題: 寫一個Singleton出來。

Singleton模式主要作用是保證在Java應(yīng)用程序中,一個類Class只有一個實例存在。

一般Singleton模式通常有幾種種形式:

第一種形式: 定義一個類,它的構(gòu)造函數(shù)為private的,它有一個static的private的該類變量,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調(diào)用其中的方法。public class Singleton {

private Singleton(){}

//在自己內(nèi)部定義自己一個實例,是不是很奇怪?

//注意這是private 只供內(nèi)部調(diào)用

private static Singleton instance = new Singleton();

//這里提供了一個供外部訪問本class的靜態(tài)方法,可以直接訪問

public static Singleton getInstance(){

return instance;

} }

第二種形式:

public class Singleton {

private static Singleton instance = null;

public static synchronized Singleton getInstance(){

//這個方法比上面有所改進(jìn),不用每次都進(jìn)行生成對象,只是第一次

//使用時生成實例,提高了效率!

if(instance==null)

instance=new Singleton();return instance;

} }

其他形式:

定義一個類,它的構(gòu)造函數(shù)為private的,所有方法為static的。一般認(rèn)為第一種形式要更加安全些 第三十三 Hashtable和HashMap

Hashtable繼承自Dictionary類,而HashMap是Java1.2引進(jìn)的Map interface的一個實現(xiàn)

HashMap允許將null作為一個entry的key或者value,而Hashtable不允許

還有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在

多個線程訪問Hashtable時,不需要自己為它的方法實現(xiàn)同步,而HashMap

就必須為之提供外同步。

Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會有很大的差異。

1:abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?

2:當(dāng)一個對象被當(dāng)作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的

結(jié)果,那么這里到底是值傳遞還是引用傳遞?

3:Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們 有何區(qū)別?

4:構(gòu)造器Constructor是否可被override?

5:當(dāng)一個線程進(jìn)入一個對象的一個synchronized方法后,其它線程是否可進(jìn)入此對象的其它方法?

6:兩個對象值相同(x.equals(y)== true),但卻可有不同的hash code,這句話對不對

關(guān)于參數(shù)傳遞:

其實JAVA里對參數(shù)的傳遞在國際上都是一直有爭論的。包括《Think in java》里都提到了,Bruce Eckel 也沒給出定論。我覺得這很大程度上是由于規(guī)范不嚴(yán)格造成的。因為大家都知道參數(shù)傳遞的本質(zhì)是什么,但描述方式不一樣,以致造成答案不一致。

現(xiàn)給一些參考:

第一,JAVA 里的參數(shù)傳遞只有值傳遞,沒有所謂的引用傳遞。(說白了,是因為大家的說法 不統(tǒng)一)

第二,引用一個強(qiáng)人的觀點 jamesfancy()邊城狂人(James Fancy):

“1.首先明白參數(shù)的傳遞實質(zhì)是壓棧和出棧的過程。即在調(diào)用一個方法(或說子程序)之前,先將需要傳入的參數(shù)壓棧,然后執(zhí)行代碼的指針跳轉(zhuǎn)到方法的起始位置,進(jìn)行出棧操作,原來壓入棧中的參數(shù)取出置入方法中的局部變量(這里即參數(shù)變量)。

2.對于基本類型,傳遞的參數(shù)都是對原變量值的拷貝。每一個基本類型的數(shù)據(jù)都是以字節(jié)形式保存在內(nèi)存中的(如整型是4個字節(jié),長整型是8個字節(jié)等),壓棧時會將內(nèi)存中的變量值按字節(jié)存入棧中,而原變量的值(即保存在原位置的內(nèi)容)并不改變??內(nèi)存中的數(shù)據(jù)是保存在堆中的,參數(shù)是保存在棧中的,總不可能把內(nèi)存塊搬過來是吧......所以一定是拷貝的!

3.先搞明白引用的實質(zhì)。當(dāng)一個對象創(chuàng)建后,它的內(nèi)容(N個字節(jié))被保存在內(nèi)存中。它的位置,即一個地址址,被返回,保存在一個引用變量中??所以實際上一個引用變量保存的只是某個類的地址,而引用的類型,并不會改變引用變量的大小,它只是說明一個對象的數(shù)據(jù)大小。這樣,就可以從引用變量找到對象的起始地址,再通過類型,獲取對象數(shù)據(jù)。而通過引用調(diào)用的方法,屬性這些東西,就是通過在這塊內(nèi)存地址中的位置偏移來尋址的。(當(dāng)然,實際的操作會比我說的復(fù)雜得多,因為還涉及向上向下傳型等問題)

4.引用參數(shù)的傳遞,實際上就是傳遞的引用變量的值,這和傳遞基本類型的值原理是一樣的。但由于引用變量其值的特殊性(只是一個地址,這個地址上保存的才是對象的實際數(shù)據(jù)),所以,引用變量的值傳入?yún)?shù)變量后,通過參數(shù)變量對對象的修改(在實際地址上的操作)自然就會影響到同一個對象。??這里,外面的引用變量和參數(shù)變量,本身是不同的,但是它們的值相同,都是對象的地址。

第一,談?wù)刦inal, finally, finalize的區(qū)別。

final?修飾符(關(guān)鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載。

finally?再異常處理時提供 finally 塊來執(zhí)行任何清除操作。如果拋出一個異常,那么相匹配的 catch 子句就會執(zhí)行,然后控制就會進(jìn)入 finally 塊(如果有的話)。

finalize?方法名。Java 技術(shù)允許使用 finalize()方法在垃圾收集器將對象從內(nèi)存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調(diào)用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize()方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize()方法是在垃圾收集器刪除對象之前對這個對象調(diào)用的。

第二,Anonymous Inner Class(匿名內(nèi)部類)是否可以extends(繼承)其它類,是否可以implements(實現(xiàn))interface(接口)?

匿名的內(nèi)部類是沒有名字的內(nèi)部類。不能extends(繼承)其它類,但一個內(nèi)部類可以作為一個接口,由另一個內(nèi)部類實現(xiàn)。

第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統(tǒng))。

Nested Class(一般是C++的說法),Inner Class(一般是JAVA的說法)。Java內(nèi)部類與C++嵌套類最大的不同就在于是否有指向外部的引用上。注: 靜態(tài)內(nèi)部類(Inner Class)意味著1創(chuàng)建一個static內(nèi)部類的對象,不需要一個外部類對象,2不能從一個static內(nèi)部類的一個對象訪問一個外部類對象

第四,&和&&的區(qū)別。

&是位運(yùn)算符。&&是布爾邏輯運(yùn)算符。

第五,HashMap和Hashtable的區(qū)別。

都屬于Map接口的類,實現(xiàn)了將惟一鍵映射到特定的值上。HashMap 類沒有分類或者排序。它允許一個 null 鍵和多個 null 值。

Hashtable 類似于 HashMap,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因為它是同步的。

第六,Collection 和 Collections的區(qū)別。

Collections是個java.util下的類,它包含有各種有關(guān)集合操作的靜態(tài)方法。

Collection是個java.util下的接口,它是各種集合結(jié)構(gòu)的父接口。

第七,什么時候用assert。

斷言是一個包含布爾表達(dá)式的語句,在執(zhí)行這個語句時假定該表達(dá)式為 true。如果表達(dá)式計算為 false,那么系統(tǒng)會報告一個 AssertionError。它用于調(diào)試目的:

assert(a > 0);// throws an AssertionError if a <= 0 斷言可以有兩種形式:

assert Expression1;

assert Expression1 : Expression2;Expression1 應(yīng)該總是產(chǎn)生一個布爾值。

Expression2 可以是得出一個值的任意表達(dá)式。這個值用于生成顯示更多調(diào)試信息的 String 消息。

斷言在默認(rèn)情況下是禁用的。要在編譯時啟用斷言,需要使用 source 1.4 標(biāo)記: javac-source 1.4 Test.java

要在運(yùn)行時啟用斷言,可使用-enableassertions 或者-ea 標(biāo)記。

要在運(yùn)行時選擇禁用斷言,可使用-da 或者-disableassertions 標(biāo)記。

要系統(tǒng)類中啟用斷言,可使用-esa 或者-dsa 標(biāo)記。還可以在包的基礎(chǔ)上啟用或者禁用斷言。

可以在預(yù)計正常情況下不會到達(dá)的任何位置上放置斷言。斷言可以用于驗證傳遞給私有方法的參數(shù)。不過,斷言不應(yīng)該用于驗證傳遞給公有方法的參數(shù),因為不管是否啟用了斷言,公有方法都必須檢查其參數(shù)。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試后置條件。另外,斷言不應(yīng)該以任何方式改變程序的狀態(tài)。

第八,GC是什么? 為什么要有GC?(基礎(chǔ))。

GC是垃圾收集器。Java 程序員不用擔(dān)心內(nèi)存管理,因為垃圾收集器會自動進(jìn)行管理。要請求垃圾收集,可以調(diào)用下面的方法之一:

System.gc()

Runtime.getRuntime().gc()

第九,String s = new String(”xyz“);創(chuàng)建了幾個String Object?

兩個對象,一個是”xyx“,一個是指向”xyx“的引用對象s。

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;

第十一,short s1 = 1;s1 = s1 + 1;有什么錯? short s1 = 1;s1 += 1;有什么錯?

short s1 = 1;s1 = s1 + 1;有錯,s1是short型,s1+1是int型,不能顯式轉(zhuǎn)化為short型。可修改為s1 =(short)(s1 + 1)。short s1 = 1;s1 += 1正確。

第十二,sleep()和 wait()有什么區(qū)別? 搞線程的最愛

sleep()方法是使線程停止一段時間的方法。在sleep 時間間隔期滿后,線程不一定立即恢復(fù)執(zhí)行。這是因為在那個時刻,其它線程可能正在運(yùn)行而且沒有被調(diào)度為放棄執(zhí)行,除非(a)”醒來“的線程具有更高的優(yōu)先級(b)正在運(yùn)行的線程因為其它原因而阻塞。

wait()是線程交互時,如果線程對一個同步對象x 發(fā)出一個wait()調(diào)用,該線程會暫停執(zhí)行,被調(diào)對象進(jìn)入等待狀態(tài),直到被喚醒或等待時間到。

第十三,Java有沒有g(shù)oto?

Goto?java中的保留字,現(xiàn)在沒有在java中使用。

第十四,數(shù)組有沒有l(wèi)ength()這個方法? String有沒有l(wèi)ength()這個方法? 數(shù)組沒有l(wèi)ength()這個方法,有l(wèi)ength的屬性。String有l(wèi)ength()這個方法。

第十五,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?

方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫(Overriding)。子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而言,父類中的定義如同被”屏蔽“了。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

第十六,Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?

Set里的元素是不能重復(fù)的,那么用iterator()方法來區(qū)分重復(fù)與否。equals()是判讀兩個Set是否相等。

equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當(dāng)兩個分離的對象的內(nèi)容和類型相配的話,返回真值。第十七,給我一個你最常見到的runtime exception。

ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

第十八,error和exception有什么區(qū)別?

error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。

exception 表示一種設(shè)計或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運(yùn)行正常,從不會發(fā)生的情況。

第十九,List, Set, Map是否繼承自Collection接口? List,Set是

Map不是

第二十,abstract class和interface有什么區(qū)別?

聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類(abstract class),它用于要創(chuàng)建一個體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實例。然而可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現(xiàn),否則它們也是抽象類為。取而代之,在子類中實現(xiàn)該方法。知道其行為的其它類可以在類中實現(xiàn)這些方法。

接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義static final成員變量。接口的實現(xiàn)與子類相似,除了該實現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實現(xiàn)特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof 運(yùn)算符可以用來決定某對象的類是否實現(xiàn)了接口。

第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized? 都不能

第二十二,接口是否可繼承接口? 抽象類是否可實現(xiàn)(implements)接口? 抽象類是否可繼承實體類(concrete class)?

接口可以繼承接口。抽象類可以實現(xiàn)(implements)接口,抽象類是否可繼承實體類,但前提是實體類必須有明確的構(gòu)造函數(shù)。

第二十三,啟動一個線程是用run()還是start()?

啟動一個線程是調(diào)用start()方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著線程就會立即運(yùn)行。run()方法可以產(chǎn)生必須退出的標(biāo)志來停止一個線程。

第二十四,構(gòu)造器Constructor是否可被override?

構(gòu)造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。

第二十五,是否可以繼承String類? String類是final類故不可以繼承。

第二十六,當(dāng)一個線程進(jìn)入一個對象的一個synchronized方法后,其它線程是否可進(jìn)入此對象的其它方法?

不能,一個對象的一個synchronized方法只能由一個線程訪問。

第二十七,try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后? 會執(zhí)行,在return前執(zhí)行。

第二十八,編程題: 用最有效率的方法算出2乘以8等於幾? 有C背景的程序員特別喜歡問這種問題。<< 3

第二十九,兩個對象值相同(x.equals(y)== true),但卻可有不同的hash code,這句話對不對? 不對,有相同的hash code。

第三十,當(dāng)一個對象被當(dāng)作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?

是值傳遞。Java 編程語言只由值傳遞參數(shù)。當(dāng)一個對象實例作為一個參數(shù)被傳遞到方法中時,參數(shù)的值就是對該對象的引用。對象的內(nèi)容可以在被調(diào)用的方法中改變,但對象的引用是永遠(yuǎn)不會改變的。

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch(expr1)中,expr1是一個整數(shù)表達(dá)式。因此傳遞給 switch 和 case 語句的參數(shù)應(yīng)該是 int、short、char 或者 byte。long,string 都不能作用于swtich。

第三十二,編程題: 寫一個Singleton出來。

Singleton模式主要作用是保證在Java應(yīng)用程序中,一個類Class只有一個實例存在。

一般Singleton模式通常有幾種種形式:

第一種形式: 定義一個類,它的構(gòu)造函數(shù)為private的,它有一個static的private的該類變量,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調(diào)用其中的方法。public class Singleton {

private Singleton(){}

//在自己內(nèi)部定義自己一個實例,是不是很奇怪?

//注意這是private 只供內(nèi)部調(diào)用

private static Singleton instance = new Singleton();

//這里提供了一個供外部訪問本class的靜態(tài)方法,可以直接訪問

public static Singleton getInstance(){

return instance;

} }

第二種形式:

public class Singleton {

private static Singleton instance = null;

public static synchronized Singleton getInstance(){

//這個方法比上面有所改進(jìn),不用每次都進(jìn)行生成對象,只是第一次

//使用時生成實例,提高了效率!

if(instance==null)

instance=new Singleton();return instance;

} }

其他形式:

定義一個類,它的構(gòu)造函數(shù)為private的,所有方法為static的。一般認(rèn)為第一種形式要更加安全些

第三十三 Hashtable和HashMap

Hashtable繼承自Dictionary類,而HashMap是Java1.2引進(jìn)的Map interface的一個實現(xiàn)

HashMap允許將null作為一個entry的key或者value,而Hashtable不允許

還有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在

多個線程訪問Hashtable時,不需要自己為它的方法實現(xiàn)同步,而HashMap

就必須為之提供外同步。

Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會有很大的差異。

1:abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?

2:當(dāng)一個對象被當(dāng)作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的

結(jié)果,那么這里到底是值傳遞還是引用傳遞?

3:Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們 有何區(qū)別?

4:構(gòu)造器Constructor是否可被override?

5:當(dāng)一個線程進(jìn)入一個對象的一個synchronized方法后,其它線程是否可進(jìn)入此對象的其它方法?

6:兩個對象值相同(x.equals(y)== true),但卻可有不同的hash code,這句話對不對

關(guān)于參數(shù)傳遞:

其實JAVA里對參數(shù)的傳遞在國際上都是一直有爭論的。包括《Think in java》里都提到了,Bruce Eckel 也沒給出定論。我覺得這很大程度上是由于規(guī)范不嚴(yán)格造成的。因為大家都知道參數(shù)傳遞的本質(zhì)是什么,但描述方式不一樣,以致造成答案不一致。

現(xiàn)給一些參考:

第一,JAVA 里的參數(shù)傳遞只有值傳遞,沒有所謂的引用傳遞。(說白了,是因為大家的說法 不統(tǒng)一)

第二,引用一個強(qiáng)人的觀點 jamesfancy()邊城狂人(James Fancy):

”1.首先明白參數(shù)的傳遞實質(zhì)是壓棧和出棧的過程。即在調(diào)用一個方法(或說子程序)之前,先將需要傳入的參數(shù)壓棧,然后執(zhí)行代碼的指針跳轉(zhuǎn)到方法的起始位置,進(jìn)行出棧操作,原來壓入棧中的參數(shù)取出置入方法中的局部變量(這里即參數(shù)變量)。

2.對于基本類型,傳遞的參數(shù)都是對原變量值的拷貝。每一個基本類型的數(shù)據(jù)都是以字節(jié)形式保存在內(nèi)存中的(如整型是4個字節(jié),長整型是8個字節(jié)等),壓棧時會將內(nèi)存中的變量值按字節(jié)存入棧中,而原變量的值(即保存在原位置的內(nèi)容)并不改變??內(nèi)存中的數(shù)據(jù)是保存在堆中的,參數(shù)是保存在棧中的,總不可能把內(nèi)存塊搬過來是吧......所以一定是拷貝的!

3.先搞明白引用的實質(zhì)。當(dāng)一個對象創(chuàng)建后,它的內(nèi)容(N個字節(jié))被保存在內(nèi)存中。它的位置,即一個地址址,被返回,保存在一個引用變量中??所以實際上一個引用變量保存的只是某個類的地址,而引用的類型,并不會改變引用變量的大小,它只是說明一個對象的數(shù)據(jù)大小。這樣,就可以從引用變量找到對象的起始地址,再通過類型,獲取對象數(shù)據(jù)。而通過引用調(diào)用的方法,屬性這些東西,就是通過在這塊內(nèi)存地址中的位置偏移來尋址的。(當(dāng)然,實際的操作會比我說的復(fù)雜得多,因為還涉及向上向下傳型等問題)

4.引用參數(shù)的傳遞,實際上就是傳遞的引用變量的值,這和傳遞基本類型的值原理是一樣的。但由于引用變量其值的特殊性(只是一個地址,這個地址上保存的才是對象的實際數(shù)據(jù)),所以,引用變量的值傳入?yún)?shù)變量后,通過參數(shù)變量對對象的修改(在實際地址上的操作)自然就會影響到同一個對象。??這里,外面的引用變量和參數(shù)變量,本身是不同的,但是它們的值相同,都是對象的地址。

第四篇:java程序員面試題

1、你怎樣理解Struts,又那些配置文件,以及作用? 理解:http://ruixin.iteye.com/blog/899289 配置文件:struts.xml 作用:struts 框架mvc 實現(xiàn)低耦合,便于程序的維護(hù)~ 配置文件控制流程的轉(zhuǎn)向 很清晰~ 主要負(fù)責(zé)具體業(yè)務(wù)的實現(xiàn)和頁面的轉(zhuǎn)向~

2、怎么樣來捕獲數(shù)據(jù)庫中的異常?

3、如何處理網(wǎng)頁中的驗證信息,如何友好的進(jìn)行處理?

4、用javaScript實現(xiàn)java中的監(jiān)聽器功能?

5、你對對日外包的看法?

6、數(shù)據(jù)庫連接方式由哪幾種?

Jdbc、連接池、hibernate

7、你清楚哪幾種設(shè)計模式,談?wù)劯鞣N設(shè)計模式的類結(jié)構(gòu)。

8、談?wù)刯sp和sevlet的區(qū)別,以及它們性能上的區(qū)別。

jsp是servlet的一種簡化,jsp編譯后是“類servlet”。servlet 主要是用來處理業(yè)務(wù)層;

jsp 則是主要負(fù)責(zé) 表現(xiàn)層。

servlet完全是java程序代碼構(gòu)成,擅長于流程控制和事務(wù)處理,而通過servlet來生成動態(tài)網(wǎng)頁很不直觀; 對于靜態(tài)的html標(biāo)簽,servlet都必須使用頁面輸出流逐行輸出。Servlet中沒有內(nèi)置對象。Jsp由html代碼和jsp標(biāo)簽構(gòu)成可以方便地編寫動態(tài)網(wǎng)頁,在struts框架中,jsp位于MVC設(shè)計模式的視圖層,而servlet位于控制層。

總之,使用jsp只需要完成程序員需要輸出到客戶端的內(nèi)容,至于jsp中的java腳本如果鑲嵌到一個類中,由jsp容器完成,而servlet則是個完整的java類,這個類的service方法用于生成對客戶端的響應(yīng)

9、如何來編寫存儲過程,如何優(yōu)化存儲過程,以及存儲過程和TSQL的區(qū)別。

10、提供的培訓(xùn),CMM-5軟件開發(fā)流程培訓(xùn)、代碼編寫規(guī)范和業(yè)務(wù)流程培訓(xùn)、對日語的培訓(xùn)。

1、為什么要選擇這個行業(yè),和計算機(jī)專業(yè)的相比有什么優(yōu)勢?

2、Servlet是什么,以及生命周期?

Servlet被服務(wù)器實例化后,容器運(yùn)行其init方法,請求到達(dá)時運(yùn)行其service方法,service方法自動派遣運(yùn)行與請求對應(yīng)的doXXX方法(doGet,doPost)等,當(dāng)服務(wù)器決定將實例銷毀的時候調(diào)用其destroy方法。

與cgi的區(qū)別在于servlet處于服務(wù)器進(jìn)程中,它通過多線程方式運(yùn)行其service方法,一個實例可以服務(wù)于多個請求,并且其實例一般不會銷毀,而CGI對每個請求都產(chǎn)生新的進(jìn)程,服務(wù)完成后就銷毀,所以效率上低于servlet。

3、怎么理解事務(wù)?

4、怎么理解MVC?

自己做自己的事情,主要強(qiáng)調(diào)分層,5、同時插入大量數(shù)據(jù),使用何種方法優(yōu)化?Batch

6、多個有關(guān)系得怎么樣操作?

7、你認(rèn)為你還有什么優(yōu)點在前面沒有提到?

8、對加班的看法?

9、與上級意見不一致時怎么樣處理?10、11、12、13、14、15、16、17、18、19、20、21、22、23、你如何理解團(tuán)隊精神?

你怎樣處理學(xué)習(xí)新技術(shù)和項目開發(fā)之間的矛盾? 怎樣去學(xué)習(xí)新技術(shù)?

作為一個初級程序員怎么樣彌補(bǔ)與有經(jīng)驗程序員之間的差距? 你對索引的理解,索引有幾種,什么時候用索引? 對Oracle理解?

怎樣優(yōu)化復(fù)雜的查詢語句? 你對Jdbc理解?

對Finally塊的理解和應(yīng)用? 游標(biāo)的理解? ResultSet 重載,重寫? 簽名

EJB的事務(wù),Hibernate的事務(wù)? Struts的標(biāo)簽? 重定向和跳轉(zhuǎn)? A、:效率高,速度快

a.地址欄不改變跳轉(zhuǎn)——服務(wù)器端跳轉(zhuǎn),服務(wù)器之間內(nèi)部轉(zhuǎn),相同的request,可傳參;

b.執(zhí)行到跳轉(zhuǎn)語句后無條件立刻跳轉(zhuǎn)——之后的代碼不再被執(zhí)行;

注意:如果使用forward跳轉(zhuǎn),則一定要在跳轉(zhuǎn)之前釋放掉全部的資源;

c.使用forward時,request設(shè)置的屬性依然能保留在下一個頁面(setAttribute);d.通過傳遞參數(shù)。

e.地址中的”/”代表是:http://localhost:8080/Test B、response.sendRedirect(“地址”):效率低,速度慢

a.地址欄改變跳轉(zhuǎn)——客戶端跳轉(zhuǎn)(其中地址可以是任意的)

b.所有代碼執(zhí)行完畢之后再跳轉(zhuǎn),跳轉(zhuǎn)語句后面的代碼還是會執(zhí)行,除非在其后面加上return(return)需復(fù)雜一些。

<% Response.sendRedirect(“aa.jsp”);boolean b = true;

if(b){ Return;} System.out.println(“aaaaaaaaaa”);%>

c.不能保存request屬性——地址改變了,客戶端跳轉(zhuǎn),不同的request d.通過對URL地址的重寫傳遞參數(shù):

response.sendRedirect(“responseDemo04.jsp?id=mldn”);

e.地址中的”/”代表是:http://localhost:8080/

下面是兩種比較重要的跳轉(zhuǎn),我還是與上次的一次,把我做的筆記貼出來:24、25、Hibernate的左聯(lián)結(jié)和右連接,緩存,數(shù)據(jù)加載? 面向?qū)ο笕绾卫斫?

26、EJB中CMP和BMP,SessionBean的機(jī)制?27、28、29、對日外包是否有抵觸情緒? 如何減少Servlet的請求? 對設(shè)計模式了解多少?作過的項目中用過那些設(shè)計模式? 30、31、32、33、34、35、36、37、38、39、40、41、42、43、44、45、怎樣看待團(tuán)隊合作,在團(tuán)隊合作中你扮演什么樣的角色,遇到技術(shù)難題時怎么解決? Exception的層次結(jié)構(gòu)? EJB對數(shù)據(jù)庫的訪問機(jī)制? Struts中是否有事務(wù)處理? Hibernate的其它功能(除了ORM)? 如何提高數(shù)據(jù)庫中的數(shù)據(jù)查詢效率? 作為項目經(jīng)理如何對組內(nèi)成員分工? 描述一下你做過項目的流程。

加班到12點,突然有人來問你技術(shù)上的難題,你會如何處理? Oracle的冷備份、熱備份 Strurs中怎樣實現(xiàn) Hibernate怎樣實現(xiàn)ORM Spring 的事務(wù)處理機(jī)制

Strurs的驗證方式,Javascript的驗證的方式

一個是服務(wù)器端驗證,一個是客戶端驗證

Struts的工作機(jī)制 Delete/trancate的區(qū)別

trancate與delete都是刪除數(shù)據(jù),不同的是trancate是將表的所有數(shù)據(jù)都刪除,而delete可以有選擇地刪除數(shù)據(jù); delete刪除數(shù)據(jù)是記錄在日志中的,可以通過其將數(shù)據(jù)恢復(fù),而trancate則是將整個表截斷,其操作是不記錄在日志里的。46、47、48、作為項目組長,你遇到的最大問題是什么?如何解決?

Ajax/內(nèi)嵌框架實現(xiàn)局部刷新,有什么差別?

Exception/Error的區(qū)別,在什么情況下可以拋出RuntimeException 父類不同

知道異常和錯誤最本質(zhì)的區(qū)別就是異常能被開發(fā)人員處理而錯誤時系統(tǒng)本來自帶的,一般無法處理也不需要我們程序員來處理。

在程序運(yùn)行時候出錯而又不是系統(tǒng)原因差生的,一般是由于程序原因產(chǎn)生,比如程序?qū)懙牟粔驀?yán)謹(jǐn)、完善

典型的RuntimeException

ArithmeticException、ClassCastException、IndexOutOfBoundsException、NullPointerException、UnsupportedOperationException 等.49、50、51、52、53、54、55、56、57、58、59、Orcale 物化視圖(MV)

業(yè)務(wù)處理模塊中,是如何處理事務(wù)? Sql語句如何優(yōu)化 數(shù)據(jù)庫右連接

JDBC的連接關(guān)閉在哪?

Finally語句塊內(nèi)

錯誤處理模塊是放在哪個層的。接口能否繼承接口。

接口可以繼承接口..但是要使用extends~而不是用implements 抽象類能否繼承實體類。

抽象類是可以繼承實體類,但前提是實體類必須有明確的構(gòu)造函數(shù) 答案很明確,可以繼承。

項目中查詢時怎么樣實現(xiàn)的?

作為項目負(fù)責(zé)人你是管理這個團(tuán)隊的?

在你做項目過程中遇到些什么問題,是怎么樣解決的?

Jquery中的幾種選擇器:

Javascript如何進(jìn)行數(shù)字和字符串之間的轉(zhuǎn)換?

數(shù)字類型轉(zhuǎn)換成String類型用 對象=對象.toString()方法,字符串轉(zhuǎn)換成數(shù)字類型則是對象=Number(對象);

第五篇:PHP程序員面試題

北京融入網(wǎng)絡(luò)科技有限公司

PHP工程師面試題

1、請寫一個實現(xiàn)中文字串截取無亂碼的方法。(超出部分用’…..’替換)。

2、ThinkPHP框架中,下列定義有什么不同?

$userModel = M(“User”);

$userMode l= D(“User”);

3、如果讓你模擬登陸微信公眾平臺并設(shè)置微信的開發(fā)模式中的URL和Token,你會如何去做?(思路或代碼皆可)。

4、談?wù)剬δ銓HP的認(rèn)識或你擅長的技術(shù)。

5、假設(shè)有一個博客系統(tǒng),數(shù)據(jù)庫存儲采用mysql,用戶數(shù)量為1000萬,預(yù)計文章總數(shù)為10億,每天有至少10萬的更新量,每天訪問量為5000萬,對數(shù)據(jù)庫的讀寫操作的比例超過10:1,你如何設(shè)計該系統(tǒng),以確保其系統(tǒng)高效,穩(wěn)定的運(yùn)行?

提示:可以從數(shù)據(jù)庫設(shè)計,系統(tǒng)框架,及網(wǎng)絡(luò)架構(gòu)方面進(jìn)行描述,可以自由發(fā)揮。

6、你經(jīng)常去那些網(wǎng)站?有沒有自己的博客或git 開源項目。

/ 1

下載程序員面試題word格式文檔
下載程序員面試題.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    java程序員面試題

    姓名: 年齡: 工作年限: 1.int和Integer有什么區(qū)別?2.抽象類(abstract class)和接口(interface)有什么異同?3.List、Set、Map的區(qū)別?4.Spring支持的ORM有哪些,哪些是你用過的?5.使用Spri......

    Java程序員面試題

    Java程序員面試題 1、面向?qū)ο蟮奶卣饔心男┓矫? 答:面向?qū)ο蟮奶卣髦饕幸韵聨讉€方面:1)抽象2)繼承3)封裝4)多態(tài)性 2、作用域public,private,protected,以及不寫時的區(qū)別 答......

    Java程序員面試題

    北京千渡網(wǎng)訊科技有限公司博寶藝術(shù)網(wǎng)http:// Java程序員面試題 1. 下列程序段執(zhí)行后,t5的結(jié)果是_____. int t1=5,t2=6,t3=7,t4,t5; t4 = t1 6)x = sb.indexOf("b"); sb.delet......

    PHP程序員面試題

    PHP程序員面試題 一、選擇題1、下列不屬于PHP的開始結(jié)束標(biāo)記的是:( ) A、 B、 C、 D、2、下列程序的輸出結(jié)果為( ) A、456 B、123 C、124 D、會報錯4、下列代碼的輸出結(jié)果為( ) A......

    java程序員面試題(綜合)

    Java人員測試題(請用答題紙?zhí)顚? 第一部分 前臺編程 JavaScript Ajax等 (15分) 1. 腳本寫在和中有什么區(qū)別?(5分) 2.請用html和javascript簡要實現(xiàn)以下功能:頁面中放置一個“......

    c#高級程序員面試題

    1. 簡要說一下.Net的編譯過程. 2.ASP.NET與ASP的區(qū)別 3.談一下ASP.NET頁面生命周期 4.ASP.NET程序的運(yùn)行機(jī)制。可以從一個頁面的請求到返回的角度談 5.Javascript中類庫的制......

    JAVA程序員面試題5

    JAVA程序員面試題 2008-06-12 10:43 1. JSP和Servlet有哪些相同點和不同點,他們之間的聯(lián)系是什么?JSP是Servlet技術(shù)的擴(kuò)展,本質(zhì)上是Servlet的簡易方式,更強(qiáng)調(diào)應(yīng)用的外表表達(dá)......

    JAVA程序員面試題7

    JAVA程序員面試題(7) 2008-06-12 10:44 1. 排序都有哪幾種方法?請列舉。用JAVA實現(xiàn)一個快速排序。排序的方法有:插入排序(直接插入排序、希爾排序),交換排序(冒泡排序、快速排序),選......

主站蜘蛛池模板: 欧美粗大| 国产色婷婷亚洲99精品| 美女露内裤扒开腿让男人桶无遮挡| 欧美亚洲色倩在线观看| 伊人色综合视频一区二区三区| 1000部啪啪未满十八勿入下载| 欧洲日本一线二线三线区本庄铃| 亚洲中文字幕无码日韩精品| 色综合色天天久久婷婷基地| 黄色视频免费看| 人人爽人人澡人人人妻| 欧洲精品码一区二区三区| 国产香蕉视频在线播放| 久久99精品国产免费观观| 国产在线一区二区三区av| 欧美在线人视频在线观看| 婷婷中文字幕综合在线| 国产精品国三级国产av| 精品一区二区三区自拍图片区| 中国xxx农村性视频| 亚洲日本va午夜中文字幕一区| 久久亚洲精品日韩高清| 久久免费精品国产72精品九九| 亚洲乱色熟女一区二区三区丝袜| 精品一区二区三区无码视频| 在线无码中文字幕一区| 欧美亚洲另类 丝袜综合网| 先锋影音人妻啪啪va资源网站| 亚洲日韩精品射精日| 国产精品色婷婷亚洲综合看片| 亚洲精品无码成人a片在| 92久久精品一区二区| 亚洲色欧美在线影院| 超碰97人人做人人爱亚洲尤物| 国产成人精品福利一区二区| 国产一区二区三区小说| 337p人体 欧洲人体 亚洲| 国产精品久久久| 天堂av无码av一区二区三区| 制服丝袜人妻中文字幕在线| 国产白袜脚足j棉袜在线观看|