面試
MVC
MVC是三個單詞的縮寫分別為 模型(Model)視圖(View)和控制Controller) MVC模式的目的就是實現Web系統的職能分工 Model層實現系統中的業務邏輯通常可以用JavaBean或EJB來實現 View層用於與用戶的交互通常用JSP來實現 Controller層是Model與View之間溝通的橋梁它可以分派用戶的請求並選擇恰當的視圖以用於顯示同時它也可以解釋用戶的輸入並將它們映射為模型層可執行的操作
MVC可與生活中什麼對應起來
MVC有什麼優點
低耦合性 視圖層和業務層分離這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼同樣一個應用的業務流程或者業務規則的改變只需要改動MVC的模型層即可因為模型與控制器和視圖相分離所以很容易改變應用程序的數據層和業務規則
高重用性和可適用性 隨著技術的不斷進步現在需要用越來越多的方式來訪問應用程序MVC模式允許你使用各種不同樣式的視圖來訪問同一個服務器端的代碼它包括任何WEB(HTTP)浏覽器或者無線浏覽器(wap)比如用戶可以通過電腦也可通過手機來訂購某樣產品雖然訂購的方式不一樣但處理訂購產品的方式是一樣的由於模型返回的數據沒有進行格式化所以同樣的構件能被不同的界面使用例如很多數據可能用HTML來表示但是也有可能用WAP來表示而這些表示所需要的命令是改變視圖層的實現方式而控制層和模型層無需做任何改變
較低的生命周期成本 MVC使降低開發和維護用戶接口的技術含量成為可能
快速的部署 使用MVC模式使開發時間得到相當大的縮減它使程序員(Java開發人員)集中精力於業務邏輯界面程序員(HTML和JSP開發人員)集中精力於表現形式上
可維護性 分離視圖層和業務邏輯層也使得WEB應用更易於維護和修改
有利於軟件工程化管理 由於不同的層各司其職每一層不同的應用具有某些相同的特征有利於通過工程化工具化管理程序代碼
你認為你比別人強的地方是什麼
筆試
數據庫方面
請說明IN和EXISTS的區別
IN 其實與等於相似比如in() 就是 = or = 的一種簡單寫法所以一般在元素少的時候使用IN如果多的話就用exists
exists的用法跟in不一樣一般都需要和子表進行關聯而且關聯時需要用索引這樣就可以加快速度
測試表明exists效率更高
char和 varchar的區別
.CHAR 的長度是固定的而VARCHAR的長度是可以變化的 比如存儲字符串abc;對於CHAR ()表示你存儲的字符將占個字節(包括個空字符)而同樣的VARCHAR ()則只占用個字節的長度只是最大值當你存儲的字符小於時按實際長度存儲
.CHAR的效率比VARCHAR的效率稍高
.目前VARCHAR是VARCHAR的同義詞工業標准的VARCHAR類型可以存儲空字符串但是oracle不這樣做盡管它保留以後這樣做的權利Oracle自己開發了一個數據類型VARCHAR這個類型不是一個標准的VARCHAR它將在數據庫中varchar列可以存儲空字符串的特性改為存儲NULL值如果你想有向後兼容的能力Oracle建議使用VARCHAR而不是VARCHAR
char: 使用指定長度的固定長度表示的字符串比如char()則數據庫會使用固定的個字節來存儲數據不足為的字符串在其後補空字符varchar 在oracle中varchar跟char是一個類型sqlserver中varchar相當於oracle中的varcharvarchar 用實際字符數+個字節來存儲的變長字符串比如一個字段定義為varchar()而實際存儲的內容為A則數據庫會用個字節來存儲該字符串其中前兩個字節用來存儲字符的長度 在數據庫中的字段由於一個字段大小不能超過一個block的長度所以varchar和char都是最大為個字節由於可能會存儲漢字也就是一個字符用個字節來存儲所以字段中最大定義為varchar()而在plsql中這個大小的限制變為左右這是因為表示其大小的字節只有兩個
UNION和UNION ALL 的區別
其他的集合操作符如Intersect和Minus的操作和Union基本一致這裡一起總結一下
Union對兩個結果集進行並集操作不包括重復行同時進行默認規則的排序
Union All對兩個結果集進行並集操作包括重復行不進行排序
Intersect對兩個結果集進行交集操作不包括重復行同時進行默認規則的排序
Minus對兩個結果集進行差操作不包括重復行同時進行默認規則的排序
可以在最後一個結果集中指定Order by子句改變排序方式
寫一個用EXP命令通過system用戶(密碼是abc)到處YSS用戶數據文件到FUNdmp以及到處Log文件FUN_logLog到C盤根目錄
批處理
請描述smit命令功能
rem命令功能和有什麼不同的地方
注釋
Call命令的功能call命令調用的是一個過程還是一個文件?
調用bat文件
echo off 的功能
關閉程序執行過程的顯示
Java方面
寫出jdbc修改數據庫表數據的各個步驟(代碼實現)
import javasql*;
public class Accemp{
public static void main (String []args){
Connection con;//數據庫連接對象(代表與一數據庫連接)
Statement stumt;// 語句對象(可以接收和執行一條sql語句)
ResultSet rs;//結果集對象(保存查詢返回的結果)
//加載驅動
DriverManagerregisterDriver(new sunjdbcodbcJdbcOdbcDriver());
//建立一個數據庫連接
con = DriverManagergetConnection(;jdbc:odbc:employee;);
stmt = concreateStatement();
rs = stmtexecuteQuery(;select ename from xxx;);
while(rsnext()){
Systemoutprint(rsgetString(;ename;)+; ;);
};
}
}
說明statement和Prepare statement 的區別寫出代碼
statement 用於執行一個靜態sql語句並返回sql語句參數賦值
prepare statement 用於執行預編譯的sql語句可為sql語句參數賦值
PS以上答案不一定全對只是個人總結如果有更好的答案還望不吝賜教謝謝
From:http://tw.wingwit.com/Article/program/Java/JSP/201405/30949.html