關於牛客網的JAVA面試題錯題總結以及歸納(1)

来源:http://www.cnblogs.com/wl2014/archive/2017/10/30/7753616.html
-Advertisement-
Play Games

前言 今天在掘金看到一篇關於講解的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;不能跳出。

    歸納:
    1. 當switch結構中沒有break的話,匹配到合適的值,是不會跳出的。它會一直匹配到最後一個case,直到整個結構結束。
  • 第4題

    這裡寫圖片描述

    歸納:

    1. 首先字元串調用substring()方法獲得一個從當前字元串的子串,該子串是從當前字元串的start處截取到end處所得到的字元串, 但不包含end處所對應的字元。
    2. 垃圾回收主要針對的是堆區記憶體的回收,因為棧區的記憶體隨著線程而釋放。堆區分為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題

    這裡寫圖片描述

    歸納:
    1. wait()和notify()是對象的方法,而sleep是Thread類的方法。
    2. wait()和sleep()都會拋出InterruptedException,必須要進行異常捕獲。
    3. 調用wait()和notify()必須採用當前鎖調用,即必須採用Synchronized中的對象。
  • 第7題

    這裡寫圖片描述

    解答:

    解答:

    dst=new String(src,"GBK").getBytes("UTF-8");

    歸納:
    • 先通過new String(src,"GBK")還原成一個字元串對象,在調用字元串對象的getBytes("UTF-8")得到UTF-8編碼的位元組數組
  • 第8題

    這裡寫圖片描述

    歸納:
    1. GenericServlet是一個抽象類,必須給出子類才能實例化。它給出了設計Servlet的一些骨架,定義了Servlet生命周期,還有一些得到名字,配置,初始化參數的方法。
    2. HttpServlet是GenericServlet的子類,還添加了 doGet , doPost , doDetele , doTrace等方法處理http協議里的命令的請求響應過程。
    3. 大多數Servlet通過GenericServlet或者是HttpServlet類進行擴展實現。
    4. ServletConfig介面定義了在Servlet初始化的過程中由Servlet容器傳遞給Servlet得到配置信息的對象。
    5. HttpServletRequest介面擴展了ServletRequest介面,為HttpServlet提供HTTP請求信息。
  • 第9題

    這裡寫圖片描述

    歸納:
    • Java里不允許程式員進行運算符的重載。如果"+"之前是字元串,則視為連接字元串。如果"+"之前是字元串,"+"之後是基本數據類型,那麼還是視為連接。如果"+"之前是基本數據類型,那麼視為加法運算。如果"+"之後是引用類型變數的話,則會調用該對象的toString()方法
  • 第10題

    這裡寫圖片描述

    歸納:
    • 流媒體是一種可以使音頻,視頻和其他多媒體信息在Internet以及Intranet(企業內部網路)上實現的,無需下載等待的方式進行播放的技術。

尾言

堅持每天把一些遺漏的基礎知識點溫故而知新。

 

歡迎加入學習交流群569772982,大家一起學習交流。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 誤刪資料庫時,可以利用insert插入刪除的數據,但是有時表可能有自增欄位如id。這是插入數據如果包含自增欄位就會出現錯誤,提示"IDENTITY_INSERT設置為OFF,插入失敗"。 所以我們將其設置為on即可,sql語句:set IDENTITY_INSERT 表名 on。完美地解決了問題,當 ...
  • 1、把Oracle壓縮文件解壓出來後打開目錄,雙擊“setup.exe”開始安裝 2、彈出“Oracle Universal Installer”視窗 3、出現電子郵件提示,按照預設下一步操作 4、第二步直接按照系統預設即可,點擊‘下一步’ 5、預設安裝桌面類,點擊‘下一步 6、輸入Oracle a ...
  • Asp.net中Request.Url的各個屬性對應的意義介紹 本文轉載自 http://www.jb51.net/article/30254.htm Asp.net中Request.Url的各個屬性對應的意義介紹 本文轉載自 http://www.jb51.net/article/30254.ht ...
  • 什麼是單點登錄? 我想肯定有一部分人“望文生義”的認為單點登錄就是一個用戶只能在一處登錄,其實這是錯誤的理解(我記得我第一次也是這麼理解的)。 單點登錄指的是多個子系統只需要登錄一個,其他系統不需要登錄了(一個瀏覽器內)。一個子系統退出,其他子系統也全部是退出狀態。 如果你還是不明白,我們舉個實際的 ...
  • 用於進行遷移的 Entity Framework Core NuGet 包 註意:必須通過編輯 .csproj 文件來安裝此包;不能使用 install-package 命令或程式包管理器 GUI。 你可以編輯.csproj通過右鍵單擊中的項目名稱的文件解決方案資源管理器並選擇編輯 <ItemGro ...
  • 一、摘要 一說到ADO.NET大家可能立刻想到的就是增、刪、改、查(CRUD)操作,然後再接就想到項目中的SQLHelper。沒錯本課分享課阿笨給大家帶來的是來源於github上開源的DAO資料庫訪問組件DBHelpers。如果您對本次分享《.NET輕量級DBHelpers數據訪問組件》課程感興趣的 ...
  • 業務背景 在稍微複雜點業務系統中,不可避免會碰到做定時任務的需求,比如淘寶的交易超時自動關閉訂單、超時自動確認收貨等等。對於一些定時作業比較多的系統,通常都會搭建專門的調度平臺來管理,通過創建定時器來周期性執行任務。如剛纔所說的場景,我們可以給訂單創建一個專門的任務來處理交易狀態,每秒輪詢一次訂單表 ...
  • 有了SpringMVC和Mabatis的整合後,一個初步WEB框架就形成了,但是完整的SSM框架還需要Spring的支持! 目前為止,我們所添加的配置文件有核心配置文件web.xml,springmvc的配置文件spring-servlet.xml以及Mabatis的配置文件mybatis-conf ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...