Java基礎(面向對象)面試題
-
什麼是B/S架構?什麼是C/S架構
-
Java都有那些開發平臺?
-
什麼是JDK ?什麼是JRE?
-
Java語言有哪些特點
-
面向對象和麪向過程的區別
-
什麼是數據結構?
-
Java的數據結構有那些?
-
什麼是OOP?
-
類與對象的關係?
-
Java中有幾種數據類型
-
標識符的命名規則。
-
instanceof關鍵字的作用
-
什麼是隱式轉換,什麼是顯式轉換
-
Char類型能不能轉成int類型?能不能轉化成string類型,能不能轉成double類型
-
什麼是拆裝箱?
-
Java中的包裝類都是那些?
-
一個java類中包含那些內容?
-
那針對浮點型數據運算出現的誤差的問題,你怎麼解決?
-
面向對象的特徵有哪些方面?
-
訪問修飾符 public,private,protected,以及不寫(默認) 時的區別?
-
String 是最基本的數據類型嗎?
-
float f=3.4;是否正確?
-
short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 += 1; 有錯嗎?
-
重載和重寫的區別
-
equals與==的區別
-
++i與i++的區別
-
程序的結構有那些?
-
數組實例化有幾種方式?
-
Java中各種數據默認值
-
Java常用包有那些?
-
Object類常用方法有那些?
-
java中有沒有指針?
-
java中是值傳遞引用傳遞?
-
實例化數組後,能不能改變數組長度呢?
-
假設數組內有5個元素,如果對數組進行反序,該如何做?
-
形參與實參區別
-
構造方法能不能顯式調用?
-
什麼是方法重載?
-
構造方法能不能重寫?能不能重載?
-
內部類與靜態內部類的區別?
-
Static關鍵字有什麼作用?
-
final在java中的作用 ,有哪些用法?
-
StringString StringBufffr 和StringBuilder的區別是什麼?
-
String str=" aaa" ,與String str=new String( “aaa” )-樣嗎?
-
講下java中的math類有那些常用方法?
-
String類的常用方法有 那些?
-
Java中的繼承是單繼承還是多繼承
-
Super與this表示什麼 ?
-
普通類與抽象類有什麼區別?
-
什麼是接口?爲什麼需要接口?
-
接口有什麼特點?
-
抽象類和接口的區別?
-
Hashcode的作用
-
Java的四種引用 ,強弱軟虛
-
Java創建對象有幾種方式?
-
有沒有可能兩個不相等的對象有相同的hashcode
-
拷貝和淺拷貝的區別是什麼?
-
static都有哪些用法?
-
a=a+b與a+=b有什麼區別嗎?
-
final. finalize0. finally
-
JDBC操作的步驟
-
在使用jdbc的時候,如何防止出現sq|注入的問題。
-
怎麼在JDBC內調用一個存儲過程
-
是否瞭解連接池,使用連接池有什麼好處?
-
你所瞭解的數據源技術有那些?使用數據源有什麼好處?
-
&和&&的區別!
-
靜態內部類如何定義
-
什麼是成員內部類
-
Static Nested Class 和Inner Class的不同
-
什麼時候用assert
-
Java有沒有goto
-
數組有沒有length0這個方法? String有沒有length0這個方法
-
用最有效率的方法算出2乘以8等於幾
-
float型float f=3.4是否正確?
-
排序都有哪幾種方法?請列舉
-
靜態變量和實例變量的區別?
-
說出一些常用的類,包,接口,請各舉5個
-
a.hashCode0 有什麼用?與a.equals(b) 有什麼關係?
-
Java 中的編譯期常量是什麼?使用它又什麼風險?
-
在Java中,如何跳出當前的多重嵌套循環?
-
構造器( constructor )是否可被重寫( override ) ?
-
兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
-
是否可以繼承String類?
-
當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這裏到底是值傳遞還是引用傳遞?
-
String 和StringBuilder. StringBuffer 的區別?
-
重載(Overload)和重寫(Override)的區別。重載的方法能否根據返回類型進行區分?
-
char 型變量中能不能存貯一箇中文漢字 ,爲什麼?
-
抽象類( abstract class )和接口( interface )有什麼異同?
-
靜態嵌套類(Static Nested Class)和內部類(Inner Class)的不同?
-
Java 中會存在內存泄漏嗎,請簡單描述。
-
抽象的(abstract)方法是否可同時是靜態的(static),是否可同時是本地方法(native),是否可同時被 synchronized修飾?
-
是否可以從一個靜態(static)方法內部發出對非靜態(non-static)方法的調用?
-
如何實現對象克隆?
-
接口是否可繼承(extends)接口?抽象類是否可實現(implements)接口?抽象類是否可繼承具體類(concreteclass)?
-
一個”.java”源文件中是否可以包含多個類(不是內部類)?有什麼限制?
-
Anonymous Inner Class(匿名內部類)是否可以繼承其它類?是否可以實現接口?
-
內部類可以引用它的包含類(外部類)的成員嗎?有沒有什麼限制?
-
Java 中的final 關鍵字有哪些用法?
1.什麼是B/S架構?什麼是C/S架構
- B/S(Browser/Server) ,瀏覽器/服務器程序
- C/S(Client/Server) ,客戶端/服務端,桌面應用程序
2. Java都有那些開發平臺?
- JAVASE :主要用在客戶端開發
- JAVAEE :主要用在web應用程序開發
- JAVAME :主要用在嵌入式應用程序開發
3.什麼是JDK ?什麼是JRE?
- JDK : java development kit : java開發工具包,是開發人員所需要安裝的環境
- JRE : java runtime environment : java運行環境, java程序運行所需要安裝的環境
4、Java語言有哪些特點
1.簡單易學.有豐富的類庫
2.面向對象(Java最重要的特性,讓程序耦合度更低,內聚性更高)
3.與平臺無關性( JVM是Java跨平臺使用的根本)
4.可靠安全
5.支持多線程
5、面向對象和麪向過程的區別
1.面向過程:
一種較早的編程思想 ,顧名思義就是該思想是站着過程的角度思考問題,強調的就是功能行爲,功能的執行過程,即先後順序,而每一個功能我們都使用函數(類似於方法)把這些步驟一步步實現。使用的時候依次調用函數就可以了。
2.面向對象:
一種基於面向過程的新編程思想,顧名思義就是該思想是站在對象的角度思考問題,我們把多個功能合理放到不同對象裏,強調的是具備某些功能的對象。
具備某種功能的實體,稱爲對象。面向對象最小的程序單元是:類.面向對象更加符合常規的思維方式,穩定性好, 可重用性強,易於開發大型軟件產品,有良好的可維護性。
在軟件工程上,面向對象可以使工程更加模塊化,實現更低的耦合和更高的內聚。
6、什麼是數據結構?
計算機保存,組織數據的方式
7、Java的數據結構有那些?
1.線性表( ArrayList)
2.鏈表( Linkedlist)
3.棧( Stack )
4.隊列( Queue )
5.圖(Map)
6.樹( Tree )
8、什麼是00P?
面向對象編程
9.類與對象的關係?
類是對象的抽象,對象是類的具體,類是對象的模板,對象是類的實例
10、Java中有幾種數據類型
整形: byte,short,int,long
浮點型: float,double
字符型: char
布爾型: boolean
11、標識符的命名規則。
- 標識符的含義:
是指在程序中,我們自己定義的內容,譬如,類的名字,方法名稱以及變量名稱等等,都是標識符。 - 命名規則: (硬性要求)
標識符可以包含英文字母, 0-9的數字, $以及_
標識符不能以數字開頭
標識符不是關鍵字 - 命名規範: (非硬性要求)
類名規範:首字符大寫,後面每個單詞首字母大寫(大駝峯式).
變量名規範:首字母小寫,後面每個單詞首字母大寫(小駝峯式)。
方法名規範:同變量名.
以上的面試題都已整理成冊,可以關注我的公衆號《老男孩的架構路》 領取一線大廠Java面試題總結+各知識點學習思維導圖+一份400頁pdf文檔的Java獨家面試手冊!
這些資料的內容都是面試時面試官必問的知識點,篇章包括了很多知識點,其中包括了有基礎知識、Java集合、JVM、多線程併發、spring原理、微服務、Netty 與RPC 、Kafka、日記、設計模式、Java算法、數據庫、Zookeeper、分佈式緩存、數據結構等等。