本文目錄一覽:
- 1、java基礎面試題有哪些?
- 2、面試java開發工程師一般會提什麼問題
- 3、作為一個面試官,我會問初級java工程師哪些問題?
- 4、Java基礎面試題都有哪些?
- 5、面試的時候,如何輕鬆拿下JAVA基礎的面試?
- 6、如果你是一個 Java 面試官,你會問哪些問題?
java基礎面試題有哪些?
下面是10道java基礎面試題,後附答案
1.什麼是 Java 虛擬機?為什麼 Java 被稱作是“平台無關的編程語言”?
Java 虛擬機是一個可以執行 Java 字節碼的虛擬機進程。Java 源文件被編譯成能被 Java 虛擬機執行的字節碼文件。
Java 被設計成允許應用程序可以運行在任意的平台,而不需要程序員為每一個平台單獨重寫或者是重新編譯。Java 虛擬機讓這個變為可能,因為它知道底層硬件平台的指令長度和其他特性。
2.“static”關鍵字是什麼意思?Java 中是否可以覆蓋(override)一個 private 或者是static 的方法?
“static”關鍵字表明一個成員變量或者是成員方法可以在沒有所屬的類的實例變量的情況下被訪問。
Java 中 static 方法不能被覆蓋,因為方法覆蓋是基於運行時動態綁定的,而 static 方法是編譯時靜態綁定的。static 方法跟類的任何實例都不相關,所以概念上不適用。
3.JDK 和 JRE 的區別是什麼?
Java 運行時環境(JRE)是將要執行 Java 程序的 Java 虛擬機。它同時也包含了執行 applet 需要的瀏覽器插件。Java 開發工具包 (JDK)是完整的 Java 軟件開發包,包含了 JRE,編譯器和其他的工具(比如:JavaDoc,Java 調試器),可以讓開發者開發、編譯、執行 Java 應用程序。
4.是否可以在 static 環境中訪問非 static 變量?
static 變量在 Java 中是屬於類的,它在所有的實例中的值是一樣的。當類被 Java 虛擬機載入的時候,會對 static 變量進行初始化。如果你的代碼嘗試不用實例來訪問非 static 的變量,編譯器會報錯,因為這些變量還沒有被創建出來,還沒有跟任何實例關聯上。
5.Java 支持的數據類型有哪些?什麼是自動拆裝箱?
Java 語言支持的 8 中基本數據類型是:
byte
short
int
long
float
double
boolean
char
自動裝箱是 Java 編譯器在基本數據類型和對應的對象包裝類型之間做的一個轉化。比如:把 int 轉化成 Integer,double 轉化成 double,等等。反之就是自動拆箱。
6.Java 支持多繼承么?
不支持,Java 不支持多繼承。每個類都只能繼承一個類,但是可以實現多個接口。
7.Java 中,什麼是構造函數?什麼是構造函數重載?什麼是複製構造函數?
當新對象被創建的時候,構造函數會被調用。每一個類都有構造函數。在程序員沒有給類提供構造函數的情況下,Java 編譯器會為這個類創建一個默認的構造函數。
Java 中構造函數重載和方法重載很相似。可以為一個類創建多個構造函數。每一個構造函數必須有它自己唯一的參數列表。
Java 不支持像 C++中那樣的複製構造函數,這個不同點是因為如果你不自己寫構造函數的情況下,Java 不會創建默認的複製構造函數。
8.Java 中的方法覆蓋(Overriding)和方法重載(Overloading)是什麼意思?
Java 中的方法重載發生在同一個類裡面兩個或者是多個方法的方法名相同但是參數不同的情況。與此相對,方法覆蓋是說子類重新定義了父類的方法。方法覆蓋必須有相同的方法名,參數列表和返回類型。覆蓋者可能不會限制它所覆蓋的方法的訪問。
9.接口和抽象類的區別是什麼?
Java 提供和支持創建抽象類和接口。它們的實現有共同點,不同點在於:
接口中所有的方法隱含的都是抽象的。而抽象類則可以同時包含抽象和非抽象的方法。
類可以實現很多個接口,但是只能繼承一個抽象類
類如果要實現一個接口,它必須要實現接口聲明的所有方法。但是,類可以不實現抽象類聲明的所有方法,當然,在這種情況下,類也必須得聲明成是抽象的。
抽象類可以在不提供接口方法實現的情況下實現接口。
Java 接口中聲明的變量默認都是 final 的。抽象類可以包含非 final 的變量。
Java 接口中的成員函數默認是 public 的。抽象類的成員函數可以是 private, protected 或者是 public。
接口是絕對抽象的,不可以被實例化。抽象類也不可以被實例化,但是,如果它包含 main 方法的話是可以被調用的。
10.什麼是值傳遞和引用傳遞?
對象被值傳遞,意味着傳遞了對象的一個副本。因此,就算是改變了對象副本,也不會影響源對象的值。
對象被引用傳遞,意味着傳遞的並不是實際的對象,而是對象的引用。因此,外部對引用對象所做的改變會反映到所有的對象上。
最後祝你面試順利!
面試java開發工程師一般會提什麼問題
首先都是問工作經歷,上一家公司的工作情況(應屆生會問些學校表現、畢業設計之類的)。然後問些技術問題,JAVA基礎的概念,線程、並發、網絡、文件操作、數據庫操作之類等等。學習java推薦選擇千鋒教育,千鋒教育擁有國內一體化教學管理及學員服務,助力更多學員實現高薪夢想。
java開發工程師的就業方向有:
1.Android開發
Android是世界上最大的智能手機操作系統。根據Strategyalytics的最新研究報告,2016年第三季度全球智能手機出貨量達到3.75億台。Android操作系統獲得了創紀錄的88%全球市場份額,擠壓了蘋果IOS等平台。Java是Android應用的主要開發語言。
2.web開發
Web開發語言很多,Java就是其中之一。Java在開發高訪問、高並發、集群的大型網站方面有很大的優勢,比如去哪兒網、美團等。
3.客戶端開發
Java客戶端開發主要針對政府、事業單位和大型企業,如醫療、學校、OA、郵箱、投票、財務、考試、物流、礦山等信息系統。然而,客戶端開發只是為了幫助自己企業的主營業務。
想要了解更多關於java的相關信息,推薦諮詢千鋒教育。千鋒教育成立教研學科中心,推出貼近企業需求的線下技能培訓課程。課程包含HTML5大前端培訓、JavaEE+分布式開發培訓、Python人工智能+數據分析培訓、全鏈路UI/UE設計培訓、雲計算培訓、全棧軟件測試培訓、大數據+人工智能培訓、智能物聯網+嵌入式培訓、Unity遊戲開發培訓、網絡安全培訓、區塊鏈培訓、影視剪輯包裝培訓、遊戲原畫培訓、全媒體運營培訓。
作為一個面試官,我會問初級java工程師哪些問題?
初級java工程師多數是剛畢業或者工作1,2年的新人。對於新人,面試中基礎問題會問道很多,因為先要考察這個人的基礎。
關於基礎類的題目,我在面試初級java工程師的時候一般會問下面兩大類問題,每類5個題目,這樣下來我就基本可以了解這位工程師的程度了。
java基礎類
面向對象基礎類
java基礎類
1.描述一下java的訪問修飾符,和它們之間的區別?
回答:如果可以回到出public,private,protected,就算是ok;回答出default的,加分。
2. int和Integer 區別?
回答:如果回答出Integer是int的包裝類,就算ok;回答出其他的基本類型和它們相應的包裝類,加分。
3.如何定義一個單精度浮點類型的變量?
回答:float 變量名=1.2f ;回答出不加最後的f為雙精度浮點類型,加分
4. equals和==的區別?
回答: equals是值比較(一般處理java開發都會這麼說,算是ok的)而==是引用比較(或者對象比較);回答equals是可以自定義的,加分
5.將一個數組作為參數傳遞到一個方法中,在方法中,數組內的元素值被改變了,那麼在方法外部,這個數組內的元素是否也被改編了?
回答:是,因為java方法中傳遞的是引用,就ok。如果回答中,將引用說明了自己的理解,加分。
面向對象基礎類
1.重載和重寫的區別?
回答:這個看個人理解,理解沒有什麼大的偏差就ok;回答出多態相關的,加分。
2.構造方法能不能重載?
回答:可以重載,ok;回答構造方法時不能繼承的,所以如果要調用指定父類構造器就必須重寫子類構造方法,加分。
3.抽象方法(abstract)是否可以被final、static、native修飾?
回答:都不可以,因為抽象方法是必須子類實現的,final方法時不可以被重寫的,static是父類必須實現的方法,native是本地語言實現的方法。回答出封裝和繼承相關的,加分
4.當父類引用指向子類對象的時候,子類重寫了父類方法和屬性,那麼當訪問屬性的時候,訪問是誰的屬性?調用方法時,調用的是誰的方法?
回答:訪問的是父類的屬性,調用的是子類的方法,ok;如果可以畫圖解釋的話,加分
5.抽象類和接口有什麼異同?
回答:一些類定義上的區別,ok;回答在應用過程中,如何根據業務定義接口,加很多分
最後,如果前面問題回答的不錯,會補充兩個編程習慣問題。
1.在你寫過的代碼中,你寫過超過2層的循環嗎,怎麼實現的?
回答:沒有,就算ok;如果回答有,聽一下實現,如果原因說不出來,扣分。
2.在你寫過的代碼中,if語句最多嵌套了幾層,最多有多少分支,怎麼實現的?
回答:3層以下,就算ok;如果回答3層以上,聽一下實現,如果原因說不出來,扣分。
4,5個分支,就算ok;如果回答5個分支以上,聽一下實現,如果原因說不出來,扣分。
最後兩個題其實比較陷阱,但是正是一個反向的思考才能了解面試者之前的工作狀態。
如果面試者在平日里就有好的習慣,自然不用擔心。
Java基礎面試題都有哪些?
一般面試官都會讓面試者回答哪些Java基礎面試題啊?難不難啊? 針對這一系列的疑問,廣州增城Java培訓學校收集了部分Java基礎面試題與大家分享,希望對各位參加了廣州專業Java培訓的學生,有一定的幫助! 一、Java基礎知識 1.Java有那些基本數據類型,String是不是基本數據類型,他們有何區別。 2.字符串的操作: 寫一個方法,實現字符串的反轉,如:輸入abc,輸出cba 寫一個方法,實現字符串的替換,如:輸入bbbwlirbbb,輸出bbbhhtccc。 3.數據類型之間的轉換 如何將數值型字符轉換為數字(Integer,Double) 如何將數字轉換為字符 如何取小數點前兩位,並四捨五入。 4.日期和時間 如何取得年月日,小時分秒 如何取得從1970年到現在的毫秒數 如何獲取某個日期是當月的最後一天 如何格式化日期 5.數組和集合 6.文件和目錄(I/O)操作 如何列出某個目錄下的所有文件 如何列出某個目錄下的所有子目錄 判斷一個文件或目錄是否存在 如何讀寫文件 7.Java多態的實現(繼承、重載、覆蓋) 8.編碼轉換,怎樣實現將GB2312編碼的字符串轉換為ISO-8859-1編碼的字符串。 9.Java中訪問數據庫的步驟,Statement和PreparedStatement之間的區別。 10.找出下列代碼可能存在的錯誤,並說明原因: 二、JSPServlet技術 1.描述JSP和Servlet的區別、共同點、各自應用的範圍 2.在Web開發中需要處理HTML標記時,應做什麼樣的處理,要篩選那些字符( “”) 3.在JSP中如何讀取客戶端的請求,如何訪問CGI變量,如何確定某個Jsp文件的真實路徑。 4.描述Cookie和Session的作用,區別和各自的應用範圍,Session工作原理。 5.列出Jsp中包含外部文件的方式,兩者有何區別。 6.說明Jsp中errorPage的作用,應用範圍。 7.介紹在Jsp中如何使用JavaBeans。 8.簡單介紹JSP的標記庫 9.Jsp和Servlet中的請求轉發分別如何實現。 三、J2EE相關知識 1.介紹J2EE、J2SE、J2SE的區別。 2.J2EE是一種技術還是一種平台,他提供了那些技術。 3.什麼是Application Server,它有什麼功能和優點。 4.簡單介紹連接池的優點和原理。 5.Web.xml的作用 四、其他 1.Web安全性的考慮(表單驗證、瀏覽器Basic方式的驗證,應用程序的安全性,SSL,代碼考慮) 2.簡單介紹您所了解的MVC。 3.簡單介紹所了解的XML。 4.文檔和編碼規範 5.Java中的分頁、效率考慮。 6.簡單介紹您所了解的structs。 Java面試題收藏: 1.xml在項目中的作用 2.s-EJB 與 e-EJB的區別 3.會話面的作用 4.cmp與bmp的優缺點 5.j2me程序的必需的幾個部分 6.c/s與b/s的區別 7.構建一個connect pool然後再調用它, 8.j2ee平台與dotnet平台的區別 9.ejb的life cycle 10.session bean 和 entity bean的區別 11.ejb中的transaction機制 12.synchronized (生產者和消費) 13.String 和 StringBuffer 14.Serializable 15.MVC (Struts的工作流程) 16.什麼是MDA 17.tcp與udp的區別 18.鏈表與散列表和數組的區別 19.堆和棧的區別 20.ejb的分類及區別 21.你對現在軟件業以及國內軟件業的看法 22.談談java多線程 23.談談文件加密技術 24.軟件開發生命周期 25.路由協議種類及特點 26.java的awt和swing組件的GUI設計的關鍵 27.對於java流的認識 28.簡單描述一下awt與swing區別。 29.簡述java編程中事件處理模式。 30.你編寫過applet嗎?applet的安全權限如何?試列舉java application或者applet中與servlet/jsp通信可以採用的方式。 31.簡述邏輯操作(如|)與條件操作(如||)的區別。
面試的時候,如何輕鬆拿下JAVA基礎的面試?
你通常會問什麼是面向對象,寫下特性(小貓不會告訴你),記住重寫和重載的區別基本語法應該管用。如果你有考試,你可能要寫點什麼。其他人只是依靠概念。有一個技巧你無法回答。你必須表現出你渴望學習,即使你現在不能,但你有信心學習它。
給面試官一個非常熱切積極的態度,很多面試官都會這樣做,這是一種心理戰術。你時間緊迫。當時我基本上看完了java面試書的所有題目。筆試成績一直不錯。這取決於你在面試中的態度。謙虛好學就好,這也是我最終打動面試官的原因。而且不要坐在凳子上,身體前傾,不要東張西望,也不要吹噓自己說的話。這些都沒有道理。還有你做了什麼。整理你做過的案例。面試的時候喜歡問自己做了什麼,有什麼功能,怎麼實現,有什麼需求分析考驗你的能力。
希望對你有幫助,不要太緊張,一開始你會慢慢緊張地進入狀態,或者在談論自己擅長的事情時會感到輕鬆。所有技術背後都有原理,前面都有應用場景。不同的應用場景有不同的使用方法。信息量逐步增加。信息量一步一步增加,問題出在哪裡?學後面忘前面。新技術不斷出現,感覺永遠學不會。失去興趣或信心。在理論知識階段,更重要的是理解原理和規律,知識點的細節如果記不住可以以後再去搜索。學習方法更重要的是交流、討論、理解和總結。問為什麼是關鍵!
入門(熟練度)一個項目從0到1的過程,對於初學者來說是最寶貴、最大的提升部分。但從書本或視頻中,很難了解這個過程。換句話說,技術的應用能力就是技術的分解和排序能力。當一個需求被滿足時,它應該如下實現。基本思想是將需求分解成原子操作。原子操作代表開發中的基本操作,是從知識點中學習的,比如數據庫操作、sql、框架的基本使用等等。如果需求可以分解成原子操作序列,完成開發只是時間問題。剛開始學編程的學生往往不擅長或者懶得思考。畢竟看視頻是被動的,分析問題是主動思考。學習就是看視頻,本質上就是懶思維。
如果你是一個 Java 面試官,你會問哪些問題?
1、談談你對 Java 平台的理解?“Java 是解釋執行”,這句話正確嗎?考點分析:對於這類籠統的問題,你需要盡量表現出自己的思維深入並系統化,Java 知識理解得也比較全面,一定要避免讓面試官覺得你是個“知其然不知其所以然”的人。畢竟明白基本組成和機制,是日常工作中進行問題診斷或者性能調優等很多事情的基礎,相信沒有招聘方會不喜歡“熱愛學習和思考”的面試者。回歸正題,對於 Java 平台的理解,可以從很多方面簡明扼要地談一下,例如:Java 語言特性,包括泛型、Lambda 等語言特性;基礎類庫,包括集合、IO/NIO、網絡、並發、安全等基礎類庫。對於我們日常工作應用較多的類庫,面試前可以系統化總結一下,有助於臨場發揮。2、對比Hashtable、HashMap、TreeMap有什麼不同?考點分析:上面的回答,只是對一些基本特徵的簡單總結,針對Map相關可以擴展的問題很多,從各種數據結構、典型應用場景,到程序設計實現的技術考量,尤其是在Java 8里,HashMap本身發生了非常大的變化,這些都是經常考察的方面。很多朋友向我反饋,面試官似乎鍾愛考察HashMap的設計和實現細節,所以今天我會增加相應的源碼解讀,主要專註於下面幾個方面:理解Map相關類似整體結構,尤其是有序數據結構的一些要點。從源碼去分析HashMap的設計和實現要點,理解容量、負載因子等,為什麼需要這些參數,如何影響Map的性能,實踐中如何取捨等。理解樹化改造的相關原理和改進原因。除了典型的代碼分析,還有一些有意思的並發相關問題也經常會被提到,如HashMap在並發環境可能出現無限循環佔用CPU、size不準確等詭異的問題。我認為這是一種典型的使用錯誤,因為HashMap明確聲明不是線程安全的數據結構,如果忽略這一點,簡單用在多線程場景里,難免會出現問題。理解導致這種錯誤的原因,也是深入理解並發程序運行的好辦法。對於具體發生了什麼,你可以參考這篇很久以前的分析,裡面甚至提供了示意圖,我就不再重複別人寫好的內容了。3、Java 提供了哪些 IO 方式? NIO 如何實現多路復用?考點分析:在實際面試中,從傳統 IO 到 NIO、NIO 2,其中有很多地方可以擴展開來,考察點涉及方方面面,比如:基礎 API 功能與設計, InputStream/
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/285371.html