1. 程式人生 > 實用技巧 >深圳Java開發面試總彙

深圳Java開發面試總彙

SpringBoot有哪些核心註解和配置以及和spring的區別?

https://www.cnblogs.com/lin02/p/11480535.html

https://www.cnblogs.com/lin02/p/11469541.html

springBoot中開發中配置檔案和測試以及生產如何配置?

1.首先在resources目錄下建立完整的配置檔案(包括測試、開發、生產環境下的相關配置檔案)

2.然後建立一個application.yml檔案,因為springboot專案啟動的時候會預設載入該配置檔案,解析其中的內容

3.在application.yml中配置一下內容(Spring.profiles.active = dev[配置檔案的字尾])

,springboot在啟動時會自動解析你配置的檔案application-dev.yml檔案下的配置

Mybatis如何分頁?

  1. 使用陣列分頁查詢出全部資料返回,然後再list中擷取需要的部分
  2. Sql分頁mysql(limit分頁關鍵字)、oracle(rownum偽列)
  3. Pagehelper外掛 首先得匯入maven依賴

Mybatis 如何判斷為null?

使用動態if標籤<if test=”type != null and type !=”’”></if>

Mybaits $#的區別?

#是預編譯處理 $是字串替換

Mybatis在處理#會把#{}替換成?,呼叫PreparedStatement的set方法來賦值

Mybatis在處理${} 會替換成變數值

#可以防止sql注入,提高安全性

事務的四大特性?

事務就是將諾幹個相關操作繫結在一起作為一個邏輯工作單元的sql語句分組,如果任何一個語句操作失敗那麼整個操作就會失敗,以後操作失敗就會回滾到操作前狀態,為了保證要麼執行要麼不執行,就可以使用事務。

事務具有一致性,原子性,隔離性和永續性。即ACID

鎖是實現事務的關鍵,保證事務的完整性和併發性。

你對儲存過程的理解

https://www.cnblogs.com/lin02/p/11583382.html

類似函式,封裝了某些特定功能的SQL語句集,經過編譯儲存在資料庫中的一個特殊物件,儲存過程不能出現在SQL中。

String有哪些方法?

equals:字串是否相同
equalsIgnoreCase:忽略大小寫後字串是否相同
compareTo:根據字串中每個字元的Unicode編碼進行比較
compareToIgnoreCase:根據字串中每個字元的Unicode編碼進行忽略大小寫比較
indexOf:目標字元或字串在源字串中位置下標
lastIndexOf:目標字元或字串在源字串中最後一次出現的位置下標
valueOf:其他型別轉字串
charAt:獲取指定下標位置的字元
codePointAt:指定下標的字元的Unicode編碼
concat:追加字串到當前字串
isEmpty:字串長度是否為0
contains:是否包含目標字串
startsWith:是否以目標字串開頭
endsWith:是否以目標字串結束
format:格式化字串
getBytes:獲取字串的位元組陣列
getChars:獲取字串的指定長度字元陣列
toCharArray:獲取字串的字元陣列
join:以某字串,連線某字串陣列
length:字串字元數
matches:字串是否匹配正則表示式
replace:字串替換
replaceAll:帶正則字串替換
replaceFirst:替換第一個出現的目標字串
split:以某正則表示式分割字串
substring:擷取字串
toLowerCase:字串轉小寫
toUpperCase:字串轉大寫
trim:去字串首尾空格

介面和抽象類?

1、抽象類使用abstract修飾;介面使用Inteface修飾

2、抽象類中的抽象方法只有方法體,沒有具體實現;介面中只能是抽象方法。

3、抽象類只能但繼承,多實現,介面可以多繼承其他介面,但不能實現介面,和不能繼承其他類。

4、抽象類繼承自Object,介面不是。

5、抽象類中有構造器,介面中沒有構造器。

6、抽象類可以有靜態的方法,介面不可以。

7、抽象類中可以有final的方法(非抽象方法),介面中不能有final的方法。

怎麼解決同步?

  加上synchronized關鍵字

  也可以使用特殊域變數volatile關鍵字

Form表單多次提交怎麼解決?

  1. js禁掉提交按鈕—當然如果客戶端把js給禁止掉了就無效了
  2. 使用驗證碼
  3. 使用令牌機制token+session(技術一個隨機數)

Js如何建立物件?

  1. 使用new關鍵字(工廠模式)

Js有哪些設計模式?

單例模式:保證一個類只有一個例項

介面卡模式:解決兩個軟體實體間的不相容問題

裝飾者模式:為物件動態加入行為,經過多重保裝,可以形成一條裝飾鏈

等等等好多

什麼是檢查性異常?

  1. 檢查性異常必須使用try catch或throws等關鍵字進行處理,否則編譯器會報錯
  2. 非檢查性異常一般程式碼寫的不夠嚴謹而導致的問題,可以修改程式碼解決
  3. 所有的檢查性異常都繼承自Exception
  4. 所有的非檢查性異常都是繼承自RuntimeException

什麼是多型?

就是同一種事務的不同種表現形式。

例如重寫、過載、父類的宣告指向子類的物件。可變引數。

Redis有哪些型別?

String這是最簡單的型別,就是普通的set和get,做簡單的Key value快取。

Hash 這個是類似於map的一種結構

List 是有序列表

Set 是無序集合,自動去重。

例如可以利用set的交集可以把兩個人的粉絲列表整一個交集,

看看兩人的共同好友是誰的一個功能。

Sorted set是有序的set,也去重,自動根據分數排序。

Oracle中去重的方式有哪些?

distinct方法

group by分組

Union方法

equals和==的區別?

==如果用在基本資料型別上是同時比較記憶體地址和值,如果是引用型別==比較的是記憶體地址

equals方法是object類的方法,預設比較記憶體地址,如果重寫了安裝重寫的規則進行比較