記錄三個面試題

2021-10-10 02:48:59 字數 1069 閱讀 9982

說實話,當時問到我這個問題的時候,我是懵逼的;因為我從來沒有遇到過這樣的問題,結果就game over了;

一般情況下,我們在給sql傳參的時候都是使用#{}來獲取傳入引數的,然而它還有另一種方式,就是通過${}來獲取傳入引數;

#{}拼接後的sql:

${}拼接後的sql:

官方解釋:

說實話,因為自己寫**寫專案啥的,都是用#{},沒出過問題,也不知道還有其他,結果因為這個掛了,雖說自己學藝不精,但感覺還是怪怪的;感覺就像我能幹這個事了不行,你還得知道怎麼把它攪黃了才行,哎難受;

原因1:在方法內部自己捕獲了異常

如果異常剛好**獲的話,你就無法觸發transactional註解,所以自然也就無法回滾事務;(誰閒的沒事兒去造異常還自己捕獲?)

原因2:同時使用了spring和springmvc,但是springmvc中註解掃瞄的位置包含了需要事務支援的包

這個問題是由於載入spring和springmvc專案的時候,會先載入spring的配置檔案,也就是先建立spring的ioc容器,而springmvc的ioc容器是springioc容器的子容器,所以springmvc的註解掃瞄如果掃瞄了需要事務支援的包,那麼就會由springmvcd的ioc容器來建立這些類,而springmvc不具有事務管理的功能,自然也就會導致事務失效

但當時為什麼沒有答上來呢?其實是因為想太多了,我當時想的是,如果衝突的地方很多那手動是處理不過來的,而一旦發生,應該有對應的處理方式的,那這種處理方式,或者操作命令我沒有見過也沒有用過,一下子就不知道怎麼回答了,結果還得人手動處理;

《劍指offer》的又三個面試題

1.調整陣列使奇數全部都位於偶數前面。題目 輸入乙個整數陣列,實現乙個函式,來調整該陣列中數字的順序使得陣列中所有的奇數字於陣列的前半部分,所有偶數字於陣列的後半部分。define crt secure no warnings 1 include includevoid jump arr int a...

hadoop 01 hadoop的三個面試題

如果是小檔案 大檔案情況 map集合,list集合,陣列,set集合 都是在記憶體進行操作的,檔案過大會造成記憶體溢位,根本無法處理。一台機器原始效能有限,根據摩爾定律 每18 24個月硬體效能提公升一倍,但是資料的增加速度遠遠大於硬體的提公升速度。縱向擴充套件效能不是最終的解決方案。我們考慮橫向擴...

C 經典面試題經理和三個女兒

乙個經理有三個女兒,三個女兒的年齡加起來等於13,三個女兒的年齡乘起來等於經理自己的年齡,有乙個下屬已知道經理的年齡,但仍不能確定經理三個女兒的年齡,這時經理說只有乙個女兒超過6歲,然後這個下屬就知道了經理三個女兒的年齡。請問三個女兒的年齡分別是多少?private static int first...