『壹』 開發人員筆試題
開發人員筆試題
開發人員筆試題大家去面試的時候相信都會做過一些。下面是我整理的開發人員筆試題,歡迎大家閱讀。
一、填空題(本大題10小題,每空1分,共20分) 。
1.java語言的三大特性即是、、
2.在Java中,char 型採用____unicode_______編碼方案,這樣,無論是中文字元還是英文字元,都是佔用__2___個位元組的內存空間。
3. 形式參數指的是方法被__定義____ 時的參數行,實際參數是方法被__調用___ 時所傳遞進去的變數或值。
4.JSP
對象則是每個客戶專用的。
介面 。
6.程序中實現多線程的方法有兩種:繼承Thread類和實現
介面。
對優先順序。
8.面向對象編程的五大設計原則,分別是、 、、
9.通過Ajax,客戶端獲取的數據主要有兩種類型:文本型和 10. Socket通常也稱為套接字 ,用於描述 和
二、選擇題(本大題 20 小題,每小題2分.共40分)。
1.在JAVA中,如果父類中某些方法不包含任何邏輯,並且需要由子類重寫.應該使用( )關鍵字來聲明父類的這些方法:
A) final B) static C) abstract D) void
2.在JAVA中,已定義兩個介面B和C,要定義一個實現這兩個介面的類,以下語句正確的是( )。
A) interface A extend B,C B) interface A implements B,C
C) class A implements B,C D) class A implements B, implements C
3.在JAVA介面中可以定義( )。
A) 靜態方法 B) 常量 C) 構造方法 D) 抽象方法
4.假設A有構造方法A (int a),則在類A的其他構造方法中調用該構造方法和語句格式應為( )。
A) A(X) B) this.A(x) C) this(x) D) super(x)
5.設 x = 1 ,y = 2 , z = 3, 則表達式 y+=z--/++x 的值是( )。
A) 3 B) 3.5 C) 4 D) 5
6.下列關於繼承的說法哪個正確?( )。
A)子類只繼承父類public方法和屬性:
B)子類繼承父類的非私有屬性和方法:
C)子類繼承父類的方法,而不繼承父類的屬性:
D) 子類將繼承的所有的屬性和方法.
7.在java中.在使用JDBC時。對於多次調用同一條SQL語句的情況, 使用( )通常會提高效。
A) Statement B) CallableStatement
C) PreparedStatement D) PrarmeterStatement
8.下列不能控制一個Servlet的生命周期方的法是:
A) service B) destroy C) doPost D) init
9.能夠給一個byte型變數賦值的范圍是( )。
A) 0~65535 B) (-128)~127
C)(-32, 768)~32, 767 D) (-256)~255
10.java語言中int類型數據佔用多少位?( )。
A) 32 B) 64 C) 16 D) 20
11. ServletContext對象是如何創建的?( )。
A) 由 Servlet容器創建,對於每個HTTP請求.Servlet容器都會創建 一個ServletContext對象
B)由JavaWeb 應用本身為自己創建一個ServletContext對象
C)由Servlet容器創建,對於每個JaveWeb應用,在啟動時,Servlet容器都會創建一個ServletContext對象
12.在JSP中不能在不同用戶之間共享數據的方法是( )。
A) 通過cookie B) 利用文件系統
C) 利用資料庫 D) 通過ServletContext對象
13.以下哪個不是Collection的子介面?( )。
A) List B) Set C) Map D) SortedSet
14. 下面正確的創建 Socket 的語句是( )。
A) Socket a = new Soeket(80):
B) Socket b = new Socket("130. 3. 4. 5", 80):
C) ServerSocket c = new Socket(80)
D) ServerSocket d = new Socket ("130. 3. 4, 5", 80)
15.下面的說法正確的是( )。
A)帶有頁作用域的對象在一個web應用程序的每個JSP中都存在.
B)指令指定與一個特定的JSP 請求不相關的全局信息。
C)當JSP容器遇到開始定製標簽和結束定製標簽時,分別調用 doInitBody方法和doAfterBody方法。
D) 動作只在翻譯時處理一次。
16.為了區分重載多態中同名的不同方法,要求:( )。
A)參數名不同 B) 採用不同的形式參數列表
C)返回值類型不同 D) 選項A, B, C都對
17.下面是有關子類調用父類構造函數的描述正確的是:( )。
A)子類定義了自己的構造函數.就不會調用父類的構造函數
B)子類必須通過Super關鍵字調用父類有參數的構造函數
C)如果子類的構造沒有通過super調用父類構造函數,那麼子類會 先調用子類自己的構造函數,再調用父類不含參數的構造函數。
D)創建子類的對象時,先調用子類自己的構造函數,然後調用父 類的構造函數
18.在Java中,負責對位元組代碼解釋執行的是( )。
A) 垃圾回收器 B) 虛擬機 C) 編譯器 D) 多線程機制
19.一個java程序運行從上到下的環境次序是( )。
A) 操作系統、Java程序、jre/jvm、硬體
B) jre/jvm、Java程序、硬體、操作系統
C) java程序、jre/jvm、操作系統、硬體
D) java程序、操作系統、jre/jvm、硬體
20.對於從Employee表中選擇記錄的'以下代碼片段,識別其遺漏的代碼行。( ) Connection con = null:
Class. forName("sun.jdbc.odbc.JdbcOdbcDriver"):
con=DriverManager.getConnection("jdbc:odbc:ss" , "sa" , "");
ResultSet rs=stat.executeQuery("select * from Employee");
A) Statement stat=createStatement();
B) Statement stat=con.createStatement ();
C) PreparedStatement stat=con.createStatement():
D) PreparedStatement stat=createPreparedStatement();
三、問答題(本大題6小題,共40分)。
1.請說出 ArrayList , Vector , LinkedList 的存儲性能和特性。(6分)
2.什麼是單例模式(Singleton) ? 請在下面寫出一個單例模式類,並支持多線程調用。(6分)
3.請描述一下JVM載入class文件的原理機制?(6分)
4.請談談對SQL注入的理解,請給出你知道的防止SQL注入的方法。(6分)
5.請談談對hibernate的理解,並簡要敘述Hibernate的一級緩存和二級緩存(8分)。
6.請寫出你知道的排序方法,並使用Java語言寫出其中一種。(8分)
三、簡答題(參考答案)
1. ArrayList和Vector都是使用數組方式存儲數據,此數組元素數大於實際存儲的數據以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及數組元素移動等內存操作,所以索引數據快而插入數據慢,Vector由於使用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表實現存儲,按序號索引數據需要進行前向或後向遍歷,但是插入數據時只需要記錄本項的前後項即可,所以插入速度較快。
2. 創建某類對象時,無論創建多少次該類對象只有一份在內存中,這就是單例模式。支持多線程調用,考慮線程安全,只需要加鎖即可。
public class Singleton{
private static Singleton instance = null;
private Singleton(){}
private static synchronized void syncInit(){
if(instance == null){
instance = new Singleton();
}
}
public static Singleton getInstance(){
if(instance == null){
syncInit();
}
return instance;
}
}
3. JVM中類的裝載是由ClassLoader和它的子類來實現的,Java ClassLoader是一個重要的Java運行時系統組件。它負責在運行時查找和裝入類文件的類。
4.解決辦法:a. 利用JavaScript,在客戶端進行校驗。
b.程序判斷 c.使用PreparedStatement連接資料庫。(參數化) d.利用框架技術
5. Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱資料庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用。
一級緩存就是Session級別的緩存,一個Session做了一個查詢操作,它會把這個操作的結果放在一級緩存中,如果短時間內這個
session(一定要同一個session)又做了同一個操作,那麼hibernate直接從一級緩存中拿,而不會再去連資料庫,取數據;
二級緩存就是SessionFactory級別的緩存,顧名思義,就是查詢的時候會把查詢結果緩存到二級緩存中,如果同一個sessionFactory
創建的某個session執行了相同的操作,hibernate就會從二級緩存中拿結果,而不會再去連接資料庫;
6.插入排序、希爾排序、冒泡排序、快速排序、直接排序、歸並排序 下面以快速排序為例:
public class quickSort {
inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
public quickSort(){
quick(a);
for(int i=0;i
System.out.println(a[i]);
}
}
public int getMiddle(int[] list, int low, int high) {
int tmp =list[low]; //數組的第一個作為中軸
while (low < high){
while (low < high&& list[high] >= tmp) {
high--;
}
list[low] =list[high]; //比中軸小的記錄移到低端
while (low < high&& list[low] <= tmp) {
low++;
. }
list[high] =list[low]; //比中軸大的記錄移到高端
}
list[low] = tmp; //中軸記錄到尾
return low; //返回中軸的位置
}
public void _quickSort(int[] list, int low, int high) {
if (low < high){
int middle =getMiddle(list, low, high); //將list 數組進行一分為二
_quickSort(list, low, middle - 1); //對低字表進行遞歸排序
_quickSort(list,middle + 1, high); //對高字表進行遞歸排序
}
}
public void quick(int[] a2) {
if (a2.length > 0) { //查看數組是否為空
_quickSort(a2,0, a2.length - 1);
}
}
}
1、簡述 private、 protected、 public、 internal 修飾符的訪問許可權。
2、列舉ASP.NET 頁面之間傳遞值的幾種方式。
5、如果在一個B/S結構的系統中需要傳遞變數值,但是又不能使用Session、
Cookie、Application,您有幾種方法進行處理?
6、什麼是裝箱和拆箱?
8、ASP.net的身份驗證方式有哪些?分別是什麼原理?
9、在C#中,string str = null 與 string str = “” 請盡量使用文字或圖
象說明其中的區別。
10、SQLSERVER伺服器中,給定表 table1 中有兩個欄位 ID、LastUpdateDate,
ID表示更新的事務號, LastUpdateDate表示更新時的伺服器時間,請使用一句 SQL語句獲得最後更新的事務號
11、寫出一條Sql語句:取出表A中第31到第40記錄(SQLServer,以自動增長的ID作為主鍵,注意:ID可能不是連續的。
12、能用foreach遍歷訪問的對象需要實現 ________________介面或聲明
________________方法的類型。
14、介面是否可繼承介面? 抽象類是否可實現(implements)介面? 抽象類是否可
繼承實體類(concrete class)?
15、try {}里有一個return語句,那麼緊跟在這個try後的finally {}里的code會不會被執行,什麼時候被執行,在return前還是後?
16、如何處理幾十萬條並發數據?
17、Session有什麼重大BUG,微軟提出了什麼方法加以解決?
18、向伺服器發送請求有幾種方式?
19、DataReader與Dataset有什麼區別?
20、需要實現對一個字元串的處理,首先將該字元串首尾的空格去掉,如果字元串中
間還有連續空格的話,僅保留一個空格,即允許字元串中間有多個空格,但連續的空 格數不可超過一個.
21、什麼叫做SQL注入,如何防止?請舉例說明。
22、ADO.net中常用的對象有哪些?分別描述一下。
23、什麼是SOAP,有哪些應用?
25、float f=-123.567F; int i=(int)f;i的值現在是_____?
26、使用過那幾種框架?數據持久層框架,業務層框架。
『貳』 Delphi程序員筆試題目,該怎麼解決
Delphi程序員筆試題目
一. 選擇題
1. 某函數如下:
Function check(n,k:Integer):Integer; Var m:Integer; Begin
Repeat
m:=n mod 10; n:=n div 10; K:=k-1
Until k=0; Check:=m End;
若調用語句y:=check(3725,3),運行後y值為:() A、 7 B、 5 C、 2 D、 0
2. 一個對象類可以繼承和直接使用它的父類的所有成員,除了:() A、 public域 B、 private域
C、 protected域和private域 D、 protected域和方法 E、 private域和方法
3. 下面關於屬性的論述正確的是()。 A、 屬性能實現write方法 B、 屬性能實現read方法 C、 屬性可以只讀或只寫 D、 屬性可以公開或非公開 E、屬性不能直接存取
4. 設a是布爾變數,其它是整型變數,下面正確的賦值語句是( ) A、 x=y div 7 B、 x:=y:=z+1 C、 a:=x=y mod z D、 x+y:=z E、x+y=a
『叄』 阿里巴巴的面試流程是什麼樣子的
阿里巴巴的面試流程如下:
一般來說技術崗有 4、5 輪的面試,最後一面會有 HR 參與,最後一面之前一般是電話面試或視頻面試,面的都是技術。
一面是跟崗位直接相關的,例如你面試 Android 那麼會考察你的 Android 技能,後續的幾輪也會是相關的,但是可能會更加深入也可能會更加基礎,例如考察數據結構、計算機網路,都不太一定。面試你的人可能包括你未來的直接 leader 以及他的 leader,以及一些交叉面面試官,通常會是架構組或者兄弟團隊。
每輪面試大約40~60分鍾,level越高時間越長,從面試開始到拿到offer整個流程可能會長達一個月,所以得耐心一點。如果只面試了 10 來分鍾,那麼基本上就是面掛了。
另外還有專場招聘,專場招聘會快速一點,2~3輪面試,一周就能拿offer的情況也有,如果你的地區有專場招聘,那麼推薦參加,比較高效一點。
判斷是否通過了面試的方法:
不到HR發offer 都不能100%確定是否拿到offer。不過如果有以下情況可能代表你沒有通過面試:
1、面試才10來分鍾,可能代表跟崗位有較大差距;
2、簡歷投遞了兩周或者好幾次都沒有參加面試,那麼可能簡歷就沒有通過篩選;
3、流程超過二個月,一般流程是1個月,如果遠遠超過2個月,估計就是涼了;
可以在面試結束的時候問一下面試官對你的感覺如何,有助於你自己判斷。
『肆』 急需程序員筆試題,附帶答案
一、選擇題(每題1分,共20分)
1. 下列那種語言是面向對象的(C)
A. C B. PASCAL C. C++ D. FORTRAN77
2.在 Windows9x 下,可以進入 MS-D0S 方式。當在 DOS 提示符下鍵入 (B ) 命令後,
系統將退出 MS-DOS方式,返回到 WIndows 方式。
A. CLOSE B. EXIT C. QUIT D. RETURN
3.下面哪些是面向對象的基本特性:(A,B,C )
A 多態 B 繼承 C 封裝 D 介面
4.在C++中經常要進行異常處理,下面哪些是異常處理常用到的關鍵詞:(A,B,C)
A try B catch C throw D break E contiue
5.資料庫技術中的「臟數據',是指(D)的數據。
A.錯誤 B.回返 C.未提交 D.未提交的隨後又被撤消
6.TCP/IP是一種(A,B)
A.標准 B.協議 C.語言 D.演算法
7. 下面有關計算機操作系統的敘述中,不正確的是( )
A 操作系統屬於系統軟體
B 操作系統只負責管理內存儲器,而不管理外存儲器
C UNIX 是一種操作系統
D 計算機的處理器、內存等硬體資源也由操作系統管理
8.微機上操作系統的作用是( D)
A 解釋執行源程序 B 編譯源程序
C 進行編碼轉換 D 控制和管理系統資源
9.下列存儲器中存取速度最快的是(A )
A 內存 B 硬碟 C 光碟 D 軟盤
10.在計算機中,—個位元組是由多少個二進制位組成的( )
A. 4 B. 8 C. 16 D. 24
11. 存儲16×16點陣的一個漢字信息,需要的位元組數為( )
A 32 B 64 C 128 D 256
12. 以下選項中合法的字元常量是(C)
A."B" B. '\010' C. 68 D. D
13. 假定x和y為double型,則表達式x=2,y=x+3/2的值是()
A. 3.500000 B. 3 C. 2.000000 D. 3.000000
14. 以下合法的賦值語句是()
A. x=y=100 B. d--; C. x+y; D. c=int(a+b);
15. 設正x、y均為整型變數,且x=10 y=3,則以下語句
pprintf("%d,%d\n",x--,--y); 的輸出結果是()
A.10,3 B. 9,3 C. 9,2 D.10,2
16. x、y、z被定義為int型變數,若從鍵盤給x、y、z輸入數據,正確的輸入語句是()
A .INPUT x、y、z; B. scanf("%d%d%d",&x,&y,&z);
C. scanf("%d%d%d",x,y,z); D. read("%d%d%d",&x,&y,&z);
17.以下數組定義中不正確的是()
A) int a[2][3]; B) int b[][3]={0,1,2,3};
C) int c[100][100]={0}; D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
18. 以下程序的輸出結果是()
main()
{
int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0];
}
A) 0650 B) 1470 C) 5430 D) 輸出值不定
19 以下程序的輸出結果是()
main()
{
char st[20]= "hello\0\t\\\";
printf(%d %d \n",strlen(st),sizeof(st));
}
A) 9 9 B) 5 20 C) 13 20 D) 20 20
20. 當調用Windows API函數InvalidateRect,將會產生什麼消息()
A:WM_PAINT B:WM_CREATE
C:WM_NCHITTEST D:WM_SETFOCUS
二、填空題(每題3分,共30分)
1.請列舉當前一些當前流行的資料庫引擎__________
2. 為了將當前盤當前目錄中的所有文本文件(擴展名為.TXT)的內容列印輸出,正確
的單條DOS命令為______。
3. 計算機網路分為區域網和廣域網,網際網路屬於 廣域網。
4. 設y是int型變數,請寫出判斷y為奇效的關系表達_______。
5. 設有以下程序:
main()
{ int n1,n2;
scanf("%d",&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序運行後,如果從鍵盤上輸入1298;則輸出結果為____。
6.以下程序運行後的輸出結果是______。
main()
{ char s[ ]="9876",*p;
for ( p=s ; pbr>}
7.以下函數的功能是:求x的y次方,請填空。
double fun( double x, int y)
{ int i;
double z;
for(i=1, z=x; ibr>return z;
}
8.以下程序段打開文件後,先利用fseek函數將文件位置指針定位在文件末尾,然後調
用ftell函數返回當前文件位置指針的具體位置,從而確定文件長度,請填空。
FILE *myf; ling f1;
myf= ______("test.t","rb");
fseek(myf,0,SEEK_END); f1=ftel(myf);
fclose(myf);
printf("%d\n",f1);
9. 以下程序輸出的最後一個值是______。
int ff(int n)
{ static int f=l;
f=f*n;
return f;
}
main()
{ int i;
for(I=1;I<=5;I++ printf("%d\n",ff(i));
)
10. 以下程序運行後的輸出結果是_____。
main()
{ int i=10, j=0;
do
{ j=j+i; i-;
while(i>2);
printf("%d\n",j);
}
三、判斷題(每題2分,共20分)
1:動態鏈結庫不能靜態調用。
2:UDP是面向無連接的網路連接
3:ASP是一種資料庫引擎
4:隊列是先進後出。
5:Weblogic是分布式應用伺服器。
6:TCP,UDP都是傳輸層的協議。
7: 兩個線程不能共存於同一地址空間
8: JAVA是一種跨平台的開發工具
9.在WINDOWS操作系統中對外設是以文件的方式進行管理
10. 虛擬內存實際是創建在硬碟上的
四、問答題(每題10分,共30分)
1. 寫出從資料庫表Custom中查詢No、Name、Num1、Num2並將Name以姓名顯示、計算出
的和以總和顯示的SQL。
Select No、Name、Num1、Num2 from custom;
2. 何為「事務處理」,談談你對它的理解。
3. 常用的數據結構有哪些?請枚舉一些。(不少於5個)
4. 什麼是OOP?什麼是類?請對比類和對象實例之間的關系。
5. 有一組數字(3,10,6,8,98,22),請編程排序(升降序皆可),語言不限,演算法不限,但須註明是何種演算法。
[email protected]