面試問答
請說明left join, inner join
當你在資料庫中進行查...
技術經理是男生, 這次的單位主管是女生,
整間公司感覺團隊蠻完整, 比較多人, 年輕人也蠻多
人資有點官階感, 有權
決定生死?!
整體面試過程還算平順, 雖然沒問多大高上的問題, hunter給的面試問題資料有可能有誤
本來以為會考JVM
工作會有三天在公司, 兩天遠端
感覺大家算認真, 似乎可穿拖鞋上班, 不會太操勞, 也算兩面兼具, 有精實也有休閒感
面試問答
請說明left join, inner join
當你在資料庫中進行查詢時,JOIN 的使用可以將兩個或多個表格的資料結合在一起。以下是三種類型的 JOIN 的簡短解釋:
INNER JOIN:只返回兩個表格中符合條件的記錄。如果某個表格中沒有相對應的記錄,則不會在結果中顯示。
LEFT JOIN(或 LEFT OUTER JOIN):返回左邊表格中的所有記錄,以及右邊表格中符合條件的記錄。如果右邊表格中沒有相對應的記錄,則會在結果中顯示左邊表格的記錄,並以 NULL 填充右邊的欄位。
RIGHT JOIN(或 RIGHT OUTER JOIN):與 LEFT JOIN 相反,返回右邊表格中的所有記錄,以及左邊表格中符合條件的記錄。如果左邊表格中沒有相對應的記錄,則會在結果中顯示右邊表格的記錄,並以 NULL 填充左邊的欄位。
這三種 JOIN 不同的點在於返回的記錄範圍和條件相符的方式。
我們如果想使用Redis指令, 想把昨天登入的人全部踢掉, 要使用什麼指令?
假設你用集合保存用戶登入資訊:
你可能將昨天登入的用戶存儲為集合 yesterday_users。
使用 SREM 指令來移除用戶:
要從集合中移除所有昨天登入的用戶,可以使用以下指令:
SREM yesterday_users user_id1 user_id2 ...
@Transactional有幾種設置?
在 Java 的 Spring 框架中,@Transactional 註解用於管理事務。它有幾種設置選項,可以根據需求進行配置。主要的設置包括:
propagation: 定義事務的傳播行為。常見的選項有:
REQUIRED: 默認值,當前方法需要一個事務,如果有則使用現有的事務,否則創建一個新的事務。
REQUIRES_NEW: 總是創建一個新的事務,並暫停當前事務。
NESTED: 如果當前有事務,則創建一個嵌套事務。
isolation: 定義事務的隔離級別。常見的選項有:
DEFAULT: 使用資料庫的默認隔離級別。
READ_UNCOMMITTED: 最低的隔離級別。
READ_COMMITTED: 讀取已提交的資料。
REPEATABLE_READ: 確保在事務期間的讀取結果不會改變。
SERIALIZABLE: 最高的隔離級別,確保事務之間完全不會互相干擾。
timeout: 定義事務的超時時間,超過時間後會自動回滾。
readOnly: 設置為 true 時,表示事務是只讀的,這幫助優化性能。
rollbackFor: 指定在回滾事務時要考慮的例外類型。
noRollbackFor: 指定在遇到某些例外時不回滾事務。
這些設置可以根據具體的需求進行靈活的配置,以確保系統的性能和資料的一致性。
面試建議
可能過去專案經驗能說明就好, 也會問到lock, 還有@Transactional, 進行完技術問題會換人資提問, 這部分蠻有趣的, 有問討厭主管的類型, 還有比較喜歡主管的類型, 然後, 會問技術主管說明的工作內容, 就是剛剛技術主管說的時候要記下來, 別發呆,