看了很多面試者斋否,雖然可能你能力很強枫耳,但是一些基礎的面試題還是不知道,不覺地為面試者抓把汗吶屋剑!今天主要分享一下面試題目和如何解答润匙。
你是怎么理解關系數據庫的事務的,平時工作中你們是采用什么技術來做事務處理的唉匾,這種事務處理機制的原理是什么
我面試過的好幾個求職者都拿銀行轉賬什么的例子來說明關系數據庫的事務孕讳,其實我更希望他們能夠從關系數據庫事務的 a c i d四個方面來一一解答,只要應聘者能夠回答出a c i d四個特征巍膘,那么厂财,第一個問題就是滿分。
工作中采用什么技術來做事務處理峡懈,我認為這是一道比較開放的問題璃饱,可以從代碼層面的編程式事務處理和類似spring框架提供的聲明式事務處理兩個方面來回答,編程式式事務處理就是在代碼中通過jdbc的connection手動開啟事務和手動提交事務肪康,也可以使自動提交事務荚恶。聲明式就是spring的T r a n s a c t i o n M a n a g e r是通過a o p(動 態(tài)代 理)。對于答案磷支,代理的給6分谒撼,如果能夠展開說面向切面編程和動態(tài)代理的,給滿分10分雾狈;關于聲明式事 務處理的控制廓潜,能夠答出T r a n s a c t i o n Ma n ag er或者a o p或者 動 +態(tài) 代 理任何一個的給5分。
java中支持多繼承嗎?請詳細說明辩蛋。
這個是很基礎了呻畸,多方面舉例說明
java原生的char數據類型采用的什么編碼方式?
Java的字符類型采用的是UTF-16編碼方式對Unicode編碼表進行表示堪澎。其中一個char類型固定2Bytes(16bits)
IOException是運行時異常嗎擂错?
錯誤Error和異常Exception
運行時異常都是RuntimeException類及其子類異常,jvm接管或者自己處理
非運行時異常是RuntimeException以外的異常樱蛤,類型上都屬于Exception類及其子類。如 IOException剑鞍、SQLException 等以及用戶自定義的Exception異常必須自己處理
main方法中啟動了一個子線程昨凡,請問當main主線程執(zhí)行完畢的時候,main方法退出嗎蚁署?在什么樣的情況下main方法會退出便脊,什么樣的情況下main方法會等待子線程結束后退出?
不會光戈,必須等子線程結束才會退出哪痰,但是當子線程是守護線程的話會退出
知道java.util.concurrent下面的AtomicInteger嗎?說說它的作用和Integer的區(qū)別久妆。
這個就是看你對API理解了(其實我也不太清楚晌杰,只是想到就問)
http協(xié)議是什么,http協(xié)議的結構筷弦?http協(xié)議是如何被解析肋演?
這個問題主要是對協(xié)議報文的理解。
協(xié)議是指計算機通信網絡中兩臺計算機之間進行通信所必須共同遵守的規(guī)定或規(guī)則烂琴,超文本傳輸協(xié)議(HTTP)是一種通信協(xié)議爹殊,它允許將超文本標記語言(HTML)文檔從Web服務器傳送到客戶端的瀏覽器
HTTP協(xié)議詳解之URL篇
http://www.mywebsite.com/sj/test/test.aspx?name=sviergn&x=true#stuff
Schema: http指定低層使用的協(xié)議(例如:http, https, ftp)
host: www.mywebsite.comHTTP服務器的IP地址或者域名
path: /sj/test/test.aspx訪問資源的路徑
Query String: name=sviergn&x=true發(fā)送給http服務器的數據
Anchor: stuff錨
port# HTTP服務器的默認端口是80,這種情況下端口號可以省略奸绷。如果使用了別的端口梗夸,必須指明,例如 http://www.cnblogs.com:8080/
HTTP協(xié)議詳解之請求篇
http請求由三部分組成号醉,分別是:請求行反症、消息報頭、請求正文
1.請求報文的格式如下:
請求頭 通用信息頭 請求頭 實體頭 報文主體
HTTP協(xié)議詳解之響應篇
HTTP響應也是由三個部分組成扣癣,分別是:狀態(tài)行惰帽、消息報頭、響應正文
響應報文的格式如下:
狀態(tài)行 通用信息頭 響應頭 實體頭 報文主體
mvc和三層架構的區(qū)別父虑。
這是一個很容易搞混的問題该酗。
三層架構是一種分層式的軟件體系架構設計,mvc是一種設計模式
三層架構將整個項目劃分為:表現(xiàn)層(UI)、業(yè)務邏輯層(BLL)呜魄、數據訪問層(DAL)悔叽。
MVC 即Model(模型),View(視圖)爵嗅,Controller(控制)
三層架構的目的著重點是“高內聚娇澎,低耦合”,即解耦睹晒。
MVC的目的則是實現(xiàn)Web系統(tǒng)的職能分工趟庄,即職責劃分。===========三層側重的是整體的一個解耦伪很,而MVC側重的是web系統(tǒng)的解耦
spring的A O P原理戚啥?
實現(xiàn)AOP的技術,主要分為兩大類:一是采用動態(tài)代理技術锉试,利用截取消息的方式猫十,對該消息進行裝飾,以取代原有對象行為的執(zhí)行呆盖;
二是采用靜態(tài)織入的方式拖云,引入特定的語法創(chuàng)建“方面”,從而使得編譯器可以在編譯期間織入有關“方面”的代碼应又。
在Spring中宙项,AOP代理可以是JDK動態(tài)代理或者CGLIB代理
談談對A O P的理解
這個我喜歡聽到面試者自己的理解,而不是書本內容丁频,要的是深刻理解杉允。
aop切面編程就是在常規(guī)的執(zhí)行java類中方法前或執(zhí)行后加入自定義的方法。比如你本來每天都去打醬油席里,去叔磷,打醬油,回〗贝牛現(xiàn)在我每天在你打醬油路上等著改基,你去打醬油的時候我打你一頓,
回來的時候給你點糖果吃咖为。你根本不知道為什么我會在路上攔住打你秕狰。
所以在切面中插入你自定義的方法,這個方法的執(zhí)行和本身要執(zhí)行的類方法無關系躁染,也就是不是這個類的方法來調用你寫的方法的鸣哀,你寫的方法什么時候執(zhí)行都是要通過在配置指定。我打完你吞彤,你該打醬油還是去打醬油我衬,當然我如果是攔住你讓你醬油打少點叹放,你打醬油的時候還是會打那么多,但是在你打完醬油回來的時候我可以把你的醬油倒些出去挠羔,
所以嵌入的自定義方法對要調用的類方法本身沒有影響井仰,但是可以操縱這個方法的返結果或者處理結果。
mysql的a c i d和mysql默認事務隔離級別破加?
SERIALIZABLE(序列化)
REPEATABLE READ(可重復讀)
READ COMMITTED(提交讀)
READ UNCOMMITTED(未提交讀)
MySQL的InnoDB默認是使用的RR級別
Oracle如何自增主鍵俱恶?
學習Java的同學注意了!7兑ā合是!
學習過程中遇到什么問題或者想獲取學習資源的話,歡迎加入Java學習交流群346942462尿背,我們一起學Java端仰!