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