Java面試總結之Java基礎

2020-12-27 開發者之家

無論是工作多年的高級開發人員還是剛入職場的新人,在換工作面試的過程中,Java基礎是必不可少的面試題之一。能不能順利通過面試,拿到自己理想的offer,在準備面試的過程中,Java基礎也是很關鍵的。對於工作多年的開發人員來說,Java基礎往往是會被大家所忽略的,但在面試的過程中,確是必不可少的問題。在這篇文章裡就來為大家總結一下經常會被問到的Java基礎題。

helloworld

1.Java面向對象的三大特徵

答:封裝,繼承,多態

評論:對於剛入職場的新人來說,這個回答就可以了,但對於工作多年的高級開發人員來說,這個回答是遠遠不夠的。你需要對這大三特徵有比較深刻的認識才可以。封裝表面上看就把描述一個對象的屬性和行為封裝成一個類,把業務邏輯封裝成方法,封裝的另一層含義在於通過修飾符控制類的訪問屬性(公有,私有等)。繼承主要是實現了代碼的復用,所有子類公用的行為和屬性可以抽取為一個父類,所有子類繼承了父類的屬性和行為,java中繼承是單一性的。多態:程序中定義的引用類型變量所指向的具體類型和調用的具體方法在程序編譯階段無法確定,而是在運行期才能確定該引用類型變量指向具體哪個對象而調用在哪個類中聲明的方法。多態的表現形式有強制類型轉換,向上構造等。多態可分為行為多態和對象多態。

2.Java的基本數據類型

答:基本數據類型有,byte,short,int,long,float,double,char,boolean這8種。

評論:在實際面試過程中一般不會這麼問你,一般會拿一個具體的問題考你。比如讓你設計一個和訂單金額有關的數據結構,或者問你數據類型裡的隱式轉換(int-Integer)相關的,這些都是考察基本功。

3.Java的修飾符

答:private,protected,public,default

評論:這裡知道這幾種修飾符的作用範圍之外,還有一些比較深層次的也要注意一下。有一次我被問到如何去訪問一個private修飾的方法。這裡有一種方法就是通過反射可以實現對private的訪問。

4.Java的運算符

答:Java是一門強類型的語言,運算符基本可以為分6類:算數運算符,賦值運算符,關係運算符,邏輯運算符,位運算符,條件運算符。

評論:運算符的考察,一般會給你一個實際的題讓你算結果,通常考基本功的話會問你一些位運算,或者和運算符優先級相關的題。

5.Java的String,StringBuffer,StringBuilder類用法與區別?

答:String類適用於少量字符串的操作,StringBuilder適用於單線程下在字符緩衝區進行大量操作的情況,StringBuffer適用多線程下在字符緩衝區進行大量操作的情況。

評論:考察java字符串的基礎通常會圍繞這3個類展開。一般回答的時候要圍繞運算速度和線程安全這兩個方面展開。

6.兩個對象的hashCode()相同,則equals()也一定為true嗎?

答:不一定相同。正常情況下,因為equals()方法比較的就是對象在內存中的值,如果值相同,那麼Hashcode值也應該相同。但是如果不重寫hashcode方法,就會出現不相等的情況。

7.Java中的Override與Overload的區別?

答:overload在相同的類範圍內執行,override發生在具有繼承關係的兩個類。

評論:要回答的完美,還需要從目的,範圍,參數,多態性,返回類型這幾個方面回答。

8.final在Java中的作用?

答:在java中有4種用法,1.修飾數據,2.修飾方法參數,3.修飾方法,4修飾類

評論:1.修飾數據,包括成員變量,局部變量,則變量只能被賦值一次。2.修飾方法參數,表示變量在生命周期只能被賦值 一次。3.修飾方法,表示該方法不能被重寫。4.修飾類表示該類不能被繼承

9.如何將字符串反轉?

答:有很多種,如通過char數組,StringBuffer的reverse等

10.String類的常用方法有哪些?

答:常用方法,new String,length,charAt,subString,compareTo,compareToIgnore,equals,equalsIgnoreCase,concat,indexOf,replace,replaceAll,trim,startWith等

11.Object類有哪些常用的方法?

答:這個類是所有java對象的父類,常用方法toString,equals,hashCode

12.抽象類必須要有抽象方法嗎?

答:可以沒有抽象方法,但抽象方法一定在抽象類中。

13.抽象類與接口的區別?

答:抽象類是用來捕捉子類的通用特性的 。它不能被實例化,只能被用作子類的超類。接口是抽象方法的集合。如果一個類實現了某個接口,那麼它就繼承了這個接口的抽象方法。這裡主說一下用法:如果你擁有一些方法並且想讓它們中的一些有默認實現,那麼使用抽象類。如果基本功能在不斷改變,那麼也使用抽象類。如果你想實現多重繼承,那麼你必須使用接口。

14.抽象類可以用final修飾嗎?

答:不可以,final修飾的類的是不可以被繼承的

15.String類為什麼是final類型的?

答:可以從這3方面回答,1.為了實現字符串池,2.為了線程安全,3.為了實現String可以創建HashCode不可變性。

評論:這題主要從Final修飾符的理解去回答即可。

希望對大家有所幫助

相關焦點

  • 面試題之java基礎
    應部分網友的建議,從今天起會逐步的總結一些java、php相關的面試題,由簡單到複雜歸納一個系列:【金三銀四】,中間部分題目的答案來源於網絡,如若不嚴謹還望諒解。java基礎面試題 1、簡述Java程序編譯和運行的過程:答:①  Java編譯程序將Java源程序翻譯為JVM可執行代碼--字節碼,創建完源文件之後,程序會先被編譯成 「.class」 文件。
  • Java 基礎知識總結(一)之Java 概述
    斷續了文章的更新,今天開始為大家講解Java基礎。希望大家多多支持!寫代碼1,明確需求。我要做什麼?2,分析思路。我要怎麼做?1,2,3。3,確定步驟。每一個思路部分用到哪些語句,方法,和對象。Java Platform Enterprise Edition,開發企業環境下的應用程式,主要針對web 程序開發;JAVASE:Java Platform Standard Edition,完成桌面應用程式的開發,是其它兩者的基礎;JAVAME:Java Platform Micro Edition,開發電子消費產品和嵌入式設備
  • 面試總結——Java高級工程師
    尚學堂AD試前面也總結了一和二, 這第三篇可能更偏向於是內心的獨白篇和面試技巧總結吧…..2、深入了解並熟記部分java基礎知識原因:大部分公司無論面試初級還是高級,無論是筆試還是面試,都會問到一系列基礎題,這些基礎題大概涵括jvm、字符串、集合、線程等等,如果說每一個讓你死記硬背你肯定記不住,那麼就是理解中記憶了,拿jvm來說 ,如果讓你談談你對jvm的理解, 那麼你首先得知道JVM有哪些結構組成,每個結構用來做什麼的,然後考慮一個Java對象從創建到回收,
  • 給Java新手的一些建議——Java知識點歸納(Java基礎部分)
    寫這篇文章的目的是想總結一下自己這麼多年來使用java的一些心得體會,主要是和一些java基礎知識點相關的,所以也希望能分享給剛剛入門的Java程式設計師和打算入Java開發這個行當的準新手們,希望可以給大家一些經驗,能讓大家更好學習和使用Java。這次介紹的主要內容是和J2SE相關的部分,另外,會在以後再介紹些J2EE相關的、和Java中各個框架相關的內容。
  • Java面試總結之Exception
    無論是在Java面試還是在實際的工作中都避免不了和Exception打交道。這篇文章我們就來一起看看有關異常的知識點。exception首先我們來了解一下Java中異常處理的整體架構,從上圖中可以看出Exception 和 Error 都是繼承了Throwable類,在java中只有Throwable
  • Java基礎面試題簡單總結
    Java基礎方面:1、作用域public,private,protected,以及不寫時的區別答:區別如下:寫時默認為friendly 2、Anonymous Inner Class (匿名內部類)派生類可以從它的基類那裡繼承方法和實例變量,並且類可以修改或增加新的方法使之更適合特殊的需要。封裝:封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的界面。
  • JAVA學習之路(總結)--基礎篇二
    JAVA學習之路(總結)--基礎篇二是在基礎篇一上的延續,想看基礎篇一的同學們,可以關注一下我呦,在我的歷史發布就可以看到。我們先回顧一下基礎篇一講了1.java概述 2.基本數據類型(重點)3.Java內存管理(難)4.對象和實例,對象的創建
  • Java基礎學習心得筆記
    對於很多只會C語言的初學者而言,面對java基礎語法學習,反而感覺很難,其實其中最大的問題不是語法難,而是一種編程思想的轉變。
  • 學了1年java的程式設計師面試,掛在了這道基礎算法題!
    這都是java的算法題,應該來講都是些比較簡單的算法題,但是我敢說很多基礎的學習的,或者想去面試的人都會不能完整的寫出來,現在
  • java之小小的基礎知識點
    一.如何編寫java程序呢?1.新建一個java工程2.新建一個包名 新建一個java類 包的命民 :域名的反向 www.百度.com com.百度.www3.編寫內容4.在類中的空白處 右擊運行java 選擇run as java application詳情請參考:
  • Java面試寶典---Java基礎部分(7)
    java中有垃圾回收機制,它可以保證一對象不再被引用的時候,即對象編程了孤兒的時候,對象將自動被垃圾回收器從內存中清除掉。  82、能不能自己寫個類,也叫 java.lang.String?可以,但在應用的時候,需要用自己的類加載器去加載,否則,系統的類加載器永遠只是去加載jre.jar包中的那個java.lang.String。
  • 工作六年總結的Java面試題與經驗
    首先你要知道,面試官的提問和你簡歷上寫的內容是緊密聯繫的,所以你簡歷上寫的技能一定要會。Java基礎、多線程、IO與NIO、虛擬機、設計模式HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底層實現ArrayList、LinkedList、Vector的區別HashMap和ConcurrentHashMap的區別ConcurrentHashMap是怎麼實現線程安全的synchronized、Lock
  • String是java的基礎變量嗎?
    面試過的人都知道,面試會隨著時間越來越基礎,但是也不要這麼基礎呀!面試官看似隨意的拋出了下一個問題:「String是java的基礎變量嗎?」我都不知道我在說什麼面試官臉色... 好吧,其實沒有什麼變化,又隨意的問了下一個問題面試結束後,我決定把這個問題,並建索引!
  • Java SSM框架相關基礎面試題整理
    一、Spring面試題1、Spring 在ssm中起什麼作用?
  • 一位Java後臺工程師的面試經歷
    ,就對這個過程進行一個總結吧。支付工程師主要面試兩個方面的知識:資料庫、多線程。同時考察隊Java基礎知識的了解。 Java基礎知識: 三家公司都問了java集合類的相關概念,各種集合結構之間內在區別: ArrayList,Vector,LinkList區別 HashMap,HashTable,ConCurrentHashMap區別 Collections.synchronizedXX 方法的原理 設計模式,這種問題感覺沒啥意義
  • Java基礎之反射篇
    Java基礎之反射篇「Hello,大家好!我是老醜。今天給大家帶來的知識點是反射」1. 反射是什麼?反射(Reflection),它允許在運行中的Java程序獲取自身的信息,並且可以操作類或者對象的內部屬性。2. 反射可以做什麼?3.
  • 【Java面試題】常見Java面試知識點總結-1
    我是:小職(z_zhizuobiao)找我:✅ 解鎖高薪工作 ✅ 免費獲取乾貨教程這裡整理了部分較為重點的Java面試題內容,而且對於答案有困惑,補充了解釋內容,便於理解。1. 什麼是Java虛擬機?為什麼Java被稱作是「平臺無關的程式語言」?
  • Java基礎知識總結(絕對經典)
    ,java的開發工具和jre。2,JRE:Java Runtime Environment,java程序的運行環境,java運行的所需的類庫+JVM(java虛擬機)。----二:java語法基礎: 1,關鍵字:其實就是某種語言賦予了特殊含義的單詞。 保留字:其實就是還沒有賦予特殊含義,但是準備日後要使用過的單詞。
  • 簡單的面試題目,大跌眼鏡的結果(JAVA)
    所以越來越多的組織會採用電話面試的方式,進行初步篩選。題目難度一再降低,結果卻大跌眼鏡,HR都哭了。以下是一個簡單統計,樣本幾百人不等,能夠全部答上來的,不超過10%。哦,全錯的也有!快來看看我這b裝的分數高,還是你得的分數高,滿分10分!
  • Java基礎知識點面試手冊(線程+JDK8)
    中最基礎的知識點,用作面試複習,事半功倍。三種方式:https://blog.csdn.net/difffate/article/details/63684290方式一解析:面試官會給你舉個例子,如何讓 10 個線程按照順序列印 0123456789?