第一篇:程序員相關(guān)面試題
面試題匯總
1、請(qǐng)進(jìn)行自我介紹
2、你的外語(yǔ)水平如何
3、請(qǐng)描述自己的優(yōu)缺點(diǎn),并給出例子
4、請(qǐng)問(wèn)你的最好成績(jī)排名如何
5、給出一個(gè)我錄取你的理由
6、請(qǐng)對(duì)比大學(xué)課程和TTC課程的優(yōu)劣
7、請(qǐng)說(shuō)明你在TTC的收獲
8、給出項(xiàng)目經(jīng)歷,是自己做的設(shè)計(jì)嗎?
9、有兩張表,一張保存成績(jī),一張保存學(xué)員信息寫(xiě)出一下問(wèn)題的SQL語(yǔ)句 a)建表
b)添加約束
c)查詢?nèi)闭n學(xué)生名單
d)按照學(xué)生平均分排序
10、解釋一下事務(wù)的概念
1.自我介紹
2.有什么興趣愛(ài)好
3.是否通過(guò)英語(yǔ)四級(jí)、分?jǐn)?shù)
4.學(xué)院錄取分?jǐn)?shù)線
5.成績(jī)排名
6.是否有考研的想法
7.大學(xué)期間擔(dān)任過(guò)什么職務(wù)
8.上學(xué)期間學(xué)過(guò)什么跟軟件相關(guān)的課程
9.都做過(guò)什么項(xiàng)目、或者課程設(shè)計(jì)
10.在項(xiàng)目小組里負(fù)責(zé)哪一部分
11.家鄉(xiāng)在哪里
12.如果某某地有東軟的分公司是否愿意去(陷阱問(wèn)題,主要看南方生源在北方工作 的意愿)
13.是否能夠出差、加班
14.對(duì)東軟的認(rèn)識(shí)
15.對(duì)軟件行業(yè)的認(rèn)識(shí)
16.C和C++的區(qū)別,更喜歡哪種語(yǔ)言
軟開(kāi)面試題:
1、Int如何轉(zhuǎn)化成String類型,相反如何轉(zhuǎn)化
2、繼承的好處
3、如何理解面向?qū)ο笳Z(yǔ)言
4、小數(shù)位多的時(shí)候用什么類型
5、Int占幾個(gè)字節(jié)、長(zhǎng)度
6、字符串如何連接
7、獨(dú)立做過(guò)什么項(xiàng)目
8、遇到什么問(wèn)題,如何解決的1.簡(jiǎn)單自我介紹
2.總結(jié)一下自己的優(yōu)缺點(diǎn)
3.Oracle中建表語(yǔ)法,事務(wù)相關(guān)特性
4.JDBC過(guò)程
5.在東軟實(shí)訓(xùn)中心有哪些收獲
6.對(duì)東軟是否認(rèn)可
1.學(xué)習(xí)中遇到的問(wèn)題如何解決?
2.遇到規(guī)定時(shí)間無(wú)法完成的任務(wù)時(shí)如何解決?
3.線程如何使用?線程的常用方法?wait和sleep的區(qū)別?
4.&與&&區(qū)別?
5.抽象類與接口的區(qū)別?
6.學(xué)校本專業(yè)多少人,你在學(xué)校排名是多少?
7.如何使用異常處理?
8.B/S C/S的區(qū)別?
9.文件讀寫(xiě)需要使用哪些類?你都讀寫(xiě)過(guò)什么文件?
10.什么是面向?qū)ο螅?/p>
11.二分查找的算法、冒泡排序?用語(yǔ)言描述或在紙上寫(xiě)
12.素?cái)?shù)之和1~100?
13.單例如何實(shí)現(xiàn)?
14.hashmap與hashtable的區(qū)別?、15.sql語(yǔ)句執(zhí)行的先后順序?
16.java都學(xué)過(guò)哪些課程和內(nèi)容(java體系結(jié)構(gòu))
17.xml的解析和編輯
18.JavaScript實(shí)現(xiàn)時(shí)鐘功能?
19.javaapi是否使用過(guò),如何查找某一個(gè)類的方法
20.JavaScript作用?JavaScript調(diào)試?
21.左外連接和右外連接的語(yǔ)句、視圖和索引的使用
22.分組使用什么語(yǔ)句
23.request的作用?
24.楊輝三角形編寫(xiě)
25.get和post區(qū)別?
26.2個(gè)畫(huà)面之間傳值
27.重載和重寫(xiě)的區(qū)別
28.連接數(shù)據(jù)庫(kù)的步驟
29.什么時(shí)候使用static
30.Final修飾類的作用
31.什么時(shí)候會(huì)創(chuàng)建內(nèi)部類
政府事業(yè)部:
所用技術(shù):java,pb,oracle
做實(shí)施oracle是重點(diǎn)
問(wèn)題:
1. 所學(xué)專業(yè)課以及在年級(jí)中排名;
2. 4,6級(jí)分?jǐn)?shù);
3. 期望的工作地點(diǎn)以及是否能夠出差;
4. 特長(zhǎng)和愛(ài)好;
5. 溝通能力;
6. 做過(guò)的項(xiàng)目;
7. 使用過(guò)以及最熟的開(kāi)發(fā)語(yǔ)言和工具;
8. Oracle問(wèn)題:有A,B兩個(gè)表,A表有id和姓名,工資,B表有Id和工資,寫(xiě)一個(gè)
SQL語(yǔ)句用B表的工資更新A表工資;
9. 模擬場(chǎng)景:如果你是項(xiàng)目負(fù)責(zé)人,在客戶現(xiàn)場(chǎng)發(fā)現(xiàn)產(chǎn)品的一個(gè)重大問(wèn)題,客戶要求
在3天內(nèi)解決,而項(xiàng)目組評(píng)估需要2個(gè)星期才能徹底解決,你作為項(xiàng)目負(fù)責(zé)人應(yīng)該怎么做。
309政府面試題:
1. 自我介紹
2. 在大學(xué)里的成績(jī)排名,是否過(guò)英語(yǔ)四六級(jí),在校是否當(dāng)過(guò)干部?
3. 和周?chē)讼嗵幍脑趺礃樱?/p>
4. 自己的優(yōu)缺點(diǎn)及興趣愛(ài)好。
5. 什么事繼承、封裝、多態(tài)?
6. 說(shuō)說(shuō)java都有多少種數(shù)據(jù)類型?
7. 說(shuō)說(shuō)SSH架構(gòu)
8. 做過(guò)什么項(xiàng)目,簡(jiǎn)單說(shuō)說(shuō)怎么做的?在做項(xiàng)目中遇到過(guò)問(wèn)題么?如何解決的?
9. 數(shù)據(jù)庫(kù)學(xué)過(guò)什么,說(shuō)說(shuō)這些數(shù)據(jù)庫(kù)的區(qū)別。
10. 是否愿意做實(shí)施方面工作
11. 對(duì)東軟的認(rèn)識(shí)
12. 覺(jué)得實(shí)訓(xùn)中心怎么樣?來(lái)實(shí)訓(xùn)后有什么提高?
13. 能出差么?想去哪個(gè)城市工作?
14. 還有什么想問(wèn)面試官的么?
政府事業(yè)部所注重的能力:
1. 數(shù)據(jù)庫(kù)的增刪改查操作;
2. 硬件知識(shí),如服務(wù)器調(diào)優(yōu);
3. 與客戶溝通能力;
軟開(kāi)面試題:
1、針對(duì)做過(guò)的用戶管理系統(tǒng),請(qǐng)用2分鐘簡(jiǎn)單描述一下項(xiàng)目規(guī)模、功能、做的過(guò)程、使用的技術(shù)
2、在項(xiàng)目中,異常如何處理的?
3、在項(xiàng)目中,是否遇到什么問(wèn)題?又是如何處理的?
4、針對(duì)用戶管理系統(tǒng),數(shù)據(jù)庫(kù)表是如何設(shè)計(jì)的?
5、你認(rèn)為項(xiàng)目中,最復(fù)雜的是什么?
6、針對(duì)用戶管理系統(tǒng)的web實(shí)現(xiàn),如果在登錄時(shí),加一個(gè)驗(yàn)證碼,如何處理?
7、關(guān)于前臺(tái)的各個(gè)輸入域驗(yàn)證?如何進(jìn)行表單驗(yàn)證?
8、針對(duì)你做過(guò)的校園網(wǎng)站,是如何分析、設(shè)計(jì)的?各個(gè)階段都做了什么工作?各個(gè)階段所
用時(shí)間?針對(duì)于視頻點(diǎn)播,如果人數(shù)較多,如何解決性能問(wèn)題?
9、說(shuō)說(shuō)存儲(chǔ)過(guò)程?游標(biāo)?事務(wù)?事務(wù)的特性?union聯(lián)合、主鍵、聯(lián)合主鍵、索引?
10、Dml和ddl區(qū)別?什么時(shí)候使用右連接?
11、什么是封裝?使用自己的話說(shuō)一下,你封裝的理解?
12、什么是繼承?你對(duì)繼承的理解?
13、你對(duì)多態(tài)的理解?對(duì)抽象的理解?
14、對(duì)于java中的循環(huán)語(yǔ)句:for、while、do…while,分別在什么時(shí)候使用它們?
15、在網(wǎng)頁(yè)中,如何顯示距離倫敦奧運(yùn)會(huì)的倒計(jì)時(shí)?
16、在銀行系統(tǒng)中,關(guān)于金額的數(shù)據(jù)類型是什么?
17、數(shù)據(jù)庫(kù)的性能從何下手?
18、簡(jiǎn)單的自我介紹?為什么想來(lái)東軟?對(duì)其他企業(yè)有了解嗎?
19、在實(shí)訓(xùn)都培訓(xùn)哪些內(nèi)容了,簡(jiǎn)單說(shuō)明一下?
第二篇:程序員面試題
曙光集團(tuán)程序員面試題(答題時(shí)間1小時(shí))
基本概念測(cè)試題
1.如果在一個(gè)B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進(jìn)行處理?
2.請(qǐng)說(shuō)明覆蓋與重載的區(qū)別?
3.請(qǐng)說(shuō)明抽象類、類、接口有什么不同?
4.請(qǐng)說(shuō)明Java的錯(cuò)誤處理機(jī)制是什么?
5.請(qǐng)舉例說(shuō)明Java中有幾種參數(shù)傳遞模式?
6.請(qǐng)說(shuō)明Java中垃圾回收的機(jī)制。
7.請(qǐng)寫(xiě)出Java中的基本數(shù)據(jù)類型
基本能力測(cè)試題
8.請(qǐng)列出您所知道的設(shè)計(jì)模式的名稱并說(shuō)明在什么情況下使用該模式
9.請(qǐng)按照你的理解簡(jiǎn)要描述一下三層架構(gòu)
10.請(qǐng)說(shuō)明在交給測(cè)試部門(mén)前,如何對(duì)自己負(fù)責(zé)的模塊進(jìn)行測(cè)試?
綜合能力測(cè)試題
11.請(qǐng)用Java語(yǔ)言以最能夠體現(xiàn)你的編程水平的方式編寫(xiě)出對(duì)一張表中的記錄
進(jìn)行添加、修改、刪除、查詢操作的主要類和方法結(jié)構(gòu)(可以隨意建立一張表進(jìn)行編寫(xiě))
數(shù)據(jù)庫(kù)能力題
12.一大型企業(yè),有10000名員工,每半個(gè)月發(fā)一次工資,請(qǐng)寫(xiě)出你對(duì)此企業(yè)工資數(shù)
據(jù)庫(kù)的設(shè)計(jì)思路(數(shù)據(jù)庫(kù)為SQL server或者Oracle)
13.請(qǐng)?jiān)赟QL Server或者Oracle中設(shè)計(jì)表來(lái)保存一個(gè)樹(shù)狀結(jié)構(gòu)的組織結(jié)構(gòu)圖(假
設(shè)結(jié)構(gòu)圖中只有名稱這一項(xiàng)內(nèi)容需要保存),如果我想查詢某一職位下的所有職位,用一個(gè)存儲(chǔ)過(guò)程來(lái)實(shí)現(xiàn),你有什么思路?
第三篇:java程序員面試題
1、你怎樣理解Struts,又那些配置文件,以及作用? 理解:http://ruixin.iteye.com/blog/899289 配置文件:struts.xml 作用:struts 框架mvc 實(shí)現(xiàn)低耦合,便于程序的維護(hù)~ 配置文件控制流程的轉(zhuǎn)向 很清晰~ 主要負(fù)責(zé)具體業(yè)務(wù)的實(shí)現(xiàn)和頁(yè)面的轉(zhuǎn)向~
2、怎么樣來(lái)捕獲數(shù)據(jù)庫(kù)中的異常?
3、如何處理網(wǎng)頁(yè)中的驗(yàn)證信息,如何友好的進(jìn)行處理?
4、用javaScript實(shí)現(xiàn)java中的監(jiān)聽(tīng)器功能?
5、你對(duì)對(duì)日外包的看法?
6、數(shù)據(jù)庫(kù)連接方式由哪幾種?
Jdbc、連接池、hibernate
7、你清楚哪幾種設(shè)計(jì)模式,談?wù)劯鞣N設(shè)計(jì)模式的類結(jié)構(gòu)。
8、談?wù)刯sp和sevlet的區(qū)別,以及它們性能上的區(qū)別。
jsp是servlet的一種簡(jiǎn)化,jsp編譯后是“類servlet”。servlet 主要是用來(lái)處理業(yè)務(wù)層;
jsp 則是主要負(fù)責(zé) 表現(xiàn)層。
servlet完全是java程序代碼構(gòu)成,擅長(zhǎng)于流程控制和事務(wù)處理,而通過(guò)servlet來(lái)生成動(dòng)態(tài)網(wǎng)頁(yè)很不直觀; 對(duì)于靜態(tài)的html標(biāo)簽,servlet都必須使用頁(yè)面輸出流逐行輸出。Servlet中沒(méi)有內(nèi)置對(duì)象。Jsp由html代碼和jsp標(biāo)簽構(gòu)成可以方便地編寫(xiě)動(dòng)態(tài)網(wǎng)頁(yè),在struts框架中,jsp位于MVC設(shè)計(jì)模式的視圖層,而servlet位于控制層。
總之,使用jsp只需要完成程序員需要輸出到客戶端的內(nèi)容,至于jsp中的java腳本如果鑲嵌到一個(gè)類中,由jsp容器完成,而servlet則是個(gè)完整的java類,這個(gè)類的service方法用于生成對(duì)客戶端的響應(yīng)
9、如何來(lái)編寫(xiě)存儲(chǔ)過(guò)程,如何優(yōu)化存儲(chǔ)過(guò)程,以及存儲(chǔ)過(guò)程和TSQL的區(qū)別。
10、提供的培訓(xùn),CMM-5軟件開(kāi)發(fā)流程培訓(xùn)、代碼編寫(xiě)規(guī)范和業(yè)務(wù)流程培訓(xùn)、對(duì)日語(yǔ)的培訓(xùn)。
1、為什么要選擇這個(gè)行業(yè),和計(jì)算機(jī)專業(yè)的相比有什么優(yōu)勢(shì)?
2、Servlet是什么,以及生命周期?
Servlet被服務(wù)器實(shí)例化后,容器運(yùn)行其init方法,請(qǐng)求到達(dá)時(shí)運(yùn)行其service方法,service方法自動(dòng)派遣運(yùn)行與請(qǐng)求對(duì)應(yīng)的doXXX方法(doGet,doPost)等,當(dāng)服務(wù)器決定將實(shí)例銷毀的時(shí)候調(diào)用其destroy方法。
與cgi的區(qū)別在于servlet處于服務(wù)器進(jìn)程中,它通過(guò)多線程方式運(yùn)行其service方法,一個(gè)實(shí)例可以服務(wù)于多個(gè)請(qǐng)求,并且其實(shí)例一般不會(huì)銷毀,而CGI對(duì)每個(gè)請(qǐng)求都產(chǎn)生新的進(jìn)程,服務(wù)完成后就銷毀,所以效率上低于servlet。
3、怎么理解事務(wù)?
4、怎么理解MVC?
自己做自己的事情,主要強(qiáng)調(diào)分層,5、同時(shí)插入大量數(shù)據(jù),使用何種方法優(yōu)化?Batch
6、多個(gè)有關(guān)系得怎么樣操作?
7、你認(rèn)為你還有什么優(yōu)點(diǎn)在前面沒(méi)有提到?
8、對(duì)加班的看法?
9、與上級(jí)意見(jiàn)不一致時(shí)怎么樣處理?10、11、12、13、14、15、16、17、18、19、20、21、22、23、你如何理解團(tuán)隊(duì)精神?
你怎樣處理學(xué)習(xí)新技術(shù)和項(xiàng)目開(kāi)發(fā)之間的矛盾? 怎樣去學(xué)習(xí)新技術(shù)?
作為一個(gè)初級(jí)程序員怎么樣彌補(bǔ)與有經(jīng)驗(yàn)程序員之間的差距? 你對(duì)索引的理解,索引有幾種,什么時(shí)候用索引? 對(duì)Oracle理解?
怎樣優(yōu)化復(fù)雜的查詢語(yǔ)句? 你對(duì)Jdbc理解?
對(duì)Finally塊的理解和應(yīng)用? 游標(biāo)的理解? ResultSet 重載,重寫(xiě)? 簽名
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)語(yǔ)句后無(wú)條件立刻跳轉(zhuǎn)——之后的代碼不再被執(zhí)行;
注意:如果使用forward跳轉(zhuǎn),則一定要在跳轉(zhuǎn)之前釋放掉全部的資源;
c.使用forward時(shí),request設(shè)置的屬性依然能保留在下一個(gè)頁(yè)面(setAttribute);d.通過(guò)
e.地址中的”/”代表是:http://localhost:8080/Test B、response.sendRedirect(“地址”):效率低,速度慢
a.地址欄改變跳轉(zhuǎn)——客戶端跳轉(zhuǎn)(其中地址可以是任意的)
b.所有代碼執(zhí)行完畢之后再跳轉(zhuǎn),跳轉(zhuǎn)語(yǔ)句后面的代碼還是會(huì)執(zhí)行,除非在其后面加上return(return)需復(fù)雜一些。
<% Response.sendRedirect(“aa.jsp”);boolean b = true;
if(b){ Return;} System.out.println(“aaaaaaaaaa”);%>
c.不能保存request屬性——地址改變了,客戶端跳轉(zhuǎn),不同的request d.通過(guò)對(duì)URL地址的重寫(xiě)傳遞參數(shù):
response.sendRedirect(“responseDemo04.jsp?id=mldn”);
e.地址中的”/”代表是:http://localhost:8080/
下面是兩種比較重要的跳轉(zhuǎn),我還是與上次的一次,把我做的筆記貼出來(lái):24、25、Hibernate的左聯(lián)結(jié)和右連接,緩存,數(shù)據(jù)加載? 面向?qū)ο笕绾卫斫?
26、EJB中CMP和BMP,SessionBean的機(jī)制?27、28、29、對(duì)日外包是否有抵觸情緒? 如何減少Servlet的請(qǐng)求? 對(duì)設(shè)計(jì)模式了解多少?作過(guò)的項(xiàng)目中用過(guò)那些設(shè)計(jì)模式? 30、31、32、33、34、35、36、37、38、39、40、41、42、43、44、45、怎樣看待團(tuán)隊(duì)合作,在團(tuán)隊(duì)合作中你扮演什么樣的角色,遇到技術(shù)難題時(shí)怎么解決? Exception的層次結(jié)構(gòu)? EJB對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)機(jī)制? Struts中是否有事務(wù)處理? Hibernate的其它功能(除了ORM)? 如何提高數(shù)據(jù)庫(kù)中的數(shù)據(jù)查詢效率? 作為項(xiàng)目經(jīng)理如何對(duì)組內(nèi)成員分工? 描述一下你做過(guò)項(xiàng)目的流程。
加班到12點(diǎn),突然有人來(lái)問(wèn)你技術(shù)上的難題,你會(huì)如何處理? Oracle的冷備份、熱備份 Strurs中怎樣實(shí)現(xiàn) Hibernate怎樣實(shí)現(xiàn)ORM Spring 的事務(wù)處理機(jī)制
Strurs的驗(yàn)證方式,Javascript的驗(yàn)證的方式
一個(gè)是服務(wù)器端驗(yàn)證,一個(gè)是客戶端驗(yàn)證
Struts的工作機(jī)制 Delete/trancate的區(qū)別
trancate與delete都是刪除數(shù)據(jù),不同的是trancate是將表的所有數(shù)據(jù)都刪除,而delete可以有選擇地刪除數(shù)據(jù); delete刪除數(shù)據(jù)是記錄在日志中的,可以通過(guò)其將數(shù)據(jù)恢復(fù),而trancate則是將整個(gè)表截?cái)?,其操作是不記錄在日志里的?6、47、48、作為項(xiàng)目組長(zhǎng),你遇到的最大問(wèn)題是什么?如何解決?
Ajax/內(nèi)嵌框架實(shí)現(xiàn)局部刷新,有什么差別?
Exception/Error的區(qū)別,在什么情況下可以拋出RuntimeException 父類不同
知道異常和錯(cuò)誤最本質(zhì)的區(qū)別就是異常能被開(kāi)發(fā)人員處理而錯(cuò)誤時(shí)系統(tǒng)本來(lái)自帶的,一般無(wú)法處理也不需要我們程序員來(lái)處理。
在程序運(yùn)行時(shí)候出錯(cuò)而又不是系統(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ǔ)句如何優(yōu)化 數(shù)據(jù)庫(kù)右連接
JDBC的連接關(guān)閉在哪?
Finally語(yǔ)句塊內(nèi)
錯(cuò)誤處理模塊是放在哪個(gè)層的。接口能否繼承接口。
接口可以繼承接口..但是要使用extends~而不是用implements 抽象類能否繼承實(shí)體類。
抽象類是可以繼承實(shí)體類,但前提是實(shí)體類必須有明確的構(gòu)造函數(shù) 答案很明確,可以繼承。
項(xiàng)目中查詢時(shí)怎么樣實(shí)現(xiàn)的?
作為項(xiàng)目負(fù)責(zé)人你是管理這個(gè)團(tuán)隊(duì)的?
在你做項(xiàng)目過(guò)程中遇到些什么問(wèn)題,是怎么樣解決的?
Jquery中的幾種選擇器:
Javascript如何進(jìn)行數(shù)字和字符串之間的轉(zhuǎn)換?
數(shù)字類型轉(zhuǎn)換成String類型用 對(duì)象=對(duì)象.toString()方法,字符串轉(zhuǎn)換成數(shù)字類型則是對(duì)象=Number(對(duì)象);
第四篇:PHP程序員面試題
北京融入網(wǎng)絡(luò)科技有限公司
PHP工程師面試題
1、請(qǐng)寫(xiě)一個(gè)實(shí)現(xiàn)中文字串截取無(wú)亂碼的方法。(超出部分用’…..’替換)。
2、ThinkPHP框架中,下列定義有什么不同?
$userModel = M(“User”);
$userMode l= D(“User”);
3、如果讓你模擬登陸微信公眾平臺(tái)并設(shè)置微信的開(kāi)發(fā)模式中的URL和Token,你會(huì)如何去做?(思路或代碼皆可)。
4、談?wù)剬?duì)你對(duì)PHP的認(rèn)識(shí)或你擅長(zhǎng)的技術(shù)。
5、假設(shè)有一個(gè)博客系統(tǒng),數(shù)據(jù)庫(kù)存儲(chǔ)采用mysql,用戶數(shù)量為1000萬(wàn),預(yù)計(jì)文章總數(shù)為10億,每天有至少10萬(wàn)的更新量,每天訪問(wèn)量為5000萬(wàn),對(duì)數(shù)據(jù)庫(kù)的讀寫(xiě)操作的比例超過(guò)10:1,你如何設(shè)計(jì)該系統(tǒng),以確保其系統(tǒng)高效,穩(wěn)定的運(yùn)行?
提示:可以從數(shù)據(jù)庫(kù)設(shè)計(jì),系統(tǒng)框架,及網(wǎng)絡(luò)架構(gòu)方面進(jìn)行描述,可以自由發(fā)揮。
6、你經(jīng)常去那些網(wǎng)站?有沒(méi)有自己的博客或git 開(kāi)源項(xiàng)目。
/ 1
第五篇:Java程序員面試題
Java程序員面試題
1、面向?qū)ο蟮奶卣饔心男┓矫? 答:面向?qū)ο蟮奶卣髦饕幸韵聨讉€(gè)方面:1)抽象2)繼承3)封裝4)多態(tài)性
2、作用域public,private,protected,以及不寫(xiě)時(shí)的區(qū)別 答:區(qū)別如下:
作用域 當(dāng)前類 同包 子類 其他 public √ √√ √ protected√√√ × default √√× × private √×××
類的成員不寫(xiě)訪問(wèn)修飾時(shí)默認(rèn)為default。默認(rèn)對(duì)于同一個(gè)包中的其他類相當(dāng)于公開(kāi)(public),對(duì)于不是同一個(gè)包中的其他類相當(dāng)于私有(private)。受保護(hù)(protected)對(duì)子類相當(dāng)于公開(kāi),對(duì)不是同一包中的沒(méi)有父子關(guān)系的類相當(dāng)于私有。
3、String 是最基本的數(shù)據(jù)類型嗎? 答:不是。Java中的基本數(shù)據(jù)類型只有8個(gè):byte、short、int、long、float、double、char、boolean;除了基本類型(primitive type)和枚舉類型(enumeration type),剩下的都是引用類型(reference type)。
4、float f=3.4;是否正確? 答:不正確。3.4是雙精度數(shù),將雙精度型(double)賦值給浮點(diǎn)型(float)屬于下轉(zhuǎn)型(down-casting,也稱為窄化)會(huì)造成精度損失,因此需要強(qiáng)制類型轉(zhuǎn)換float f =(float)3.4;或者寫(xiě)成float f =3.4F。
5、int 和Integer 有什么區(qū)別? 答:Java是一個(gè)近乎純潔的面向?qū)ο缶幊陶Z(yǔ)言,但是為了編程的方便還是引入不是對(duì)象的基本數(shù)據(jù)類型,但是為了能夠?qū)⑦@些基本數(shù)據(jù)類型當(dāng)成對(duì)象操作,Java為每一個(gè)基本數(shù)據(jù)類型都引入了對(duì)應(yīng)的包裝類型(wrapper class),int的封裝類就是Integer,從JDK 1.5開(kāi)始引入了自動(dòng)封箱/解封箱機(jī)制,使得二者可以相互轉(zhuǎn)換。
Java 為每個(gè)原始類型提供了封裝類:
原始類型: boolean,char,byte,short,int,long,float,double 封裝類型:Boolean,Character,Byte,Short,Integer,Long,F(xiàn)loat,Double
6、數(shù)組有沒(méi)有l(wèi)ength()方法?String 有沒(méi)有l(wèi)ength()方法?
答:數(shù)組沒(méi)有l(wèi)ength()方法,有l(wèi)ength 的屬性。String 有l(wèi)ength()方法。
7、在Java 中,如何跳出當(dāng)前的多重嵌套循環(huán)?
答:在最外層循環(huán)前加一個(gè)標(biāo)記如A,然后用break A;可以跳出多重循環(huán)。
8、是否可以繼承String 類? 答:String 類是final類,不可以被繼承。
9、當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞? 答:是值傳遞。Java 編程語(yǔ)言只有值傳遞參數(shù)。當(dāng)一個(gè)對(duì)象實(shí)例作為一個(gè)參數(shù)被傳遞到方法中時(shí),參數(shù)的值就是對(duì)該對(duì)象的引用。對(duì)象的屬性可以在被調(diào)用過(guò)程中被改變,但對(duì)象的引用是永遠(yuǎn)不會(huì)改變的。C++和C#中可以通過(guò)傳引用或傳輸出參數(shù)來(lái)改變傳入的參數(shù)的值
10、抽象類(abstract class)和接口(interface)有什么異同? 答:
抽象類和接口都不能夠?qū)嵗梢远x抽象類和接口類型的引用。
一個(gè)類如果繼承了某個(gè)抽象類或者實(shí)現(xiàn)了某個(gè)接口都需要對(duì)其中的抽象方法全部進(jìn)行實(shí)現(xiàn),否則該類仍然需要被聲明為抽象類。接口比抽象類更加抽象,因?yàn)槌橄箢愔锌梢远x構(gòu)造器,可以有抽象方法和具體方法,而接口中不能定義構(gòu)造器而且其中的方法全部都是抽象方法。
抽象類中的成員可以是private、默認(rèn)、protected、public的,而接口中的成員全都是public的。抽象類中可以定義成員變量,而接口中定義的成員變量實(shí)際上都是常量。有抽象方法的類必須被聲明為抽象類,而抽象類未必要有抽象方法。
11、靜態(tài)變量和實(shí)例變量的區(qū)別?
答:靜態(tài)變量也稱為類變量,屬于類,不屬于類的任何一個(gè)對(duì)象,一個(gè)類不管創(chuàng)建多少個(gè)對(duì)象,靜態(tài)變量在內(nèi)存中有且僅有一個(gè)拷貝;實(shí)例變量必須依存于某一實(shí)例,需要先創(chuàng)建對(duì)象然后通過(guò)對(duì)象才能訪問(wèn)到它。
12、String s=new String(“xyz”);創(chuàng)建了幾個(gè)字符串對(duì)象?
答:兩個(gè)對(duì)象,一個(gè)是靜態(tài)存儲(chǔ)區(qū)的“xyx”,一個(gè)是用new創(chuàng)建在堆上的對(duì)象
13、接口是否可繼承(extends)接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可繼承具體類(concrete class)? 答:接口可以繼承接口。抽象類可以實(shí)現(xiàn)(implements)接口,抽象類可繼承具體類,但前提是具體類必須有明確的構(gòu)造函數(shù)
14、Java 中的final關(guān)鍵字有哪些用法?
答:(1)修飾類:表示該類不能被繼承;(2)修飾方法:表示方法不能被重寫(xiě);(3)修飾變量:表示變量只能一次賦值以后值不能被修改(常量)
15、Error 和Exception 有什么區(qū)別? 答:Error 表示系統(tǒng)級(jí)的錯(cuò)誤和程序不必處理的異常,是恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問(wèn)題;比如內(nèi)存溢出,不可能指望程序能處理這樣的情況;Exception 表示需要捕捉或者需要程序進(jìn)行處理的異常,是一種設(shè)計(jì)或?qū)崿F(xiàn)問(wèn)題;也就是說(shuō),它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。
選擇題
1、在Java
Applet程序用戶自定義的Applet子類中,一般需要重載父類的(D)方法來(lái)完成一些畫(huà)圖操作。
A.start()
B.stop()
C.init()D.paint()
2、Java語(yǔ)言具有許多優(yōu)點(diǎn)和特點(diǎn),下列選項(xiàng)中,哪個(gè)反映了Java程序并行機(jī)制的特點(diǎn)?(B)
A)安全性
B)多線程
C)跨平臺(tái)
D)可移植
3、下列哪個(gè)類聲明是正確的?(D)
A)abstract final class HI{···} B)abstract private move(){···}C)protected private number;
D)public abstract class Car{···
4、在Java語(yǔ)言中,下列哪些語(yǔ)句關(guān)于內(nèi)存回收的說(shuō)明是正確的?(B)
A.程序員必須創(chuàng)建一個(gè)線程來(lái)釋放內(nèi)存;
B.內(nèi)存回收程序負(fù)責(zé)釋放無(wú)用內(nèi)存
C.內(nèi)存回收程序允許程序員直接釋放內(nèi)存
D.內(nèi)存回收程序可以在指定的時(shí)間釋放內(nèi)存對(duì)象
5、字符串是Java已定義的類型,關(guān)于它的構(gòu)造函數(shù),下面說(shuō)法不正確的是: B
A.String(char[] value, int offset, int count)
B.String(int[] codePoints,int offset,int count)
C.String(String original)
D.String(StringBuffer buffer)
6、下列說(shuō)法中正確的是: C
A.導(dǎo)入包會(huì)影響程序的性能 B.包存儲(chǔ)在類庫(kù)中
C.包是類的容器D.上述說(shuō)法都不對(duì)
7、哪個(gè)關(guān)鍵字可以對(duì)對(duì)象加互斥鎖? B
A.transient
B.synchronized
C.serialize
D.static8、下列敘述中,錯(cuò)誤的是: D
A、父類不能替代子類
B、子類能夠替代父類
C、子類繼承父類
D、父類包含子類
9、下列關(guān)于Java多線程并發(fā)控制機(jī)制的敘述中,錯(cuò)誤的是:BC
A、Java中對(duì)共享數(shù)據(jù)操作的并發(fā)控制是采用加鎖技術(shù)
B、線程之間的交互,提倡采用suspend()/resume()方法
C、共享數(shù)據(jù)的訪問(wèn)權(quán)限都必須定義為private
D、Java中沒(méi)有提供檢測(cè)與避免死鎖的專門(mén)機(jī)制,但應(yīng)用程序員可以采用某些策略防止死鎖的發(fā)生
10、下列哪一個(gè)方法不是applet程序的組成部分:D
A、init()
B、start()
C、stop()
D、new()
11、下列Applet類的方法中,在Applet的整個(gè)生命周期里至多只執(zhí)行一次的是:A
A、init()
B、start()C、stop()
D、paint()
12、啟動(dòng)一個(gè)線程所調(diào)用的方法是:C
A、run()
B、init()
C、start()
D、new()
13、編譯Java
Application 源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼文件的擴(kuò)展名為(B)。
A..java
B..class
C..html
D..exe
二、填空題(每空格1分,共20分)
1、開(kāi)發(fā)與運(yùn)行Java程序需要經(jīng)過(guò)的三個(gè)主要步驟為編輯源程序、編譯生成字節(jié)碼和解釋運(yùn)行字節(jié)碼。
2、如果一個(gè)Java
Applet源程序文件只定義有一個(gè)類,該類的類名MyApplet,則類MyApplet必須是Applet類的子類并且存儲(chǔ)該源程序文件的文件名為MyApplet。
3、若x=5,y=10,則x
4、抽象(abstract)方法方法是一種僅有方法頭,沒(méi)有具體方法體和操作實(shí)現(xiàn)的方法,該方法必須在抽象類之中定義。最終(final)方法方法是不能被當(dāng)前類的子類重新定義的方法。
5、在Java程序中,通過(guò)類的定義只能實(shí)現(xiàn)單重繼承,但通過(guò)接口的定義可以實(shí)現(xiàn)多重繼承關(guān)系。