一、a=10,b=15,在不用第三方變量的前提下,吧a、b互換
二、已知數組int[] max={6,5,2,9,7,4,0};用快速排序算法按降序對其進行排列,並返回數組
三、請簡述面向對象的多態的特性及意義!
面向對象的編程使用了派生繼承以及虛函數機制。javascript
一個原本指向基類的對象能夠指向其派生類的,並訪問從基類繼承而來的成員變量和函數。css
而虛函數是專門爲這個特性設計的,這個函數在每一個基類的派生類中都是同一個名字,但函數體卻並不必定相同,html
派生類每每爲實現本身的功能而修改這個虛函數,這樣用一個指針就可以實現對多種不一樣的派生類的訪問,並實現其派生類的特定功能(代碼)。。。java
四、session喜歡丟值且佔內存,Cookis不安全,請問用什麼辦法代替這兩種原始的方法
用ViewStatecss3
stateserverweb
五、對數據的併發採用什麼辦法進行處理較好。
能夠控制連接池的鏈接數量條件好的話,能夠用負載平衡。算法
六、已知Oracle數據庫有GD和ZS兩個數據庫,GD數據庫v_s表有數據寫入時,從v_s表中提取最新數據到ZS數據庫的D_E表中。請問用什麼辦法解決這一問題?若是又碰到不能互訪的問題時,又用什麼辦法解決?
一箇中型或大型公司每每由地理上分散的部門所組成,這些部門一般須要進行數據共享。針對這些共享數據,能夠將其存儲在某個站點上,須要的用戶都從這個站點上存取。這種方案的優勢是數據的一致性容易保證,但其缺點也是很突出的,那就是該站點的負載大、網絡負載大,遠程用戶的數據響應遲緩。數據複製技術能夠有效地解決這個問題,它經過將這些共享數據複製到位於不一樣地點的多個數據庫中,從而實現數據的本地訪問,減小了網絡負荷,並提升了數據訪問的性能,並且經過對數據庫中的數據按期同步(一般是天天晚上),從而確保了全部的用戶使用一樣的、最新的數據。該技術適用於用戶數量較大、地理分佈較廣、並且須要實時地訪問相同數據的應用模式。sql
數據複製的概念及特色
一、數據複製的概念及分類
數據複製,就是將數據庫中的數據拷貝到另一個或多個不一樣的物理站點上,從而保持源數據庫與目標數據庫中指定數據的一致性。
按照數據複製的實時性,數據複製可分爲同步數據複製和異步數據複製。同步數據複製是指將本地生產數據以徹底同步的方式複製到異地,每一本地IO交易均需等待遠程複製的完成方予以釋放。異步數據複製則是指將本地生產數據之後臺同步的方式複製到異地,每一本地IO交易均正常釋放,無需等待遠程複製的完成。同步複製實時性強,遠端數據與本地數據徹底同步。但這種方式受帶寬影響較大,數據傳輸距離較短。異步複製不影響本地交易,傳輸距離長,但其數據比本地數據略有延遲。在異步複製環境中,對於全部應用最關鍵的就是要確保數據的一致性。
按照複製站點的類型,數據複製可分爲多主控站點複製、物化視圖複製及混合複製。多主控站點複製也稱爲對等站點複製,其中每一個站點都是主控站點,都須要與其餘站點進行信息交流,各站點之間是平等的。物化視圖複製包含一個主控站點、一個或多個物化視圖站點,
物化視圖中的內容能夠爲目標主對象在某個時間點的所有拷貝或部分拷貝,其中目標主對象既能夠是主控站點上的表也能夠是物化視圖站點上的主物化視圖。混合複製包含多個主控站點和多個物化視圖站點,是主控站點複製和物化視圖複製的結合體,適合於複雜的業務狀況。
二、數據複製的特色
數據複製經過在多個站點上創建備份,可以提升數據的安全性,同時也提升了數據的可用性,這是由於若是一個站點出現了問題,用戶能夠選擇其餘站點繼續進行操做,應用系統還可繼續運行,從而數據複製提供了容錯保護機制。
然而數據複製最基本的功能是提升數據庫的性能。它經過將遠程數據庫中的數據複製到本地,使得應用可以就近訪問數據,從而下降網絡傳輸負載,提升效率。並且在數據複製系統中,能夠提供多個站點之間的負載平衡,讓這幾個用戶使用這個服務器,另外幾個用戶能夠
使用其餘的服務器,以免某些站點負載太重。
物化視圖還提供了按子集進行復制,這樣各站點就可只複製本身須要的數據,也能減輕網絡的傳輸量。
數據複製的實現方法
在具體的實現以前,首先要作好設計與規劃。這就須要細緻分析具體的業務狀況,設計出一套可以知足業務須要的方案。一般在設計過程當中,須要肯定出要創建的數據庫站點,各站點的類型,須要複製的數據對象,以及同步方式、衝突解決方案等內容。
在設計完成以後,就可具體來實現數據複製,實現主要包括如下幾步:
(1)建立複製站點
(2)建立組對象
(3)配置衝突解決方案
下面咱們舉一個例子來講明各步具體須要完成的工做。在這個例子中咱們採用多主控站點複製方式,設有兩個主控站點和兩個共享數據表。兩個主控站點分別爲:處理站點(cl.world)和解釋站點(js.wo rld);兩個數據表爲測區( survey)和測線( line)。
STEP1 建立複製站點
(2)建立用戶—複製管理員,併爲該用戶受權複製管理員負責複製站點的建立和管理,每一個複製站點都必須建立複製管理員:
CREATE USER repadmin IDENTIFIED BY repadmin;
BEGIN
DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA (username => ’repadmin’);
END;
(3)爲本站點指定傳播者
傳播者負責將本地最新更新的數據傳播到其餘站點上:
BEGIN
DBMS_DEFER_SYS.REGISTER_PROPAGATOR (username => ’repadmin’);
END;
(4)爲本站點指定接收者
接收者負責接收其餘站點上的傳播者傳送過來的數據:
BEGIN
DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP (
username => ’repadmin’,
privilege_type => ’receiver’,
list_of_gnames => NULL);
END;
(5)肯定清除時間
爲了使傳送過來事務隊列不致過大,須要將成功加載的事務從事物隊列裏清除掉,這裏設定每小時清除一次。
BEGIN
DBMS_DEFER_SYS.SCHEDULE_PURGE (
next_date => SYSDATE,
interval => ’SYSDATE + 1/24’,
delay_seconds => 0);
END;
在創建好站點cl.world後,以一樣的方法建立站點js. world。
(6)建立各主控站點之間的調度連接
建立各主控站點之間的調度連接須要先在各主控站點間創建數據庫連接,以後爲每一個數據庫連接定義調度時間。
首先,在處理站點上創建與解釋站點的數據庫連接,這裏須要先創建一個公用數據庫連接,供其餘私有數據庫連接來使用。
CREATE PUBLIC DATABASE LINK js.world USING ’js.world’;
CREATE DATABASE LINK js.world CONNECT TO repadmin
IDENTIFIED BY repadmin;
一樣,在解釋站點上創建與處理站點的數據庫連接
CREATE PUBLIC DATABASE LINK cl.world USING ’cl.world’;
CREATE DATABASE LINK cl.world CONNECT TO repadmin
IDENTIFIED BY repadmin;
調度連接肯定本站點上的事務向其餘站點發送的頻度,下面的代碼爲10分鐘一次:
BEGIN
DBMS_DEFER_SYS.SCHEDULE_PUSH (
destination => ’js.world’,
interval => ’SYSDATE + (1/144)’,
next_date => SYSDATE,
parallelism => 1,
execution_seconds => 1500,
delay_seconds => 1200);
END;
在解釋站點上作相同的工做STEP2 建立主控組在複製環境中,Oracle用組來管理複製對象。經過將相關的複製對象放在一個組裏,從而方便對大量數據對象的管理。
這裏咱們假設用戶模式integr ation 在處理站點和解釋站點都已存在,並且表測區(survey )和測線(line)也已經建立。
(1)建立主控組對象
BEGIN
DBMS_REPCAT.CREATE_MASTER_REPGROUP (
gname => ’inte_repg’);
END;
(2)向主控組中添加數據對象,將測區表survey加入到組inte_repg中
BEGIN
DBMS_REPCAT.CREATE_MASTER_REPOBJECT (
gname => ’inte_repg’,
type => ’TABLE’,
oname => ’survey’,
sname => ’integration’,
use_existing_object => TRUE,
copy_rows => FALSE);
END;
以一樣的方法將測線表line 加入到組inte_repg中
(3)在主控組中添加其餘參與複製的站點,數據庫之間的同步方式在此指定
BEGIN
DBMS_REPCAT.ADD_MASTER_DATABASE (
gname => ’inte_repg’,
master => ’js.world’,
use_existing_objects => TRUE,
copy_rows => FALSE,
propagation_mode => ’ASYNCHRONOUS’);
END;
(4)若是可能出現衝突,則須要配置衝突解決方案。衝突解決方案將在後面介紹。
(5)爲每一個對象生成複製支持
BEGIN
DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT (
sname => ’integration’,
oname => ’survey’,
type => ’TABLE’,
min_communication => TRUE);
END;
測線表line也同樣
(6)從新開始複製
BEGIN
DBMS_REPCAT.RESUME_MASTER_ACTIVITY (
gname => ’inte_repg’);
END;
以一樣的方式設置解釋站點。設置成功後,數據複製過程就宣告完畢,庫中的數據就可進行復制。
數據複製中衝突的解決方案
在複製環境中,儘管在數據庫和應用程序設計過程當中,會盡可能避免各站點間衝突的發生,但徹底避免衝突的可能性仍是比較小的,那麼一旦衝突發生,就須要一個按照具體業務規則的衝突解決機制,來使得各站點的數據保持一致。
首先須要分析哪些對象容易出現衝突。一般來講,靜態的數據變化少,衝突出現的可能性也小;而有些數據變化很是大,衝突出現的可能性也大。肯定了衝突易發的對象後,須要肯定怎樣解決衝突,好比在各站點之間創建優先次序,在數據不一致時,以某個站點上的爲
準;或以某個站點上最新的修改成準。
Oracle提供了多中衝突解決方案,具體包括:針對更新衝突的方案、針對惟一性衝突的方案、針對刪除衝突的方案。除了這些方案之外,用戶還能夠自定義衝突解決方法。每種方案都有本身的適用狀況,那麼咱們須要根據具體的業務來選擇合適的衝突解決方案。
七、已知Oracle數據庫a,b
如今在a用戶權限下,訪問b數據庫sql語句爲select a.* From b a,請改正這一句Sql的寫法
select a.* from b.b a數據庫
八、當對數據庫進行海量級的數據插入時,數據庫出現報錯,錯誤緣由可能有哪些,以你的經驗談談你的解決辦法
對於oracle數據庫來講,可能出現的問題包括:
1. 回滾區間空間不足 --- 解決方法,增長表空間
2. 數據表空間不足 ---- 增長數據表空間
3. 表空間不足 ---- 增長表空間(oracle數據表有空間限制)
4. 臨時表空間不足 --- 由於計算索引使用臨時表空間,增長表空間或者暫時不使用索引,數據導入完畢再從新創建索引
5.另一些緣由,主要是垃圾數據形成的,好比外鍵匹配,主鍵衝突,單一索引衝突等。
九、算法分析
AH 20060625 12 44 01 CAD001
AH 20060625 12 44 01 CAD001
AH 20060625 13 44 02 CAD001
AH 20060625 14 44 03 CAD001
說明:第二列表示日期,第三列表示溫度,第四列表示水位,第五列表示流量,第6列表示水位測站編碼,每一列表示一個字段
很明顯第一條數據和第二條數據重複,然數據表中有主鍵和外鍵的約束,是不容許有重複的數據存在的,請構造算法將重複的數據Del掉
DELETE FROM TABLE_NAME
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D
WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);
十、一、兔子繁殖問題(有一對兔子,從出生後4個月起,每2個月生一對兔子,第幾個月共有幾隻兔子)
int a = 1, b = 0, c = 0;
for (int i = 1; i <= 10; i++)
{
c = a;
a = a + b;
b = c;
Console.WriteLine("第{0}個月有{1}對兔子", i, b);
}
十一、什麼是響應式佈局?它是運用什麼技術實現的?
一、概念
響應式網頁設計最初是由 Ethan Marcotte 提出的一個概念:爲何必定要爲每一個用戶羣各自打造一套設計和開發方案?Web設計應該作到根據不一樣設備環境自動響應及調整。固然響應式Web設計不只僅是關於屏幕分辨率自適應以及自動縮放的圖片等等,它更像是一種對於設計的全新思惟模式;咱們應當向下兼容、移動優先。編程
簡而言之,就是一個網站可以兼容多個終端——而不是爲每一個終端作一個特定的版本。這個概念是爲解決移動互聯網瀏覽而誕生的。
響應式佈局能夠爲不一樣終端的用戶提供更加溫馨的界面和更好的用戶體驗,並且隨着目前大屏幕移動設備的普及,用「大勢所趨」來形容也不爲過。隨着愈來愈多的設計師採用這個技術,不只看到不少的創新,還看到了一些成形的模式。
二、優勢
面對不一樣分辨率設備靈活性強
可以快捷解決多設備顯示適應問題
三、缺點
兼容各類設備工做量大,效率低下
代碼累贅,會出現隱藏無用的元素,加載時間加長
其實這是一種折中性質的設計解決方案,多方面因素影響而達不到最佳效果
必定程度上改變了網站原有的佈局結構,會出現用戶混淆的狀況
四、Meta標籤訂義
使用 viewport meta 標籤在手機瀏覽器上控制佈局
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" />
經過快捷方式打開時全屏顯示
<meta name="apple-mobile-web-app-capable" content="yes" />
隱藏狀態欄
<meta name="apple-mobile-web-app-status-bar-style" content="blank" />
iPhone會將看起來像電話號碼的數字添加電話鏈接,應當關閉
<meta name="format-detection" content="telephone=no" />
經常使用於佈局的CSS Media Queries有如下幾種
六、設備類型(media type):
all
全部設備
screen
電腦顯示器
print
打印用紙或打印預覽視圖
handheld
便攜設備
tv
電視機類型的設備
speech
語意和音頻盒成器
braille
盲人用點字法觸覺回饋設備
embossed
盲文打印機
projection
各類投影設備
tty
使用固定密度字母柵格的媒介,好比電傳打字機和終端
七、設備特性(media feature):
width
瀏覽器寬度
height
瀏覽器高度
device-width
設備屏幕分辨率的寬度值
device-height
設備屏幕分辨率的高度值
orientation
瀏覽器窗口的方向縱向仍是橫向,當窗口的高度值大於等於寬度時該特性值爲portrait,不然爲landscape
aspect-ratio
比例值,瀏覽器的縱橫比
device-aspect-ratio
比例值,屏幕的縱橫比
十二、對MVC的理解
簡單來講,MVC是一種流行的程序架構,得到C#、Java、PHP、Ruby等多種語言的支持。MVC是 模型(Model) 、視圖(View)、控制器(Control) 的英文首字母的縮寫,核心思想是:視圖和用戶交互 經過事件致使控制器改變 控制器改變致使模型改變 或者控制器同時改變二者 模型改變 致使視圖改變 或者視圖改變 潛在的從模型裏面得到參數 來改變本身。
MVC(Model-View-Controller),即把一個應用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應用被分紅三個層——模型層、視圖層、控制層。
視圖(View):表明用戶交互界面,MVC設計模式對於視圖的處理是限於視圖上數據的採集和處理,以及用戶的請求,而不包括在視圖上的業務流程的處理。
模型(Model):業務流程/狀態的處理以及業務規則的制定。業務流程的處理過程對其它層來講是黑箱操做,模型接受視圖請求的數據,並返回最終的處理結果。業務模型的設計能夠說是MVC的核心。
控制(Controller):能夠理解爲從用戶接收請求, 將模型與視圖匹配在一塊兒,共同完成用戶的請求,可是它卻不作任何的數據處理。
它的優點在與:開發人員能夠只關注整個結構中的其中某一層,能夠很容易的用新的實現來替換原有層次的實現,能夠下降層與層之間的依賴,有利於標準化,利於各層邏輯的複用
1三、new有幾種用法
第一種:new Class();
第二種:覆蓋方法
public new XXXX(){}
第三種:new 約束指定泛型類聲明中的任何類型參數都必須有公共的無參數構造函數。
1四、如何把一個array複製到arrayList裏
foreach( object o in array )arrayList.Add(o);
1五、datagrid.datasouse能夠鏈接什麼數據源
dataset,datatable,dataview , IList
1六、在asp.net中各類文件所對應的後綴名:
.sln: 解決方案文件;
csproj: 項目文件,
.aspx.cs:,該文件稱做代碼隱藏類文件(.aspx.cs)。
.cs: 類模塊代碼文件。業務邏輯處理層的代碼。
.asax:Global.asax 文件(也叫作 ASP.NET 應用程序文件)是一個可選的文件,該文件包含響應 ASP.NET 或 HTTP 模塊引起的應用程序級別事件的代碼。
.aspx.resx/.resx:資源文件
.asmx:asmx 文件包含 WebService 處理指令,並用做 XML Web services 的可尋址入口點
.vsdisco(項目發現)文件 基於 XML 的文件,它包含爲 Web 服務提供發現信息的資源的連接 (URL)。
.htc:一個HTML文件,
.ashx: 通常處理程序
.ascx: 用戶控件