用友筆試部分考題
1:什么叫裝箱。
2:String類與StringBuilder類有什么不同,為什么.NET類庫還需要同時存在這兩個類。
3:簡單描述一下private、protected、public、internal的訪問權限。
4:DataReader和DataSet有哪些異同。
5:一個倉庫有如下信息(倉庫ID,存儲物品ID,管理員ID,數量),一個管理員只在一個倉庫工作,一個倉庫可以存儲多種物品,且有如下約束(倉庫ID,存儲物品ID)-à(管理員ID,數量),(管理員ID,存儲物品ID)–à(倉庫ID,數量);要求寫出相關表且要達到BCNF。
6:寫一個SingleTon(單例)模式例子。
7.jsp和servlet有什么區別?
a:servlet是在java代碼里面放html,jsp是在html里面放java代碼(最后運行的時候服務器會把JSP解析成servlet)
b:servlet是一個java類,有自己的映射,而jsp不是
說明:區別太多,請參考http://00000000.net.cn/200606/200606097/97681.htm
8.映射是什么?你怎么理解映射?
映射即別名,通過別名可以訪問
9.Hibernate中:不看數據庫,不看XML文件,不看查詢語句,怎么樣能知道表結構?
看表結構對應的類文件,比如UserInfo表對應的UserInfo.java文件
10.SQLServer支持集群嗎?
支持,但是是屬于熱備份類型,不能做負載平衡。不過符合你的條件。
首先系統做集群,數據庫文件放到磁盤陣列里,雙機或多機共同訪問磁盤陣列,就可以了
IIS可以做集群后負載平衡。
11.為什么要用MVC?我從JSP頁面直接訪問數據庫不是更簡單嗎,為什么非要先提交到控制再做處理?
MVC各施其職,互不干涉
在MVC模式中,三個層各施其職,所以如果一旦哪一層的需求發生了變化,
就只需要更改相應的層中的代碼而不會影響到其它層中的代碼。 有利于開發中的分工
在MVC模式中,由于按層把系統開,那么就能更好的實現開發中的分工。網頁設計人員可以進行開發視圖層中的JSP,
對業務熟悉的開發人員可開發業務層,而其它開發人員可開發控制層。 有利于組件的重用
分層后更有利于組件的重用。如控制層可獨立成一個能用的組件,視圖層也可做成通用的操作界面
說明:這個好處就太多了!!!
12.在struts中,假設有一個對數據庫中一張表的增刪改查的操作,你是寫一個action還是寫多個action?為什么?
寫一個action,讓這個action繼承自DispatchAction,然后在struts-config.xml中給這個action映射加一參數,parameter=”method”
這個在提交到這個action中時,會根據傳來的參數中method的值來執行相應的action的方法,比如,http://localhost:8080/login.do?method=doLogin
這個提交到action的時會自動找方法名叫doLogin的方法,參數返回值原來一樣ActionForward
13.struts中的actionform有什么好處?
struts的actionform其實不好,里面有一堆屬性,雖然可以自動填充,但是你會發現,在很多情況下(比如你用到Hibernate)
你還要需要自動寫一個數據庫表的映射類,通常是domain.UserInfo.java,這樣就和strutsform中的屬性重復,所以他很多余,
struts1.1版本,保留了actionform,struts1.2中已經有了新的LazyValidatorForm,但仍然保留了原有的actionform,
而在struts 2.0中已經把actionform去掉了
下面是解決方法
a: 把actionform換成DynaActionForm ,和原來不同的是在dynaActionForm可以domain.UserInfo.java的一個實例做為他的一個屬性
這樣你就不需要在里面寫一堆的get,set方法,只是在頁面上綁定稍有不同
b: 把actionform換成org.apache.struts.validator.LazyValidatorForm,這樣你完全不用寫你的actionform這個類,直接在xml里面做
相應配置,當然也可以加上驗證框架
警告:這個問題是陷阱,實際上struts的actionform很不好,非常麻煩,用久了你會發現他其實是多余的,所以這個問題你應該說他的壞處,
和怎么把actonform去掉,請參考http://tqyq.blog.hexun.com/2911285_d.html
14.用過Hibernate嗎,用它有什么好處?
Hibernate的最大的好處就是簡化數據庫的操作,允許你的代碼以對象模式來訪問數據庫內容,
比如通常我們找一個User的資料需要select出所需要的資料,而通過hibnate我們可以把這個User的'資料作為一個對象來看待
,通過User.getName()或者User.getId()等操作來獲得,這樣就完全統一了上層JAVA或者C#等OO語言中對于數據庫的非OO操作的不和諧了.
另外對于復雜的表和表之間的關聯我們也不用去使用復雜的Select等SQL來操作,而使用對象可以方便獲得,
比如多對多關系某用戶屬于的部門的名稱,雖然底層數據庫使用了3個表的主鍵關聯操作,
但是我們可以通過User.getDep().getName()來簡單的獲得,這個就是持久化對象的好處了
說明:好處太多,只能在用的過程中慢慢體會 只能說一個字:爽
15.通常所說的web應用程序分3層,即MVC,如果我想分四層,應該怎么分?
加一個Hibernate數據持久層
【用友筆試部分考題】相關文章:
用友JAVA筆試真題07-24
某公司部分筆試題12-05
天晴數碼策劃筆試考題04-15
中創軟件筆試主考題目07-01
目標軟件游戲策劃筆試考題04-15
富士康公司部分招聘筆試題07-19
騰訊校園招聘軟件測試部分筆試題07-26
中國郵政銀行筆試考題分析10-02
臨床執業醫師筆試神經病學常考題05-19
2017鄭州小升初面試筆試部分練習題08-21