前言 今天在掘金看到一篇關於講解的Spring框架的文章,文章提到了牛客網的面試題。於是乎我就下載了牛客網app,發現面試題目很豐富。我就挑了java方面的面試題做了一下。10個題目為一組面試題,做完後,我發現了自己錯了好多,大多數都是基礎題。俗話說:基礎的深度決定未來的高度。我感覺自己必須要做一個 ...
前言
今天在掘金看到一篇關於講解的Spring框架的文章,文章提到了牛客網的面試題。於是乎我就下載了牛客網app,發現面試題目很豐富。我就挑了java方面的面試題做了一下。10個題目為一組面試題,做完後,我發現了自己錯了好多,大多數都是基礎題。俗話說:基礎的深度決定未來的高度。我感覺自己必須要做一個錯題的歸納和總結,把之前學習java過程中遺漏的知識點重新回顧一遍,正好借這一次機會。同時我也覺得理論知識也是非常重要的,理論左右著思想,支撐著代碼的質量。
錯題歸納
-
第1題
這裡寫圖片描述
歸納:- 1.方法名必須要跟類名相同
- 2.不要聲明返回類型
- 3.構造方法可以被final,private所修飾
- 4.一個類中至少有一個構造方法
- 5.當類中沒有提供有參的構造方法,Java預設調用無參的構造方法
-
第2題
這裡寫圖片描述
歸納:
- 1.只要在重寫Override父類的方法中,子類調用繼承於父類的方法時候才會使用到super關鍵字
- 2.子類調用繼承於父類的方法,不需要使用super關鍵字,直接調用即可。
-
第3題
這裡寫圖片描述
這個題目不仔細看很容易出錯,以為很簡單肯定是4。其實正確的答案是10,因為缺少break;不能跳出。
歸納:- 當switch結構中沒有break的話,匹配到合適的值,是不會跳出的。它會一直匹配到最後一個case,直到整個結構結束。
-
第4題
這裡寫圖片描述
歸納:
- 首先字元串調用substring()方法獲得一個從當前字元串的子串,該子串是從當前字元串的start處截取到end處所得到的字元串, 但不包含end處所對應的字元。
- 垃圾回收主要針對的是堆區記憶體的回收,因為棧區的記憶體隨著線程而釋放。堆區分為3個區:年輕代,年老代,永久代(方法區)。
- 年輕代: 通過new運算符創建的對象通常被分配在年輕代。過一定的Minor GC(Minor GC是針對年輕代記憶體的垃圾回收器)還存活的對象被移動到年老代。
- 年老代: 就是從年輕代移動過來的和一些比較大的對象。Full GC是針對年老代的垃圾回收器。
- 永久代: 存儲著被final修飾的常量,static變數,常量池。
解答:
首先str0,str1是靜態常量,存儲在堆記憶體的永久代。str2也是新的一個對象,因為substring的源碼中其實也是new一個String對象並且返回,str3和str4直接通過new運算符創建出的新對象。str2,str3,str4是存儲在堆區的年輕代。經過Full GC後,年老代的記憶體被清理回收。不算永久代的話,只剩下年輕代。那麼年輕代5*3=15個字元數
-
第5題
這裡寫圖片描述
歸納:- default包和protected的區別:前者只要是外部包,就拒絕訪問。後者只要是子類就能訪問,即時子類在外部包。
-
第6題
這裡寫圖片描述
歸納:- wait()和notify()是對象的方法,而sleep是Thread類的方法。
- wait()和sleep()都會拋出InterruptedException,必須要進行異常捕獲。
- 調用wait()和notify()必須採用當前鎖調用,即必須採用Synchronized中的對象。
-
第7題
這裡寫圖片描述
解答:解答:
dst=new String(src,"GBK").getBytes("UTF-8");
歸納:- 先通過new String(src,"GBK")還原成一個字元串對象,在調用字元串對象的getBytes("UTF-8")得到UTF-8編碼的位元組數組
-
第8題
這裡寫圖片描述
歸納:- GenericServlet是一個抽象類,必須給出子類才能實例化。它給出了設計Servlet的一些骨架,定義了Servlet生命周期,還有一些得到名字,配置,初始化參數的方法。
- HttpServlet是GenericServlet的子類,還添加了 doGet , doPost , doDetele , doTrace等方法處理http協議里的命令的請求響應過程。
- 大多數Servlet通過GenericServlet或者是HttpServlet類進行擴展實現。
- ServletConfig介面定義了在Servlet初始化的過程中由Servlet容器傳遞給Servlet得到配置信息的對象。
- HttpServletRequest介面擴展了ServletRequest介面,為HttpServlet提供HTTP請求信息。
-
第9題
這裡寫圖片描述
歸納:- Java里不允許程式員進行運算符的重載。如果"+"之前是字元串,則視為連接字元串。如果"+"之前是字元串,"+"之後是基本數據類型,那麼還是視為連接。如果"+"之前是基本數據類型,那麼視為加法運算。如果"+"之後是引用類型變數的話,則會調用該對象的toString()方法
-
第10題
這裡寫圖片描述
歸納:- 流媒體是一種可以使音頻,視頻和其他多媒體信息在Internet以及Intranet(企業內部網路)上實現的,無需下載等待的方式進行播放的技術。
尾言
堅持每天把一些遺漏的基礎知識點溫故而知新。
歡迎加入學習交流群569772982,大家一起學習交流。