導航:首頁 > 程序命令 > java程序員面試

java程序員面試

發布時間:2022-01-29 11:28:08

java程序員面試

項目開發的一般流程:
1.需求分析
a) 參考以前的成功項目
b) 實地考查
c) 向專家請教

然後產生需要分析文檔
2.概要設計
a) 分析文檔,對整個項目模塊進行劃分

根據需求分析說明書進行概要設計,為將來詳細設計提供文檔支持
總體設計 (設計理念/軟硬體環境/約束)
用例設計 (需求用例/系統框架)
介面與類設計 (分層設計/類圖)
出錯處理設計 (異常設計)
維護設計 (系統還原與備份)

概要設計說明書

3.詳細設計
a) 對概述設計中的模塊進行細化,使用數據結構和演算法進行描述
根據概要設計進行詳細設計,為將來程序員編碼提供文檔支持
模塊設計
模塊功能清單
IPO圖
模塊開發優先順序
界面設計
資料庫設計 (表/視圖/存儲過程/觸發器/約束)

詳細設計說明書

4.編碼和測試
a) 採用你所熟悉的編程語言(客戶要求)進行實現
b) 測試分類:單元測試(Junit),集成測試,系統上線

編碼與測試
根據詳細設計說明書進行編碼和測試
程序員/軟體開發工程師/高級軟體開發工程師

項目整合與聯合測試
項目子模塊之間的拼接
系統整體測試
測試計劃/測試報告
5.交互和維護

⑵ java程序員面試題

java異常機制的原理與應用
答:每當程序出現異常之後,如果程序沒有進行相應的處理,則程序會出現中斷現象。
實際上,產生了異常之後,JVM會拋出一個異常類的實例化對象,如果此時使用了try語句捕獲的話,則可以進行異常的處理,否則,交給JVM進行處理。當try語句捕獲異常之後,將與catch語句的異常類型進行匹配,如果匹配成功則執行catch內的語句。簡單的應用:在所以throws語句的地方加入try-catch。標准應用:try-catch-finally-throw-throws一起使用。
2. 垃圾回收機制的優點
答:釋放無用的對象所佔用的空間。方式:自動回收,手動回收。使用System.gc(),實際上調用Runtime.getRuntime().gc()
3. Error與Exception區別
答:Error是jvm進行處理,是jvm出錯
exception是可以由程序處理的,可以用try-catch捕獲的
4. final,finally,finallize
答:final定義的變數的值不能改變,定義的方法不能被覆蓋,定義的類不能被繼承
finally是異常的統一出口,finallize是垃圾回收前的收尾工作,是Object類定義的
5. Anonymous Inner Class是否可以extends,是否可以implements Interface
答:允許繼承和實現,因為匿名內部類就是在抽象類和介面的基礎上發展起來的
6. Static Nested Class 與Inner Class的區別
答:使用Static定義的Class就是外部類,可以通過外部類. 內部類直接訪問
而Inner Class是不能被外部訪問的,只能通過外部類的實例再找到內部類實例。
7. HashMap and HashTable?
答:HashMap:1) released in jdk 1.2,new Class 2)採用非同步處理方式,性能較高,是非線程安全的 3)允許null
HashTable:1)released in jdk 1.0 ,old Class 2)採用同步處理方式,性能低,是線程安全的3)不允許null
8. assert代表什麼?
答:asserts是jdk 1.4之後發布的新關鍵字,表示斷言,即程序執行到某個地方肯定是預計的值,一般開發很少使用。要使用assert,必須加上 -ea參數
9. gc是什麼?
答:gc是garbage collection,垃圾回收,使用gc可以進行垃圾空間的釋放
10. String s = new String("xyz")產生了幾個對象?
答:一個匿名對象xyz,在棧空間內。一個new實例化的對象,在堆空間內。
11. sleep() and wait()?
答:sleep()是Thread類定義方法,表示線程的休眠,可以自動喚醒
wait()方法是Object類定義的方法,需要手動notify()和notifyAll()//sleep()不釋放資源,wait()釋放資源
12. java中存在goto,但不能使用
13.數組有沒有length(),String有沒有length()?
答:數組有length屬性,String有length()
14. Overload與Override的區別
答:Overload:重載
|- 在一個類中定義的若干方法
|- 所有的方法名相同,但參數類型或個數不同
|- 只有參數有關,與返回類型無關
Override:覆寫
|- 在繼承的關系中
|- 子類定義了父類同名的方法,參數類型或個數最好完全一樣。
|- 訪問許可權不能更嚴格
15. Set里的元素不能重復,用什麼方法區分?==與equals()方法的區別
答:set里的元素是不能重復的,用iterator()方法來區分重復與否,==屬於地址比較,
==用於比較引用和比較基本數據類型時具有不同的功能:
比較基本數據類型,如果兩個值相同,則結果為true
而在比較引用時,如果引用指向內存中的同一對象,結果為true
16. 列出常見的 runtime exception
答:NumberFormatException/ArrayOutIndexofBoundException/NullPointerException/ClassCastException
17. abstract class 和 interface有什麼區別?
答:抽象類:
|-由抽象方法和常量、變數、全局常量、構造方法、普通方法組成
|-使用abstract聲明
|-子類要通過extends繼承抽象類,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法
|-存在單繼承的局限
|-抽象類可以實現若干個介面
介面:
|-由抽象方法和全局常量組成
|-使用interface關鍵字
|-子類要通過implements實現介面,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法
|-一個子類可以實現多個介面
|-介面不能繼承一個抽象類,但允許繼承多個介面
18. 啟動一個線程要用start(),因為要通知jvm進行cpu資源的分配
19. try{}裡面有一個return,問finally{}裡面的代碼是否執行,在什麼時機執行?
答:finally{}裡面的代碼執行,在return之前。
20. 寫一個singleton
答:singleton的核心就是構造方法私有化,Class,Runtime都採用單例
package com.leongod.demo;
public class Singleton(){
private static final sin = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return sin;
}
}
21. 程序設計:輸入一組數字,然後排序輸出
答:package com.leongod.demo;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class IO {
public static void main(String[] args) throws Exception {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("請輸入一組數字,中間用空格分割:");
String str = buf.readLine();
Set<Integer> set = new TreeSet<Integer>();
String[] arr = str.split(" ");

for(String s : arr) {
if (s.matches("\\d+")) {
set.add(Integer.parseInt(s));
}
}

Iterator<Integer> it = set.iterator();
System.out.println("排序後的結果:");
while (it.hasNext()) {
System.out.print(it.next() + ",");
}
}
}
22.列出目錄內的文件
package com.leongod.demo;
import java.io.File;
import com.sun.org.apache.xpath.internal.functions.FuncBoolean;
public class FileDemo {
public static void main(String[] args) {
?? File file = new File("D:" + File.separator + "kongkong");
?? fun(file);
}

public static void fun(File file) {
if (file.isDirectory()) {
File[] lf = file.listFiles();
if (lf != null) {
for(File f : lf) {
fun(f);
}
}
}else {
System.out.println(file.toString());
}
}
}
23. char可以存一個中文漢字嗎?
答:可以,使用了unicode編碼
24.多線程有幾種實現方法,都是什麼?同步有幾種實現方法,都是什麼?
答:兩種多線程方法,繼承Thread類,實現Runnable介面
|-Thread類是Runnable介面的子類
|-使用Runnable介面可以實現資源共享的目的
|-所有線程操作都必須通過Thread類的start()方法啟動
兩種實現同步的方法:
|-同步代碼塊:Synchronized(this)
|-同步方法
25.f=3.4是不對的,3.4默認是double類型的
26.String and StringBuffer?
答:String 不可以修改,StringBuffer可以修改
27.Class.forname向容器中載入驅動程序
28.int與Integer有什麼區別?
答:int是基本數據類型,Integer是包裝類
在jdk1.5以後,可以實現自動裝箱和拆箱
29.2*8有效的方法是移位操作:2<<3
30.請說出類集框架的完整結構
答:類級框架的最大介面:Collection、Map、Iterator、Enumeration
Collection:存放單值
|-List:允許有重復內容
|-ArrayList:非同步處理,新的操作類,非線程安全
|-Vector:同步處理,舊的操作類,線程安全,支持Enumeration
|-Set:不允許有重復的內容,依靠hashCode()和equals()進行重復的驗證
|-HashSet:無序存放
|-TreeSet:有序存放,按Comparable排序
|-Map:存放一對值
|-HashMap:新的類,非同步處理,非線程安全,允許有null
|-HashTable:舊的類,同步處理,線程安全,不允許有null
|-TreeMap:有序排列,按key配需
|-Iterator:迭代輸出,依靠collection介面中的iterator方法輸出,是新的輸出標准
31.是否可以繼承String類?答:不可以,因為使用了final關鍵字

小弟,沒分啊

⑶ Java程序員人事面試的時候該注意什麼

很多用這個.1. 問:怎樣用 Win95 的記事本 (Notepad) 來編輯 Java源程序? 答:記得存檔時擴展名要加上".java",文件類型改成:「所有的文件(*.*)」。 2. 問:到底 Java 是如何傳遞參數的?是by value或by reference? 答:All parameters (values of primitive types, and values that are references to objects) are passed by value [JLS sect 8.4.1]。根據以上 Java規格文件的說法, 所有參數應該都是傳值的(by value)。但實際上, 實際經驗卻告訴我們所有 Java 的對象都是傳址的(by reference)。因此我們可以這樣解釋: 基本類型(如int, float, char等)是by value,而所謂「對象」(Object)則是by value of reference to object。 3. 問:String這個類型的class為何定義成final? 答: 主要是為了「效率」 和 「安全性」 的緣故。若 String允許被繼承, 由於它的高度被使用率, 可能會降低程序的性能,所以String被定義成final。 4. 問:finalizers和C++ 的 destructors有何差異? 答:Java內部具有「內存使用回收」 的機制, 雖然它也提供了類似 (C++ 的) destructors的 finalize(),每個對象都可以使用這個方法 method,但必須冒著破壞原先回收機制的危險。所以建議盡量避免使用finalize(),不妨考慮多使用 null 及 dispose() 來釋出資源會好一些。 5. 問:繼承了一個class叫做 Frotz,編譯器卻給我「No constuctor Frotz() in the class」這樣的錯誤提示,為什麼呢? 答:記住每當您定義了一個 class的constructor,除非您一開始就去call 這個constructor,否則 Java 會自動引入superclass原先不含參數的 constructor, 如果superclass的 constructor都是有參數的,那麼問題中的錯誤提示便出現了。 解決的方法很簡單, 找一找 API文件,加上正確的參數就得了。 6. 問:怎樣讓char類型的東西轉換成int類型? 答: char c = 'A'; int i = c; //反過來只要作強制類型轉換就行了 c = (char) I; 7. 問:我的applet原先好好的, 一放到web server就會有問題,為什麼? 答:一般來說,從以下方向試試: 確定class文件的格式沒錯——已經編譯過,也沒有損壞的情形; 確定所有用到的class文件放到web server上,少一個都不行; 確定所有的文件名和class名稱一致,特別檢查大小寫有無差錯; 如果程序中用到package,web server上的目錄就要當心了。譬如您在class中宣告了一個叫COM.foo.util的package,那麼web server的applet codebase目錄底下就非得有 COM/foo/util這個子目錄不可。(注意目錄名稱也有大小寫之分); web server上的文件檔案應該事先設定好。(尤其是search,read和execute許可權) 8. 問:怎樣在 Applet中用某個圖形塗滿整個背景? 答:在背景建立 Panel 或 Canvas, 然後用圖形填滿它。

⑷ 我想問一下大家,就是java程序員面試怎麼准備

1、首先,應當不斷思考三個問題:
我到底適不適合當一名程序員?
我到底應不應該一輩子以程序員為職業?
我對編程到底持有的是一種什麼樣的態度,是夠用就好呢還是不斷研究?
最終,明確自己的職業規劃,對自己的規劃負責並為之努力。
2、項目經驗
明確你的項目到底是做什麼的,有哪些功能。
明確你的項目的整體架構,在面試的時候能夠清楚地畫給面試官看並且清楚地指出從哪裡調用到哪裡、使用什麼方式調用。
明確你的模塊在整個項目中所處的位置及作用。
明確你的模塊用到了哪些技術,更好一些的可以再了解一下整個項目用到了哪些技術。
3、專業技能
集合、設計模式、多線程、JDK源碼、框架、資料庫、數據結構和演算法分析、Java虛擬機、
Web方面的一些問題也是要有所准備的。

⑸ JAVA程序員面試一般問那些問題

一把是做一張試卷,然後問話,試卷可以網路java面試題,
差不多的問題,專業問題的話,問你用過的工具啊,資料庫啊,然後演算法啊
然後根據題問一問啊,根據你的簡歷問問啊,項目經驗啊,當然不同的企業問題不太相同,但是這些都是基本的,問的細一點的話,就要看你自己專業知識了,比如:你說你會DB2資料庫,然後他就接問一句,配過DB2的參數嗎?大概說一說,面試嘛差不多聊天,一問一答他再一反問,大多都是這樣?因為這一反問就是核實你是知道一點,還是比較熟悉,HR就是這樣來對一個面試者作基本判斷的

⑹ java程序員面試需要注意什麼要准備什麼

  1. 作為java程序員面試應該有信心。

  2. Java面試一般他們會首先通過電話面試,看你對Java知識掌握情況。可以就會在公司面試。

  3. 有些公司還會出面試題來做筆試,筆試+面試。

  4. 沉著冷靜面對面試,你一個好的面試,工資就可能很高。

⑺ java程序員人事面試

  1. 這方面的問題回答,越簡單越好,言多必失。官話么,說的冠冕堂皇就好了,但是要是積極的,樂觀的。

  2. 問這種問題,要麼是很N的公司,要麼是很垃圾的公司。技術方面的可以多回答點

  3. 你為什麼要應聘這個職位呢?

要對這個職位有濃厚的興趣,目前的經驗、能力,可以勝任

4. 你為什麼選擇來我們公司工作?

對貴公司非常感興趣,也比較關注貴公司,願意在這個優秀的平台上,展示我的夢想。


面試時平等的,要不卑不亢,你也可以反問他:

  1. 貴公司未來發展趨勢是什麼?

  2. 貴公司與同等行業的優勢是什麼?

  3. 如果很榮幸,我能來到貴公司,那我的工作職責是什麼?

  4. 公司是否願意培養新人?未來上升空間有多大?

  5. 項目進展狀態?

  6. 合作團隊規模?與我同等級別員工有多少人?

  7. 我今天的表現怎麼樣?(自己衡量下,如果自我感覺還不錯,感覺面試官對你也比較滿意。在問這個問題)



以上就是說個方向,具體的語言還要你自己組織下,面試前,做好充分的准備。我和你一樣,JAVA WEB,不過我現在做管理,也招人,上面的問題我是不問,我只關新員工來了,能不能幹活,是否穩定。技術差點沒關系,大家可以交流。關鍵是要有想法,有思路。光說不做的,我也不要。一般都是通過面試的交流,能感覺到的。面試的時候,你要表現的積極點、主動點。分析面試官的問題,給出畫龍點睛的回答,不會就是不會,不要裝會,可以簡單說說自己的理解,但是不能亂說,否則可能會起到相反的作用。


⑻ 請問java程序員面試涉及哪些知識面---緊急

看了你的問題,你現在已經傾向J2EE這邊了,
不過現在做JAVA 大部份在做J2EE
面試,各間公司都不同可以說是五花八門的。
當然首先最基本的當然是基礎了,很多人覺得自己基礎很好,
但在面試管一問,就什麼都暴露出來了,
我問你幾個問題,看你能回答幾個
就String類
String 類有length 屬性嗎?
String 類能繼承嗎?
一個長度為2的字元串,調用getBytes()方法得到的數組長度是多少?
。。。
前二個問題,可以說大家都好熟了,如果這兩個問題都不能一下答出,那都是新手了。
第三個問題就很少人知道了,大家都知道字元串是一個字元序列,
而在JAVA 中 一個char 二個位元組,那麼很容易得出這個byte 數組長度應該是四,而事實是這樣嗎?不是的,它的長度是六,那麼這多出的兩位是哪兩位呢?它在數組的前面還是後面呢?
當然公司對剛畢業生都不會要求太苛刻的,很多公司招初級程序員都會先讓應聘人做一些邏輯題,畢竟基礎可以補回來,IQ可不能一下就能提高。
只要你能隨手寫出一些簡單的演算法,如冒泡排序,鏈表等。SQL 會多表連接 包括左連,右連,全連最好還能做一些優化,會做一些統計。想找份初級程序員的工作不難的。
關於SSH,這也是很多公司必問的,問的得多的會是Spring 和Hibernate ,像會問Spring 的優點是什麼,缺點是什麼,這一個問題就能問出你對Spring 的熟悉程度,像IOC 這些介紹,按網上的那些介紹千篇一律的回答是很難令面試官滿意的。。。

⑼ Java程序員面試一般要面試多久

這個沒有一個具體時間,通常面試官會和你先談談你簡歷上寫的一些項目或工作經驗,如果覺得你比較適合他們的工作崗位,就會繼續深入,如果覺得差距還很大,可能就會收尾了,不過這是小公司的面試,大公司會比這復雜一些,有的一個筆試都要1小時。。。

閱讀全文

與java程序員面試相關的資料

熱點內容
兵器pdf 瀏覽:923
雲伺服器怎麼限制cpu 瀏覽:164
學信網用的什麼app 瀏覽:876
linux重啟命令apache 瀏覽:751
半夜解壓有什麼壞處 瀏覽:424
linux代理命令 瀏覽:638
調用tasking的編譯器編譯 瀏覽:292
青檸app是什麼 瀏覽:866
linuxapachephp56 瀏覽:397
安卓手機如何打開eng文件 瀏覽:24
看拉丁電視都用什麼app好 瀏覽:781
什麼是哲學pdf 瀏覽:509
hdfs的三個下載命令 瀏覽:525
java常用的排序演算法 瀏覽:359
51單片機連接adc 瀏覽:861
python命名變數報錯 瀏覽:122
安卓手機如何換windows系統 瀏覽:614
python中的類是什麼 瀏覽:632
我的英雄學院用哪個app可以看 瀏覽:37
excel插入選項卡對象命令 瀏覽:695