深圳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[配置檔案的字尾])
Mybatis如何分頁?
- 使用陣列分頁查詢出全部資料返回,然後再list中擷取需要的部分
- Sql分頁mysql(limit分頁關鍵字)、oracle(rownum偽列)
- 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表單多次提交怎麼解決?
- js禁掉提交按鈕—當然如果客戶端把js給禁止掉了就無效了
- 使用驗證碼
- 使用令牌機制token+session(技術一個隨機數)
Js如何建立物件?
- 使用new關鍵字(工廠模式)
Js有哪些設計模式?
單例模式:保證一個類只有一個例項
介面卡模式:解決兩個軟體實體間的不相容問題
裝飾者模式:為物件動態加入行為,經過多重保裝,可以形成一條裝飾鏈
等等等好多
什麼是檢查性異常?
- 檢查性異常必須使用try catch或throws等關鍵字進行處理,否則編譯器會報錯
- 非檢查性異常一般程式碼寫的不夠嚴謹而導致的問題,可以修改程式碼解決
- 所有的檢查性異常都繼承自Exception
- 所有的非檢查性異常都是繼承自RuntimeException
什麼是多型?
就是同一種事務的不同種表現形式。
例如重寫、過載、父類的宣告指向子類的物件。可變引數。
Redis有哪些型別?
String這是最簡單的型別,就是普通的set和get,做簡單的Key value快取。
Hash 這個是類似於map的一種結構
List 是有序列表
Set 是無序集合,自動去重。
例如可以利用set的交集可以把兩個人的粉絲列表整一個交集,
看看兩人的共同好友是誰的一個功能。
Sorted set是有序的set,也去重,自動根據分數排序。
Oracle中去重的方式有哪些?
用distinct方法
用group by分組
Union方法
equals和==的區別?
==如果用在基本資料型別上是同時比較記憶體地址和值,如果是引用型別==比較的是記憶體地址
equals方法是object類的方法,預設比較記憶體地址,如果重寫了安裝重寫的規則進行比較