第一篇:國企筆試計算機類基礎問題
計算機類面試專業問題 2007-12-11 00:01
1、java
因為我投的職位主要是java相關的,所以這方面積累的經驗比較多一下。這部分考
查的重點主要有:java基本語法,多線程,異常處理,抽象類,匿名類,接口,MVC架構,設計模式,Servlet,Struts,Spring,J2EE。以下是我遇見過的面試問題: 1)transient和volatile是java關鍵字嗎?(瞬聯)2)抽象類和接口有什么區別?(瞬聯)3)能說一下java的反射機制嗎?(瞬聯)4)在java中怎樣實現多線程?(瞬聯)
5)你用過哪種設計模式?(瞬聯,IBM,aspenTech)6)請說一下MVC架構(瞬聯,IBM,aspenTech)
7)如果類a繼承類b,實現接口c,而類b和接口c中定義了同名變量,請問會出現什么問題?(瞬聯)
8)請說一下java中為什么要引入內部類?還有匿名內部類?(瞬聯,IBM)9)請說一下final,finally和finalize的區別?(瞬聯)10)請說一下HTTP請示的基本過程(IBM)
11)java中存在內存泄漏問題嗎?請舉例說明?(IBM)
12)請說一下java中的內存回收機制所采用的算法(IBM,瞬聯)
13)請說一下System.gc()函數的作用。什么什么時候可以調用垃圾回收器?(瞬聯)
14)你做過的項目中采用了什么安全認證機制?(IBM)15)Math.round()什么作用?
2、C
C語言考查的重點一般是:指針、結構體、條件編譯、全局變量/局部變量。以下是 我遇見過的面試問題:
1)請說一下extern C的作用(漢略)2)請說一下#ifdef...的作用(漢略)
3)C語言里,哪些變量是存放在堆里,哪些是存放在棧里?(普天)4)C語言里的static關鍵詞是什么含義?(普天)5)進程和線程有什么區別?(普天)
3、C++
C++語言考查的重點主要有:多繼承,抽象類,虛函數,拷貝構造函數,析構函數,動態聯編,多態,const,static。以下是我面試中遇到的問題: 1)你聽說過拷貝構造函數嗎?能具體說一下它的作用嗎?(漢略)2)析構函數必須是虛函數嗎?為什么?(漢略)3)你聽說過鉆石結構嗎?請具體說一下(aspenTech)
4)什么是深拷貝?什么是淺拷貝?他們有什么區別?(aspenTech)5)什么是虛函數,什么是純虛函數?為什么引入虛函數和純虛函數?(漢略,aspenTe ch,普天)
6)請說一下面向對象的基本特性。(aspenTech)
7)C++中的const關鍵定代表什么含義?跟C語言中的const有什么區別?(aspenTech)8)C++中的static關鍵定代表什么含義?跟C語言、Java中的static有什么區別?(普天)
4、數據結構
這是面試中幾乎必考的部分。考查的重點有:鏈表,二叉樹前序、中序、后序遍歷
(遞歸,非遞歸),二叉樹結點、層次的計算,樹轉二叉樹,各種排序算法(冒泡排序,快速排序,堆排序是重點)。以下是我在面試中遇到過的問題: 1)請編寫程序,將一個鏈表倒置。(聯發)2)請編寫二叉樹的中序遍歷非遞歸算法。(新華社)3)請編寫一個程序,實現將樹轉化成二叉樹。(華為)
4)一棵滿二叉樹有x個結點,請問整棵二叉樹有多少結點?(新華社,中國信保)
5)請編程實現一個堆排序算法/快速排序算法。(漢略)
5、數據庫
這也是面試重點內容。主要考查點有:范式,1、2、3范式,事務,內連接,外連接,關系代數,數據庫設計。以下是我遇到過的面試問題:
1)什么是范式、1范式、2范式、3范式?(百度,中航信,新華社,中國信保)2)事務具有哪些特性?(中航信)
3)請說說什么是外連接、左外連接、右外連接?(aspenTech)4)請說說關系代表中的幾種基本運算?(中航信)
5)請對一個論壇進行數據庫設計,并說說你設計的數據庫滿足哪個范式(百度)6)給你一個數據庫需求,請對數據庫進行設計,并根據要求寫出查詢語句(中國信保)
6、網絡
這也是常考的部分。主要考查點有:OSI參考模型,TCP/IP參考模型。以下是我遇到
過的具體面試問題:
1)請解釋一下OSI參考模型。(中國信保)2)請解釋一下TCP/IP參考模型。(中國信保)
3)為什么現在的網絡最后采用了TCP/IP參考模型而沒用OSI參考模型?(中國信保)Java 1)transient和volatile是java關鍵字嗎
不常用到的關鍵字有:const,goto,native,strictfp,transient,volatile。
const和goto為java中的保留字。
1.native
native是方法修飾符。Native方法是由另外一種語言(如c/c++,FORTRAN,匯編)實現的本地方法。因為在外部實現了方法,所以在java代碼中,就不需要聲明了,有點類似于借口方法。Native可以和其他一些修飾符連用,但是abstract方法和Interface方法不能用native來修飾。
Example:代碼
public interface TestInterface {
void doMethod();
}
public class Test implements TestInterface {
public native void doMethod();
private native int doMethodB();
public native synchronized String doMethodC();
static native void doMethodD();
}
render_code();
為什么需要使用native method?請參考:
http://
13)請說一下System.gc()函數的作用。什么時候可以調用垃圾回收器?(瞬聯)強制的垃圾回收System.gc()
實際上這里的強制,是程序員的意愿、建議,什么時候執行是JVM的垃圾回收器說了算。
調用垃圾回收也不一定能保證未使用的對象一定能從內存中刪除。
唯一能保證的是,當你內存在極少的情況,垃圾回收器在程序拋出OutofMemaryException之前運行一次。
14)你做過的項目中采用了什么安全認證機制?(IBM)
Web應用程序的安全機制有二種組件:認證和授權。基于J2EE的Web容器提供三種類型的認證機制:基本認證、基于表單的認證、相互認證。由于能夠對認證用戶界面進行定制,大多數的Web應用程序都使用基于表單的認證。Web容器使用在Web應用程序的部署描述符中定義的安全角色對應用程序的Web資源的訪問進行授權。
在使用基于表單的認證機制中,應用程序的設計人員和開發人員會遇到3類問題:
·基于表單的認證如何與數據庫和LDAP等其他領域的安全機制協同工作。(這是非常必要的,因為許多組織已經在數據庫和LDAP表單中實現了認證機制。)
·如何在Web應用程序的部署描述符(web.xml)中增加或刪除軍政府的授權角色。
·Web容器在Web資源層次上進行授權;應用程序則需要在單一的Web資源中執行功能層次上的授權。
盡管有許多與基于表單的認證有關的文檔和例子,但都沒有能夠闡明這一問題。因此,大多數的應用程序都以自己的方式襀安全機制。
本篇文章說明了基于表單的認證如何與其他方面的安全機制,尤其是數據庫中的安全機制協作的問題。它還解釋了Web窗口如何使用安全角色執行授權以及應用程序如何擴展這些安全角色,保護Web資源中的功能。
基于表單的認證
基于表單的認證能夠使開發人員定制認證的用戶界面。web.xml的login-config小節定義了認證機制的類型、登錄的URI和錯誤頁面。
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/fail_login.html</form-error-page>
</form-login-config>
</login-config>
登錄表單必須包含輸入用戶姓名和口令的字段,它們必須被分別命名為j_username和j_password,表單將這二個值發送給j_security_check邏輯名字。
下面是一個該表單如何在HTML網頁中實現的例子:
<form method=“POST” action=“j_security_check”>
<input type=“text” name=“j_username”>
<input type=“password” name=“j_password”>
</form>
除非所有的連接都是在SSL上實現的,該表單能夠透露用戶名和口令。當受保護的Web資源被訪問時,Web容器就會激活為該資源配置的認證機制。
為了實現Web應用程序的安全,Web容器執行下面的步驟:
1、在受保護的Web資源被訪問時,判斷用戶是否被認證。
2、如果用戶沒有得到認證,則通過重定向到部署描述符中定義的注冊頁面,要求用戶提供安全信任狀。
3、根據為該容器配置的安全領域,確認用戶的信任狀有效。
4、判斷得到認證的用戶是否被授權訪問部署描述符(web.xml)中定義的Web資源。
象基本的安全認證機制那樣,在Web應用程序的部署描述符中,基于表單的認證不指定安全區域。也就是說,它不明確地定義用來認證用戶的安全區域類型,這就會在它使用什么樣的安全區域認證用戶方面引起混淆。
要對用戶進行驗證,Web窗口需要完成下面的步驟:
1、判斷該容器配置的安全區域。
2、使用該安全區域進行認證。
由于數據庫和LDAP在維護信息方面提供了更大的靈活性,因此大多數組織都會希望繼續使用它們維護安全認證和授權信息。
許多Web窗口都支持不同類型的安全區域:數據庫、LDAP和定制區域。例如,在Tomcat Web容器中,server.xml將數據庫配置為其安全區域。
<Realm
className=“org.apache.catalina.realm.JDBCRealm”
debug=“99”
driverName=“oracle.jdbc.driver.OracleDriver”
connectionURL=“jdbc:oracle:thin:@::”
connectionName=“{DB Username}”
connectionPassword=“"
userTable=”users“
userNameCol=”username“
userCredCol=”password“
userRoleTable=”user_roles“
roleNameCol=”rolename“
/>
Tomcat的server.xml的<Realm>標志定義了窗口用來識別一個用戶的安全區域的類型。注意,容器對Web應用程序使用該區域,應用程序的認證機制是基于表單的。
授權
一旦用戶被識別后,容器就會得到認證用戶的安全角色,看用戶是否屬于在部署描述符中的<auth-constraint>標志中定義的安全角色之一。如果用戶不屬于任何一個安全角色,則容器會返回一個錯誤。
部署描述符(web.xml)的<security-constraint>標志定義了被保護的Web資源和能夠訪問這些資源的安全角色清單。
<security-constraint>
<web-resource-collection>
<web-resource-name>AdminPages</web-resource-name>
<description> accessible by authorised users </description>
<url-pattern>/admin/*</url-pattern>
<http-method>GET</http-method>
</web-resource-collection>
<auth-constraint>
<description>These are the roles who have access</description>
<role-name>manager</role-name>
</auth-constraint>
</security-constraint>
Web窗口在網頁層次上執行認證。然而,商業性應用程序可能還希望對一個網頁內的功能進行認證,這會要求在應用程序中定義一些新的附加的與應用程序有關的安全角色。為了控制對功能的訪問,應用程序需要理解角色的權限概念。Web容器標準沒有解決權限的問題。
由于授權角色是動態的,開發人員常常會感到迷惑,即這些安全角色是否需要添加到部署描述符中。為了使應用程序充分利用安全支持,Web容器只需要在部署描述符中定義的一個角色。因此,應用程序可以定義一個高層次的角色,然后將所有的用戶都指派給該角色。這將使該角色中的所有用戶都擁有能夠訪問Web資源的權限。
另外,應用程序還可以定義額外的角色,執行對一種Web資源中較低層次的功能的授權。由于應用程序已經配置有一個包含應用程序中所有用戶的高層次安全角色,這些低層次的安全角色也就不需要在部署描述符中進行定義。這使得Web應用程序能夠利用容器的授權支持,實現與指定應用程序有關的授權。
我們可以在部署描述符中為所有用戶定義一個高層次的管理員角色,保護管理類Web資源,這使得管理員角色中的所有用戶都能夠訪問管理網頁。為了控制管理網頁中的其他功能,我們可以在應用程序中創建 sysadmin或appadmin等新的角色。
應用程序可以對這些安全角色進行擴展,使它們擁有一定的權限。然后,應用程序可以使用這些權限來控制對其功能的訪問。
盡管與特定應用程序相關的安全角色不是定義在部署描述符中的,這些角色仍然可以在isUserInRole方法中使用,判斷用戶是否在這些安全角色中。
優點
·Web應用程序無需實現認證機制,簡化Web應用程序的配置。
·Web應用程序能夠使用getRemoteUser、IsUserInRole和getUserPrincipal方法實現有規劃的安全。
·Web應用程序能夠將認證信息傳播給EJB容器。
在Tomcat中配置數據庫安全區域
1、創建用戶表。
該數據庫表需要有username和password二個字段。
create table users(username varchar(20)not null, password(20)not null)
2、創建角色表
該表維護著應用程序中角色的清單,它僅僅有rolename一個字段。
create table roles(rolename varchar(20)not null)
3、創建用戶-角色關聯表
該表維護著一個用戶和各個角色之間的關聯,一個用戶可以屬于一個或多個角色。
create table user_roles(username varchar(20)not null, rolename varchar(20)not null)
4、在表中插入數據
insert into users values('user1', 'password')
insert into role values('manager')
insert into user_roles values('user1', 'manager')
5、創建用戶表。
該數據庫表需要有username和password二個字段。
create table users(username varchar(20)not null, password(20)not null)
6、創建角色表
該表維護著應用程序中角色的清單,它僅僅有rolename一個字段。
create table roles(rolename varchar(20)not null)
7、創建用戶-角色關聯表
該表維護著一個用戶和各個角色之間的關聯,一個用戶可以屬于一個或多個角色。
create table user_roles(username varchar(20)not null, rolename varchar(20)not null)
8、在表中插入數據
insert into users values('user1', 'password')
insert into role values('manager')
insert into user_roles values('user1', 'manager')
9、通過將下面的信息拷貝到conf文件夾的server.xml文件中,配置Tomcat。(本例使用了薄客戶端驅動程序,Tomcat使用內存區域作為缺省的安全區域。)
<Realm
className=”org.apache.catalina.realm.JDBCRealm“
debug=”99“
driverName=”oracle.jdbc.driver.OracleDriver“
connectionURL=”jdbc:oracle:thin:@{IP address}::“
connectionName=”{DB Username}“
connectionPassword=”“
userTable=”users“
userNameCol=”username“
userCredCol=”password“
userRoleTable=”user_roles“
roleNameCol=”rolename“
/>
15)Math.round()什么作用?
。“四舍 六入法”可以概括為:“四舍六入五考慮,五后非零就進一,五后皆零看奇偶,五前為偶應舍 去,五前為奇要進一。” 四舍六入,5湊偶”,但如果5前為偶數,但5后還有非零數,則還要進位。
C
C語言考查的重點一般是:指針、結構體、條件編譯、全局變量/局部變量。以下是
我遇見過的面試問題:
1)請說一下extern C的作用(漢略)
Extern “C”是由C++提供的一個連接交換指定符號,用于告訴C++這段代碼是C函數。這是因為C++編譯后庫中函數名會變得很長,與C生成的不一致,造成C++不能直接調用C函數,加上extren “c”后,C++就能直接調用C函數了。Extern “C”主要使用正規DLL函數的引用和導出 和 在C++包含C函數或C頭文件時使用。使用時在前面加上extern “c” 關鍵字即可
extern是C/C++語言中表明函數和全局變量作用范圍(可見性)的關鍵字,該關鍵字告訴編譯器,其聲明的函數和變量可以在本模塊或其它模塊中使用。記住,下列語句:
extern int a;僅僅是一個變量的聲明,其并不是在定義變量a,并未為a分配內存空間。變量a在所有模塊中作為一種全局變量只能被定義一次,否則會出現連接錯誤。
通常,在模塊的頭文件中對本模塊提供給其它模塊引用的函數和全局變量以關鍵字extern聲明。例如,如果模塊B欲引用該模塊A中定義的全局變量和函數時只需包含模塊A的頭文件即可。這樣,模塊B中調用模塊A中的函數時,在編譯階段,模塊B雖然找不到該函數,但是并不會報錯;它會在連接階段中從模塊A編譯生成的目標代碼中找到此函數。(一、修飾名(Decorated Name)
C/C++程序中的函數在內部是通過修飾名來標識的。修飾名是在函數定義或原型編譯階段由編譯器創建字符串。當你在LINK等工具中要指定一個函數名時,會用到修飾名。
1、使用修飾名:
大多數情況下,你不必知道函數的修飾名是什么。連接器等工具通常都能處理函數未修飾的名字。然而,在有些情況下,你可能需要指定函數的修飾名。對于C++重載函數和特定的成員函數(如:構造函數和析構函數),你必須指定這些函數的修飾名,以便連接器等工具能夠匹配名字。同時,你也必須在那些引用c或c++函數名的匯編源文件中使用修飾名。
2、查看修飾名:
如果你編譯了一個源文件,該源文件中包含了函數定義或原型,你可以獲得函數的修飾名形式。
(1)用編譯器列表(compiler listing)來查看:
(i)通過將列表文件類型編譯器選項(/FA[c|s])設置為下面中的一種,來產生列表文件:Assembly with Machine Code(/FAc);Assembly with Source Code(/FAs);Assembly, Machine Code, and Source(/FAcs).(ii)在產生的列表文件中,找到包含未經修飾的函數定義的行。
(iii)查找前面一行。PROC NEAR 命令標簽前就是函數名經過修飾后的形式。
(2)使用DUMPBIN工具來查看:
在.OBJ或.LIB上運行 DUMPBIN,使用/SYMBOLS選項。在輸出中查找未經修飾的函數定義。后面跟著的就是經過修飾的函數名,用圓括號括起來的。
二、替代連接說明:
如果在c++中編寫一個程序需要用到c的庫,那該如何?如果這樣聲明一個c函數:
void f(int a,char b);
c++編譯器就會將這個名字變成相應的修飾名,比如:?f@@YAXHD@Z。
然而,c編譯器編譯的庫的內部函數名(連接器使用)是完全不同的。這樣,當c++連接器連接c的函數庫時,將會產生內部使用函數不匹配。
故,c++中提供了一個替代連接說明(alternate linkage specification),它是通過重載extern關鍵字來實現的。
extern后跟一個字符串來指定想聲明的函數的連接類型,后面是函數聲明,比如:
extern ”C“ void f(int a,char b);
這樣,就是告訴編譯器是c連接,這樣就不會轉換函數名了。此例中,編譯后的內部函數名是_f。
2)請說一下#ifdef...的作用(漢略)
#ifdef的作用大體上是工程功能的切換,通常是根據某些宏是否定義來決定是否啟用某些功能。比如網絡監控系統,通過宏的切換,可以實現平臺的移植,視屏路數的定義,云臺、矩陣和透明串口的切換,等等。由于#ifdef的存在,靜態配置一下參數即可讓firmware實現不同的功能。
1.利用#ifdef/#endif將某程序功能模塊包括進去,以向某用戶提供該功能。
在程序首部定義#ifdef HNLD:
#ifdef HNLD
include”n166_hn.c“
#endif
如果不許向別的用戶提供該功能,則在編譯之前將首部的HNLD加一下劃線即可。
2.在每一個子程序前加上標記,以便追蹤程序的運行。
#ifdef DEBUG
printf(” Now is in hunan!“);
#endif
3.避開硬件的限制。有時一些具體應用環境的硬件不一樣,但限于條件,本地缺乏這種設備,于是繞過硬件,直接寫出預期結果。具體做法是:
#ifndef TEST
i=dial();
//程序調試運行時繞過此語句
#else
i=0;
#endif
調試通過后,再屏蔽TEST的定義并重新編譯,即可發給用戶使用了。
3)C語言里,哪些變量是存放在堆里,哪些是存放在棧里?(普天)
heap area存放程序的動態數據
stack area存放程序的局部數據
1、棧區(stack)— 由編譯器自動分配釋放,存放函數的參數值,局部變量的值等。其操作方式類似于數據結構中的棧。地址是由高向低減少的
2、堆區(heap)— 一般由程序員分配釋放,若程序員不釋放,程序結束時可能由OS回收。注意它與數據結構中的堆是兩回事,分配方式倒是類似于鏈表,呵呵。地址是由低向高增長的 4)C語言里的static關鍵詞是什么含義?(普天)
與extern對應的關鍵字是static,被它修飾的全局變量和函數只能在本模塊中使用。因此,一個函數或變量只可能被本模塊使用時,其不可能被extern “C”修飾。
5)進程和線程有什么區別?(普天)
線程的引入:例如,有一個Web服務器要進程的方式并發地處理來自不同用戶的網頁訪問請求的話,可以創建父進程和多個子進程的方式來進行處理,但是創建一個進程要花費較大的系統開銷和占用較多的資源。除外,這些不同的用戶子進程在執行的時候涉及到進程上下文切換,上下文切換是一個復雜的過程。所以,為了減少進程切換和創建的開銷,提高執行效率和節省資源,人們在操作系統中引入了”線程(thread)“的概念。
進程的作用和定義:進程是為了提高CPU的執行效率,減少因為程序等待帶來的CPU空轉以及其他計算機軟硬件資源的浪費而提出來的。進程是為了完成用戶任務所需要的程序的一次執行過程和為其分配資源的一個基本單位,是一個具有獨立功能的程序段對某個數據集的一次執行活動。
線程和進程的區別:
1、線程是進程的一部分,所以線程有的時候被稱為是輕權進程或者輕量級進程。
2、一個沒有線程的進程是可以被看作單線程的,如果一個進程內擁有多個進程,進程的執行過程不是一條線(線程)的,而是多條線(線程)共同完成的。
3、系統在運行的時候會為每個進程分配不同的內存區域,但是不會為線程分配內存(線程所使用的資源是它所屬的進程的資源),線程組只能共享資源。那就是說,出了CPU之外(線程在運行的時候要占用CPU資源),計算機內部的軟硬件資源的分配與線程無關,線程只能共享它所屬進程的資源。
4、與進程的控制表PCB相似,線程也有自己的控制表TCB,但是TCB中所保存的線程狀態比PCB表中少多了。
5、進程是系統所有資源分配時候的一個基本單位,擁有一個完整的虛擬空間地址,并不依賴線程而獨立存在。
進程與程序的區別:
程序是一組指令的集合,它是靜態的實體,沒有執行的含義。而進程是一個動態的實體,有自己的生命周期。一般說來,一個進程肯定與一個程序相對應,并且只有一個,但是一個程序可以有多個進程,或者一個進程都沒有。除此之外,進程還有并發性和交往性。簡單地說,進程是程序的一部分,程序運行的時候會產生進程。
總結:
線程是進程的一部分,進程是程序的一部分。
C++
C++語言考查的重點主要有:多繼承,抽象類,虛函數,拷貝構造函數,析構函數,動態聯編,多態,const,static。以下是我面試中遇到的問題: 1)你聽說過拷貝構造函數嗎?能具體說一下它的作用嗎?(漢略)
為解決防止位拷貝,可通過定義自己的函數來實現。這個函數是什么樣的呢? 1)由于是創建一個新的對象,所以應該是一個構造函數;
2)由于是用它來實現從已有對象創建新對象,那怎樣把已有對象聯系起來呢?可以把已有對象作為源對象作為這個函數的單一參數傳遞。由于這個源對象不能通過值傳遞的方式傳入構造函數(因為定義這個函數就是為了處理按值傳遞方式),而按句法傳遞一個指針是沒有意義的,所以就用源對象的引用來傳遞。
這個函數就是拷貝構造函數。它經常被稱為X(X&)(它叫做類X的外在表現)。
這樣,有了拷貝構造函數,在用現有的對象創建新對象時,編譯器將不再使用位拷貝,而是調用我們的拷貝構造函數。對于使用組合(或繼承)的類,如果我們沒有定義自己的拷貝構造函數,那么編譯器會通過遞歸調用它所有成員對象(或基類)的拷貝構造函數來自動創建一個拷貝構造函數。編譯器獲得拷貝構造函數的過程被稱為成員方法初始化。
-什么時候會用到拷貝構造函數?
當任何你想復印東西的時候,而不管東西被復印成什么樣子。即任何你想利用一個已有的類實例給另一個類實例賦值時,這種賦值可能是顯式的,也可能是隱式的 顯式:classa_1=class_2;隱式:函數的形參有用到類對象卻沒有用引用或傳址技術時 函數的返回值是一個對象也沒有應用傳址技術時 2-什么時候有必要用拷貝構造函數?
上述3種情況,如果沒有涉及到深拷貝問題,就沒有必要自己來編寫拷貝構造函數,編譯器有默認的可以很完美的完成任務
還一種情況就是變態的拷貝:在拷內過程中進行縮放,放大等處理,不過沒什么用
2)析構函數必須是虛函數嗎?為什么?(漢略)
為什么析構函數總是虛函數?如果這是必要的,那么為什么C++不把虛析構函數直接作為默認值?為什么純虛析構函數可以通過編譯,但是不能通過連接?
回答:
編譯器總是根據類型來調用類成員函數。但是一個派生類的指針可以安全地轉化為一個基類的指針。這樣刪除一個基類的指針的時候,C++不管這個指針指向一個基類對象還是一個派生類的對象,調用的都是基類的析構函數而不是派生類的。如果你依賴于派生類的析構函數的代碼來釋放資源,而沒有重載析構函數,那么會有資源泄漏。
所以建議的方式是將析構函數聲明為虛函數。如果你使用MFC,并且以CObject或其派生類為基類,那么MFC已經為你做了這件事情;CObject的析構函數是虛函數。一個函數一旦聲明為虛函數,那么不管你是否加上virtual 修飾符,它在所有派生類中都成為虛函數。但是由于理解明確起見,建議的方式還是加上virtual 修飾符。
C++不把虛析構函數直接作為默認值的原因是虛函數表的開銷以及和C語言的類型的兼容性。有虛函數的對象總是在開始的位置包含一個隱含的虛函數表指針成員。如果是對于MFC類CPoint和CSize這樣的小型類,增加一個指針就增加了很多內存占用,而且使得其內存表示和基類POINT和SIZE不一致。如果兩個類的內存表示一致,那么這樣你可以安全地把一個類的指針或數組當作另一個類的指針或數組使用。
3)你聽說過鉆石結構嗎?請具體說一下(aspenTech)
4)什么是深拷貝?什么是淺拷貝?他們有什么區別?(aspenTech)如果一個類中含有指針成員變量,則在利用一個已存在對象構造新的對象時,就會面臨兩種選擇:深拷貝和淺拷貝。
淺拷貝只是將對象間對應的指針成員變量進行簡單的拷貝,即拷貝結束后新舊對象的指針指向相同的資源(指針的值是相同的);這種拷貝會導致對象的成員不可用
深拷貝之后,新舊對象的home成員指向的內容的值相同,而其自身的值不同。這樣就可避免出現其中之一
destroy 之后,另一對象的home成員不可用。
但是,此種開辟新的內存區域然后賦值拷貝的方法在面臨指針成員指向的數據量很大時出現效率低下的問題,因此又有下面的處理方法:為指針保留引用計數(reference counting)。
當類每次拷貝這個指針時,就增加它的計數;對象destroy時檢察指針的引用計數,如果為0就刪除其指向的資源,否則計數減小。如果指針所指數據相對恒定是,指針引用計數尤為有效。而且在數據量龐大的時候,可以有較高的執行效率。
5)什么是虛函數,什么是純虛函數?為什么引入虛函數和純虛函數?(漢略,aspenTech,普天)
6)請說一下面向對象的基本特性。(aspenTech)
7)C++中的const關鍵定代表什么含義?跟C語言中的const有什么區別?(aspenTech)const修飾符可以把對象轉變成常數對象,意思就是說利用const進行修飾的變量的值在程序的任意位置將不能再被修改,就如同常數一樣使用!
在C語言中,const的意思是“一個不能被改變的普通變量”,它總是占用存儲空間而且它的名字是全局的。C編譯器不能把const堪稱一個編譯器間的常量。所以在C中你可以這么寫:
const int bufsize;//不賦值。
但不能這么寫:
cosnt bufsize = 100;
char buf[bufsize];//因為bufsize不是常量。
但是在C++里,上面兩種情況正好反過來。在C++里const修改的量表示常量,必須在初始化時賦值,并且可以作為數據的維數
8)C++中的static關鍵定代表什么含義?跟C語言、Java中的static有什么區別?(普天)
一、在面向過程設計中的static關鍵字
1、靜態全局變量
定義:在全局變量前,加上關鍵字 static 該變量就被定義成為了一個靜態全局變量。特點:
A、該變量在全局數據區分配內存。
B、初始化:如果不顯式初始化,那么將被隱式初始化為0。
C、訪變量只在本源文件可見,嚴格的講應該為定義之處開始到本文件結束。
例(摘于C++程序設計教程---錢能主編P103):
file://file1.cpp
#include
void fn();
extern int n;
void main()
{
n=20;
cout << n << endl;
fn();
}
file://file2.cpp
#include
static int n;file://定義靜態全局變量,初始化為0;
void fn()
{
n++;
cout << n << endl;
}
文件分別編譯能通過,但連接時file1.cpp 中的變量n找不到定義,產生連接錯誤。
D、文件作用域下聲明的const的常量默認為static存儲類型。
2、靜態局部變量
定義:在局部變量前加上static關鍵字時,就定義了靜態局部變量。特點:
A、該變量在全局數據區分配內存。
B、初始化:如果不顯式初始化,那么將被隱式初始化為0。
C、它始終駐留在全局數據區,直到程序運行結束。但其作用域為局部作用域,當定義它的函數或 語句塊結束時,其作用域隨之結束。
3、靜態函數(注意與類的靜態成員函數區別)
定義:在函數的返回類型前加上static關鍵字,函數即被定義成靜態函數。特點:
A、靜態函數只能在本源文件中使用(這是與普通函數區別)
例(摘于C++程序設計教程---錢能主編P103):
file://file1.cpp
void fn();
void staticFn()
void main()
{
fn();
staticFn();
}
file://file2.cpp
#include
static void staticFn();
void fn();
void fn()
{
staticFn();
cout << ”this is fn()n“;
}
void staticFn()
{
cout << ”this is staticFn()n";
}
連接時,將產生找不到函數staticFn()定義的錯誤。
B、主意事項
在文件作用域下聲明的inline函數默認為static類型。
二、面象對象中的static關鍵字(主要指類中的static關鍵字)
1、靜態數據成員 特點:
A、內存分配:在程序的全局數據區分配。
B、初始化和定義:
a、靜態數據成員定義時要分配空間,所以不能在類聲明中定義。
b、為了避免在多個使用該類的源文件中,對其重復定義,所在,不能在類的頭文件中
定義。
c、靜態數據成員因為程序一開始運行就必需存在,所以其初始化的最佳位置在類的內部實現。
C、特點
a、對相于 public,protected,private 關鍵字的影響它和普通數據成員一樣,b、因為其空間在全局數據區分配,屬于所有本類的對象共享,所以,它不屬于特定的類對象,在沒產生類對象時其作用域就可見,即在沒有產生類的實例時,我們就可以操作它。
D、訪問形式
a、類對象名.靜態數據成員名
b、類類型名:: 靜態數據成員名
E、靜態數據成員,主要用在類的所有實例都擁有的屬性上。比如,對于一個存款類,帳號相對
于每個實例都是不同的,但每個實例的利息是相同的。所以,應該把利息設為存款類的靜態數據成員。這有兩個好處,第一,不管定義多少個存款類對象,利息數據成員都共享分配在全局區的內存,所以節省存貯空間。第二,一旦利息需要改變時,只要改變一次,則所有存款類對象的利息全改變過來了,因為它們實際上是共用一個東西。
2、靜態成員函數 特點:
A、靜態成員函數與類相聯系,不與類的對象相聯系。
B、靜態成員函數不能訪問非靜態數據成員。原因很簡單,非靜態數據成員屬于特定的類實例。作用:
主要用于對靜態數據成員的操作。調用形式:
A、類對象名.靜態成員函數名()
B、類類型名:: 靜態成員函數名()
4、數據結構
這是面試中幾乎必考的部分。考查的重點有:鏈表,二叉樹前序、中序、后序遍歷
(遞歸,非遞歸),二叉樹結點、層次的計算,樹轉二叉樹,各種排序算法(冒泡排序,快速排序,堆排序是重點)。以下是我在面試中遇到過的問題: 1)請編寫程序,將一個鏈表倒置。(聯發)
2)請編寫二叉樹的中序遍歷非遞歸算法。(新華社)3)請編寫一個程序,實現將樹轉化成二叉樹。(華為)
4)一棵滿二叉樹有x個結點,請問整棵二叉樹有多少結點?(新華社,中國信保)
5)請編程實現一個堆排序算法/快速排序算法。(漢略)
數據庫
1)什么是范式、1范式、2范式、3范式?(百度,中航信,新華社,中國信保)所謂范式就是符合某一種級別的關系模式的集合。通過分解把屬于低級范式的關系模式轉換為幾個屬于高級范式的關系模式的集合。這一過程稱為規范化。
1、第一范式(1NF):一個關系模式R的所有屬性都是不可分的基本數據項。
2、第二范式(2NF):關系模式R屬于第一范式,且每個非主屬性都完全函數依賴于鍵碼。
3、第三范式(3NF):關系模式R屬于第一范式,且每個非主屬性都不傳遞依賴于鍵碼。
4、BC范式(BCNF):關系模式R屬于第一范式,且每個屬性都不傳遞依賴于鍵碼。即每個決定因素都包含碼。
2)事務具有哪些特性?(中航信)
數據庫事務是指作為單個邏輯工作單元執行的一系列操作。事務的:原子性、一致性、分離性、持久性(1)原子性
事務的原子性指的是,事務中包含的程序作為數據庫的邏輯工作單位,它所做的對數據修改操作要么全部執行,要么完全不執行。這種特性稱為原子性。
事務的原子性要求,如果把一個事務可看作是一個程序,它要么完整的被執行,要么完全不執行。就是說事務的操縱序列或者完全應用到數據庫或者完全不影響數據庫。這種特性稱為原子性。
假如用戶在一個事務內完成了對數據庫的更新,這時所有的更新對外部世界必須是可見的,或者完全沒有更新。前者稱事務已提交,后者稱事務撤消(或流產)。DBMS必須確保由成功提交的事務完成的所有操縱在數據庫內有完全的反映,而失敗的事務對數據庫完全沒有影響。
(2)一致性
事務的一致性指的是在一個事務執行之前和執行之后數據庫都必須處于一致性狀態。這種特性稱為事務的一致性。假如數據庫的狀態滿足所有的完整性約束,就說該數據庫是一致的。
一致性處理數據庫中對所有語義約束的保護。假如數據庫的狀態滿足所有的完整性約束,就說該數據庫是一致的。例如,當數據庫處于一致性狀態S1時,對數據庫執行一個事務,在事務執行期間假定數據庫的狀態是不一致的,當事務執行結束時,數據庫處在一致性狀態S2。
(3)分離性
分離性指并發的事務是相互隔離的。即一個事務內部的操作及正在操作的數據必須封鎖起來,不被其它企圖進行修改的事務看到。
分離性是DBMS針對并發事務間的沖突提供的安全保證。DBMS可以通過加鎖在并發執行的事務間提供不同級別的分離。假如并發交叉執行的事務沒有任何控制,操縱相同的共享對象的多個并發事務的執行可能引起異常情況。
DBMS可以在并發執行的事務間提供不同級別的分離。分離的級別和并發事務的吞吐量之間存在反比關系。較多事務的可分離性可能會帶來較高的沖突和較多的事務流產。流產的事務要消耗資源,這些資源必須要重新被訪問。因此,確保高分離級別的DBMS需要更多的開銷。
(4)持久性
持久性意味著當系統或介質發生故障時,確保已提交事務的更新不能丟失。即一旦一個事務提交,DBMS保證它對數據庫中數據的改變應該是永久性的,耐得住任何系統故障。持久性通過數據庫備份和恢復來保證。
持久性意味著當系統或介質發生故障時,確保已提交事務的更新不能丟失。即對已提交事務的更新能恢復。一旦一個事務被提交,DBMS必須保證提供適當的冗余,使其耐得住系統的故障。所以,持久性主要在于DBMS的恢復性能。
3)請說說什么是外連接、左外連接、右外連接?(aspenTech)
內聯接(典型的聯接運算,使用像
= 或
<> 之類的比較運算符)。包括相等聯接和自然聯接。
內聯接使用比較運算符根據每個表共有的列的值匹配兩個表中的行。例如,檢索
students 和
courses 表中學生標識號相同的所有行。
外聯接。外聯接可以是左向外聯接、右向外聯接或完整外部聯接。
在FROM 子句中指定外聯接時,可以由下列幾組關鍵字中的一組指定:
LEFT JOIN 或
LEFT OUTER JOIN。
左向外聯接的結果集包括
LEFT OUTER 子句中指定的左表的所有行,而不僅僅是聯接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值。
RIGHT JOIN 或
RIGHT OUTER JOIN。
右向外聯接是左向外聯接的反向聯接。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。
FULL JOIN 或
FULL OUTER JOIN。
第二篇:國企筆試試題
:公共基礎知識占 30%、會計基礎知識占 40%、計算機應用及相關軟硬件基礎知識占 30%。1.自 1984 年 1 月 1 日起,中國人民銀行開始專門行使中央銀行的職能,所承擔的工商信貸和儲 蓄業務職能轉交至 C)A 中國銀行 B 交通銀行 C 工商銀行 D 建設銀行 2.下面哪些是屬于中國人民銀行的職責范圍 ABCDE)A.發布與履行其職責相關的命令和規章 B.發行人民幣,管理人民幣流通 C.監督管理黃金市場 D.負責金融業的統計、調查、分析和預 測 E.從事有關的國際金融活動 3.下列屬于銀監會的監管理念的是 ABDE)A.管風險 B.提高透明度 C.管機構 D.管法人 E、管 內控 4.銀監會的監管目標是監管者追求的基本目標(B)A(對)B(錯)銀監會的監管目標是監管者 追求的最終效果或最終狀態:
1、審慎有效監管,保護存款人和消費者利益;
2、增進市場信 心;
3、通過宣傳教育工作和相關信息批露,增進公眾對現代金融了解;
4、努力減少金融犯 罪 5.下列屬于市場準入的有:(ABD)A.機構準入 B.業務準入 C.法人準入 D.高級管理人員準入 E.技術準入 6.下列屬于中國銀行業協會的會員單位的有:(ABCEF)A.政策性銀行 B.商業銀行 C.中國郵政 儲蓄銀行 D.農村資金互助社 E.中央國債登記結算有限責任公司 F.資產管理公司 G、農村商業 銀行、農村合作銀行、農村信用聯合社(不包括村鎮銀行與農村資金互助社);準單位包括 各省銀行業協會 7.中國銀行業協會的執行機構是會員大會(B)A(對)B(錯)中國銀行業協會的最高權力機構為 會員大會,會員大會的執行機構是理事會,對會員大會負責
8、下列屬于銀行金融機構的是:(ABEF)非銀行金融機構包括:金融資產管理公司、信托 公司、企業集團財務公司、金融租賃公司、汽車金融公司、貨幣經紀公司 A、中國進出口銀行 B、村鎮銀行 C、資產管理公司 D、汽車金融公司 E、交通銀行 F、農村 信用聯合社 H、金融租賃公司
9、國家開發銀行所承擔的任務是:(B)A、農業政策性貸款 B、國家重點建設項目融資 C、支持進出口貿易 D、支持國家開發項目融 資
10、中國農業發展銀行可以辦理保險代理等中間業務(A)A(對)B(錯)
11、按照“一行一策”原則,推進政策性銀行改革,首先應該先推進(A)改革。A、國家 開發銀行 B、中國進出口銀行 C、中國農業發展銀行 D、中國銀行
12、下面哪家大型商業銀行還未在交易所上市(B)A、工商銀行 B、農業銀行 C、中國銀行 D、建設銀行 E、交通銀行
13、下面哪家大型商業銀行既在上海交易所上市,又在香港聯合交易所上市? A、工商銀行 B、農業銀行 C、中國銀行 D、建設銀行(只在香港聯合交易所上市)E、交通 銀行
14、
新中國第一家全國性的股份制銀行是:(A)交通銀行 B、A、招商銀行 C、恒豐銀行 D、中信銀行
15、城市商業銀行是在原城市信用社的基礎上組建并發展的(A)A(對)B(錯)16、1979 年,我國第一家城市信用社在(D)成立。A、廣東——廣州 B、江蘇——淮安 C、山東——青島 D、河南——駐馬店
17、城市商業銀行呈現出的新的發展趨勢是:(ABD)引進戰略投資者 B、A、跨區域經營 C、體制創新 D、聯合重組 E、擴大業務規模
18、村鎮銀行和農村資金互助社是(D)年批準設立的 A、2004 B、2005 C、2006 D、2007
19、2001 年 11 月 29 日,全國第一家農村股份制商業銀行在(C)正式成立 A、江蘇揚州市 農村商業銀行 B、廣東潮州市農村商業銀行 C、張家港市農村商業銀行 D、甘肅張掖市農村 商業銀行 20、農村資金互助社可以向非社員吸收存款,但不可以發放貸款及辦理其他金融業務。(B)A(對)B(錯)農村資金互助社不可以向非社員吸收存款、發放貸款及辦理其他金融業務、不得以該社資產為其他單位或個人提供擔保
21、中國郵政儲蓄銀行的市場定位是,充分依托和發揮網絡優勢,完善城鄉金融服務功能,以(E)和(C)業務為主,為城市社區和廣大農村地區居民提供基礎金融服務,與其他商業 銀行形成互補關系,支持社會主義新農村建設。A、存款 B、貸款 C、中間 D、結算 E、零 售 F、咨詢
22、我國批準設立的第一家外資銀行代表處是:(B)A、東亞銀行 B、日本輸出入銀行 C、花旗銀行 D、匯豐銀行
23、下列屬于外資銀行營業性機構的有:(ABD)A、外商獨資銀行 B、中外合資銀行 C、外 國銀行代表處 D、外國銀行分行
24、外商獨資銀行、中外合資銀行及外國銀行分行都可以經營部分或全部人民幣業務和外匯 業務。(B)A(對)B(錯)外國銀行分行可以經營部分或全部外匯業務以及除中國境內公 民以外客戶的人民幣業務
答案補充
25、我國的金融資產管理公司有:(ABDF)A、信達資產管理公司 B、華融資產管 理公司 C、華夏資產管理公司 D、長城資產管理公司 E、中華資產管理公司 F、東方資產管 理公司
26、我國的信托業已經先后經過(B)次大規模的清理整頓。A、4 B、5 C、6 D、7 27、1979 年,新中國第一家信托投資公司是:(C)A、上海國際信托投資公司 B、廣州國際 信托投資公司 C、中國國際信托投資公司 D、中華國際信托投資公司
28、企業集團財務公司的服務對象僅限于企業集團成員,但可以向社會吸收存款以及向非成 員單位提供服務。(B)A(對)B(錯)服務對象限于企業集團成員,不允許從集團外吸收 存款,為非
非成員單位提供服務
29、下面屬于非銀行業金融機構的有:(ABCDEG)金融資產管理公司 B、A、汽車金融公司 C、企業集團財務公司 D、金融租賃公司 E、信托公司 F、保險公司 G、貨幣經紀公司 30、宏觀經濟狀況包括以下哪幾個方面?(ABC)A、經濟發展水平B、經濟發展狀況 C、經 濟發展前景 D、經濟發展速度 E、宏觀經濟環境 答案補充
31、宏觀經濟發展的總體目標一般包括:(ABDE)經濟增長 B、A、物價穩定 C、國際收支 D、充分就業 E、國際收支平衡 F、提高貨幣供應量
32、下面哪組宏觀經濟發展目標所對應的衡量指標是錯誤的?(A)A、經濟增長——國民 生產總值(應為國內生產總值)B、充分就業——失業率 C、物價穩定——通貨膨脹 D、國際收 支平衡——國際收支
33、GDP 增長率是反映一國整體經濟狀況的主要指標。(B)A(對)B(錯)GDP 是衡量一 國整體經濟狀況的主要指標,其增長率是反映一定時期經濟發展水平變化程度的動態指標
34、我國統計部門公布的失業率為:(C)A、國民失業率 B、公民失業率 C、城鎮登記失業 率 D、城鄉失業率
35、一般來說,衡量通貨膨脹的常用指標:(ABD)A、消費者物價指數 B、生產者物價指數 C、國內生產總值 D、國內生產總值物價平減指數 E、居民生活消費指數答案補充
36、在衡量通貨膨脹時,生產者物價指數使用得最多、最普遍。(B)A、(對)B、(錯)消費 者物價指數
37、下列屬于國際收支中經常項目的有:(CDE)A、直接投資 B、企業信貸 C、勞務收支 D、匯款 E、貿易收支 F、政府借款***經常項目:貿易、勞務(運輸、旅游)、單方面轉移(匯 款、捐贈);資本項目:直接投資、政府和銀行的借款及企業信貸
38、在國際收支的衡量指標中,貿易收支(即進出口額)是其最主要的部分。(A)A(對)B、(錯)
39、經濟周期的四個階段是指:(C)A、繁榮—衰退—蕭條—崩潰 B、繁榮—蕭條—衰退— 崩潰 C、繁榮—衰退—蕭條—復蘇 D、繁榮—蕭條—衰退—復蘇 40、下列屬于經濟結構的是:(ABCDEFGJ)A、產業 B、產品 C、分配 D、所有制 E、城鄉 F、消費 G、技術 H、生產結構 I、體制結構 J、地區
41、經濟結構會直接影響社會經濟主體對商業銀行服務的需求,從而在一定程度上決定商業 銀行的經營特征。(A)A(對)B(錯)
42、下列屬于第二產業的行業有:(ABF)A、建筑業 B、電力、燃氣及水的生產和供應業、采礦業,C、房地產業 D、郵政業 E、國際組織 F、
第三篇:歷年中國人民銀行招聘(計算機類)筆試試題
中國人民銀行分支機構2008年人員錄用計算機專業試題
一、判斷題
1.如果A∈B及B¢C,則A不屬于C。
2.二叉數以后序遍歷序列與前序遍歷序列反映同樣的信息。
3.外部排序中使用置換選擇排序的目的,是為了增強初始歸并段的長度。4.虛擬存儲器常用的地址映象方式是段相聯。
5.碼元的傳輸速率受奈式準則的限制,體現通信系統中傳輸系統兩端的信號傳輸速率。6.ODBC中的“句柄”概念是指應用程序變量。7.沒有路由器,第三層VLAN不能互通。
8.JDBC—ODBC橋利用ODBC驅動程序提供ODBC訪問。只要本地機裝有ODBC驅動,采用JDBC— ODBC橋驅動就可以訪問所有的數據庫。
9.控制報文協議ICMP用來保證IP數據報的傳送不丟失。
10.在LINUX系統中,在/etc/gateways文件中指定了網絡的路由信息。
二、單項選擇題
1.下列語句中,不是命題的是:
A.離散數學是計算機科學與技術專業的一門必修課 B.不存在最大質數 C.14>=8+7 D.P=9
2.設G是由5個頂點組成的完全圖,則從圖G中刪去()條邊可以得到樹。A.6 B.5 C.8 D.4
3.動態鏈接表中指針表示的是:
A.下一元素地址 B.內存儲器的地址
C.下一元素在數組中的位置 D.左鏈或右鏈指向的元素的地址
4.對于二維數組a[0..4,1..5],設每個元素占1個存儲單元,且以列為主序存儲,則元素a[2,2]相對于數組空間起始地址的偏移量是: A.5 B.7 C.10 D.15
5.下列指令中正確的是:
A.MOV BX,AL B.MOV BL,AX C.MOV BL,AL D.MOV BL,BP
6.支持動態地址再尋址的尋址方式是:
A.基址尋址 B.間接尋址 C.變址尋址 D.直接尋址
7.通道程序執行結束后引起的中斷是:
A.機器校驗中斷 B.I/O中斷 C.程序性中斷 D.外中斷
8.計算機網絡中對比特信號進行編碼的層次是: A.物理層 B.數據鏈路層 C.網絡層 D.應用層
9.信道復用技術不包括:
A.STDM B.FDM C.WMA D.CDMA
11.以下地址中與86.32/12匹配的是:
A.86.33.224.123 B.86.79.65.216 C.86.58.119.74 D.86.68.206.154
12.下面對進程的描述中,不正確的是:
A.進程是動態的概念 B.進程執行需處理機 C.進程是有生命期的 D.進程是指定的集合
13.當()時,進程從執行狀態轉變為就緒狀態。A.進程別調度程序選中 B.時間片到 C.等待某一事件 D.等待的事件發生
14.為多道程序提供可共享資源不足時,可能出現死鎖,但是,不適當的()也可能產生死鎖。A.進程優先權 B.資源的線形分配 C.進程推進順序 D.分配隊列優先權
15.銀行家算法在解決死鎖問題中是用于()的。
A.預防死鎖 B.避免死鎖 C.檢測死鎖 D.解除死鎖
16.操作系統存儲管理中,采用覆蓋與交換技術的目的是:
A.節省內存空間 B.物理上擴充內存容量 C.提高CPU效率 D.實現內存共享
17.某虛擬內存系統采用頁式內存管理,使用LRU頁面管理算法。考慮下面的頁面訪問地址流(每次訪問在一個時間單位內完成):
1,8,1,7,8,2,7,2,1,8,3,8,2,1,3,1,7,1,3,7 假定內存容量為4個頁面,開始時是空的,則頁面失效次數為 A.4 B.5 C.6 D.7
18.下類關系運算式子中,不正確的是
A.R—S=R—(R∩S)B. R=(R—S)∪(R∩S)C.R∩S=S—(S—R)D.R∩S=S—(R—S)
19.在元組關系演算中,與公式(“s)(P1(s))等價的公式是: A.┐($ s)(P1(s))B.($s)(┐P1(s))
C.┐(”s)(┐P1(s))D.┐($s)(┐P1(s))
20.SQL中,與“NOT IN”等價的操作符是: A.=SOME B.<>SOME C.=ALL D.<>ALL
三 填空題
1.模式串“abaabcac”的next的函數值序列為__.2.多處理機實現的是__和__的并行.3.有關系數據有模式設計時,各種數據之間的聯系稱模式的標準__.4.有N個進程共享同一臨界資源,若使用信號量機制實現對臨界資源的互斥訪問,則信號的變化范圍是__.5.快速分組交換在實現技術上分為兩類,當楨長變長時,就是__;當楨長固定時,就是__.(記不太清了)
四.簡答題(大概的題意)
1.某進程被喚醒并立即運行,該系統采用的是剝奪調度方法嗎?為什么?
2.關系模式的分解?依據?
3.A,B,C,D四個元素依次進棧,進棧過程中允許出棧,寫出所有可能的出棧序列.4.路由器跳轉的步驟.(已知B路由器的跳轉過程 有B跳到C)
5.UML中序列圖和協作圖的關系?
五.編程題(就記了第一題的部分內容)
1.題的大意是這樣:進行選票 n<80.每張選票人數不能超過3人,不能少于1人.否則是無效選票.補充程序中空缺的部分.(內容不是很全)
int statistzc(FILE *fp,int canlit [] int n){ char str[80];int i;ag0;int q=0;for(i=0;i 2007人民銀行北京營管部計算機類筆試 一句話,感覺考題對不住學計算機的。 沒有想象當中的數據庫、數據結構、網絡……,大概有20%都跟word、ppt、excel有關系,漢…… 總共五道大題 1,判斷對錯,20題20分,一般,昨晚感覺沒啥變態地; 2,單選,25題25分,后面很多都是office平時使用的東西,比如word中,鼠標在選中區域雙擊,會把哪些內容選中?excel一個if公式等等; 3,多選,至少會有2個答案,10題15分,最后也包括些office的,比如在ppt演示頁面如何移動,如何更改word文檔名稱等; 4,簡答,2題20分,一題關于頁面地址映射,一題關于java里的錯誤異常機制的優點; 5,程序,2題20分,前者是子女-兄弟鏈接法隊列排序,后者看程序寫結果(就是找出某整數范圍內的質數)。 偶爾有點銀行的影子,比如電子支付、信用卡、網上銀行等,真正涉及到計算機比較深的東西不多,就連那個程序題,提干本身也是錯誤不少,我們一起去的同學都這樣覺得,至少有個變量沒申明自己冒出來的,呵呵。不過即使這樣考分不一定高,bless all。ps: 今年查了查沒計算機類的筆經,我這篇希望以后的兄弟姐妹看看:) 繼續,這是另一個網友寫的帖子~~~~中國人民銀行2007 招聘 計算機類 筆經總體感覺不難+失望。 沒有想到計算機類的題目是這樣的,完全出乎意料之外。 題型: 1。對錯10道 2。單項選擇25道 3。多項選擇10道 4。簡答題2道 5。程序題2道 其中對錯和選擇三大類題,主要考網上銀行相關的一些東西、銀行常識問題以及Office的一些操作。對于Office的題目,我就感覺很驚訝。。大概有占30分左右,都是word,ppt,excel的一些細節操作東西。感覺有點像中級類考試。 簡單題應該說不難,可惜我沒復習上陣了,第一題沒答出來 第一題是關于虛擬存儲和頁式存儲的東西,都忘光了。第二題是關于java里的異常機制的好處。 程序題 第一題是講遍歷一個“chile-brother”樹。。簡明概要了該樹的特征以及定義,還有某些函數的定義,并給一個程序段遍歷該樹,當中有5個空格要自己填。 第二題是一個C程序,循環套循環,是一個求50-100之內的質數的題目,看懂題目后要求回答“結果是什么以及里面的變量n的作用” 1.總之。不難。。應該說學過計算機原理,面向對象的程序以及c語言。基本的掌握了,這張卷子就ok了。。sigh 最后這是2006年一個網友寫的~~~2006年人民銀行考試試題及答案回顧(計算機)最后的程序題用遞歸 程序結果題,第一道是索引值我5,要求要從小到大排好序的數組; 第二道是K=13,計算函數f(n)=f(n-1)+f(n-2),且f(1)=f(2)=1,f(0)=0的函數值 填空題: 數據庫的,有一個是WITH CHECK OPTION,還有一個是用ALTER語句 最后的數組是1,1,3,4 選擇題: 有一個我本來以為是把“ABCDEFG”倒過來輸出的程序,其實后來仔細看是輸出“AGAAGAGA” 字符串“abcd
主站蜘蛛池模板:
亚洲 欧美 激情 小说 另类|
免费无码一区二区三区a片|
东京热无码一区二区三区分类视频|
亚洲三区在线观看无套内射|
精品精品国产高清a毛片牛牛|
日韩经典精品无码一区|
国产精品第一区揄拍|
一本久道中文无码字幕av|
天堂av无码av一区二区三区|
内射一区二区精品视频在线观看|
欧美极品jizzhd欧美|
亚洲老鸭窝一区二区三区|
97se亚洲国产综合在线|
亚洲人成在线播放无码|
成人无码影片精品久久久|
四库影院永久四虎精品国产|
国语自产精品视频在线第100页|
国产精品日韩欧美一区二区三区|
中文字幕亚洲一区二区va在线|
曝光无码有码视频专区|
女人爽得直叫免费视频|
中文字幕乱码人妻综合二区三区|
亚洲日韩精品一区二区三区无码|
丰满多毛少妇做爰视频|
无码人妻日韩一区日韩二区|
人妻出差精油按摩被中出|
中年熟妇的大黑p|
亚洲图片小说激情综合|
暖暖视频 免费 日本社区|
国产精品狼人久久久久影院|
浓毛欧美老妇乱子伦视频|
成人午夜电影福利免费|
成人午夜精品无码区久久|
国产av亚洲精品久久久久久|
国产精品民宅偷窥盗摄|
久久亚洲精品无码av|
亚洲红杏成在人线免费视频|
欧美人妻日韩精品|
久久国产福利国产秒拍|
欧美极度丰满熟妇hd|
国产在线看片无码人精品|