程式員:開汽車,難道我要知道汽車的原理才能把車開好嗎?

來源:互聯網
上載者:User

一個網友的迷惑:

    我工作5年了,一直做J2EE的項目,前幾天去面試,一個人問我JDBC有幾種串連方式,這個問題這麼多年以來我從來沒有遇見過,不知道大家 怎麼看的。

    還有一個問題,說是折半尋找的地時間複雜度,這個問題在大學剛畢業的時候我肯定會,但是這麼多年過去了,我從來沒有考慮過這樣的問題。我不知道有沒有人在J2ee的項目中遇見過這樣的事情。

    還有,面試的時候,公司會為一些原理性的東西,SPring中的事務是怎麼實現的,AOP是怎麼實現的,不是說得怎麼用而是說的是spring代碼中如何?的。

  說實話這個問題很有深度,也很好,但是我工作這麼多年使用了那麼長時間的spring和Hibernate,從來沒有關心它內部是怎麼實現的。
我就有疑問了,我要使用一個工具,比如說,開汽車,難道我要知道發動機是幾衝程的,什麼人設計的,設計的原理是什麼,為什麼這麼設計,什麼材料設計的,知道這些我才能把汽車開好嗎

 

我的回覆:

    我是時間更長的菜鳥,我來應聘看看:

    一個人問我JDBC有幾種串連方式

    答:我想,他問的是JDBC的幾個模式吧,比如Type1, 到 Type 4, 具體的我還真分不清了,可以肯定的是:Type 4是純Java開發的, 其中一個是jdbc-odbc橋的, 另一個是用於web頁面連結(applet)遠端連線的,最後一個是本機群組件cli的。我們一般都選用Type4的驅動,因為無需安裝資料庫的專用用戶端。

 

    折半尋找的地時間複雜度

    答:我是野戰軍,我不明白什麼叫折半尋找,也不知道什麼叫複雜度。所以是0分。因為我不需要知道這些,如同樓主自己說的,項目裡從來沒用到過這些東西,真遇到了,翻翻書,查查資料就行了。

 

   SPring中的事務是怎麼實現的,AOP是怎麼實現的

    答:這個我真沒仔細讀過源碼,但對於事務,肯定是維持一個與當前線程或者session有關的資料庫連接,在事務開始時,啟動串連,並設定 setAutoCommit(false), 在事務結束時,提交或者復原事務。
至於AOP, 我理解是通過代碼重構和再次封裝,讓一些代碼先運行,再運行原始代碼,最後運行一些代碼。所以我見到的AOP都是在方法的前後切入,我還真沒看過在中間切入的呢。呵呵!

 

   開汽車,難道我要知道發動機是幾衝程的,什麼人設計的,設計的原理是什麼,為什麼這麼設計,什麼材料設計的,知道這些我才能把汽車開好嗎

 

  答:如果我們做的就是設計汽車,那麼肯定要熟悉了,如果我們做的是維修汽車,那麼也需要。但是,我們不是開車的。那些使用我們軟體的最終客戶,才是開車的,而我們程式員,是車輛的組裝工程師,我們的任務就是選擇合適的車輛組件,然後進行正確的組裝,並按時交個終端使用者。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.