




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Android工程師試卷1、基本面針對(duì)個(gè)人情況在合適的欄內(nèi)打勾,以了解基本面的熟悉程度。領(lǐng)域技能一般熟練精通應(yīng)用平臺(tái)Unix/LinuxAndroidWindows語(yǔ)言ASMC/C+JAVAJSPHTMLJavaScriptC#,.NETUnix Shell腳本批處理腳本PHP數(shù)據(jù)庫(kù)ORACLEDB2MYSQLSQLiteMS SQLServerWebServerWebLogicWebSphereTomCatApache相關(guān)技術(shù)Ajax,JQuery,extJS,easyUIJSONCXFIbatis/mybatisStruts/Spring/HibernateSocketJNICORBAEj
2、b進(jìn)程間通信XML,DTDRADIUS/PAMDES,DES3,RSA,MD5,Base64開(kāi)發(fā)工具Eclipse(Java)Eclipse(C/C+)Eclipse(Java fro Android)NetBeansVisual Studio(2005-2010)版本控制工具SVNVSSCVSGITClear Case協(xié)議TCP/IP,UDPHTTPFTPTELNETSSH設(shè)計(jì)工具Ration RoseERWinPowerDesignerFlashPhotoshop測(cè)試LoadRunnerJUnitAndroidJUnitJMock2、面試題2.1 概念1. 從一個(gè)序列中檢索一個(gè)值。列舉出幾
3、個(gè)構(gòu)造序列的方法,哪種方式檢索效率最高?2. 從操作系統(tǒng)角度請(qǐng)闡述一下線程與進(jìn)程的區(qū)別答:進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位,線程是CPU調(diào)度和分派的基本單位進(jìn)程和線程的關(guān)系:(1)一個(gè)線程只能屬于一個(gè)進(jìn)程,而一個(gè)進(jìn)程可以有多個(gè)線程,但至少有一個(gè)線程。(2)資源分配給進(jìn)程,同一進(jìn)程的所有線程共享該進(jìn)程的所有資源。(3)線程在執(zhí)行過(guò)程中,需要協(xié)作同步。不同進(jìn)程的線程間要利用消息通信的辦法實(shí)現(xiàn)同步。(4)處理機(jī)分給線程,即真正在處理機(jī)上運(yùn)行的是線程。(5)線程是指進(jìn)程內(nèi)的一個(gè)執(zhí)行單元,也是進(jìn)程內(nèi)的可調(diào)度實(shí)體。線程與進(jìn)程的區(qū)別:(1)調(diào)度:線程作為調(diào)度和分配的基本單位,進(jìn)程作為擁有資源的基本
4、單位。(2)并發(fā)性:不僅進(jìn)程之間可以并發(fā)執(zhí)行,同一個(gè)進(jìn)程的多個(gè)線程之間也可以并發(fā)執(zhí)行。(3)擁有資源:進(jìn)程是擁有資源的一個(gè)獨(dú)立單位,線程不擁有系統(tǒng)資源,但可以訪問(wèn)隸屬于進(jìn)程的資源。(4)系統(tǒng)開(kāi)銷:在創(chuàng)建或撤銷進(jìn)程的時(shí)候,由于系統(tǒng)都要為之分配和回收資源,導(dǎo)致系統(tǒng)的明顯大于創(chuàng)建或撤銷線程時(shí)的開(kāi)銷。但進(jìn)程有獨(dú)立的地址空間,進(jìn)程崩潰后,在保護(hù)模式下不會(huì)對(duì)其他的進(jìn)程產(chǎn)生影響,而線程只是一個(gè)進(jìn)程中的不同的執(zhí)行路徑。線程有自己的堆棧和局部變量,但線程之間沒(méi)有單獨(dú)的地址空間,一個(gè)線程死掉就等于整個(gè)進(jìn)程死掉,所以多進(jìn)程的程序要比多線程的程序健壯,但是在進(jìn)程切換時(shí),耗費(fèi)的資源較大,效率要差些。2.2數(shù)據(jù)庫(kù)篇1、下
5、表表名:T_STAFF,主鍵是STAFF_ID,請(qǐng)按照一個(gè)常用數(shù)據(jù)庫(kù)寫出該表的建表語(yǔ)句。并寫出一條觸發(fā)器,使得新增記錄時(shí),將CREATE_TIME設(shè)置為系統(tǒng)時(shí)間。字段名字段類型描述STAFF_IDNUMBER(8)非空,主鍵STAFF_NAMEVARCHAR(60)非空,唯一索引STAFF_PASSWORDVARCHAR(128)可空STAFF_STATUSNUMBER(2)非空CREATE_TIMEDATETIME非空Create Table if not exists T_STAFF (STAFF_ID NUMBER(8) primary key NOT NULL Auto_increme
6、nt,index name STAFF_NAME Varchar(60) not null,STAFF_PASSWORD varchar(128),Staff_Status Number(20) not null,Create_Time dateTime not null);觸發(fā)器語(yǔ)句:Create Trigger insertTrigger before insert T_STAFF for begin insert into T_Staff(Create_Time) values(now();2.3 C/C+篇1、如何理解指針概念。答:指針是存放地址的變量struct Link struc
7、t Link * lpNext;Bool isCycleLink(struct Link * lpLink);1. 如下數(shù)據(jù)結(jié)構(gòu)是個(gè)鏈表,如何判斷該鏈表是個(gè)無(wú)環(huán)鏈表?char str = “1234567890123456789012345678901234567890”;str15=0;2、下面的字符串長(zhǎng)度是幾?3、請(qǐng)列出用C語(yǔ)言寫一個(gè)socket客戶端并從中讀取數(shù)據(jù)的步驟。首先是服務(wù)端的代碼如下:-server.c-#include <stdio.h>#include <stdlib.h>#include <string.h>#include <n
8、etinet/in.h>#include <sys/types.h>#include <sys/socket.h>#include <unistd.h>int main() int sockfd,clientfd,len; struct sockaddr_in server_addr,client_addr; char buffer256; sockfd=socket(AF_INET,SOCK_STREAM,0
9、); if(sockfd<0) perror("create socket error. -> "); exit(1); server_addr.sin_family=AF_INET; server_addr.sin_port=8888;
10、 server_addr.sin_addr.s_addr=INADDR_ANY; if(bind(sockfd,(struct sockaddr *)&server_addr,sizeof(struct sockaddr)<0) perror("bind socket error. -> "); exit(2);
11、 listen(sockfd,5); len=sizeof(struct sockaddr); printf("waiting for client:n"); clientfd=accept(sockfd,(struct sockaddr *)&client_addr,&len); /* recv(clientfd,buffer,256,0);*/
12、; memset(buffer,0,256); read(clientfd,buffer,256); printf("server received : %sn",buffer); memset(buffer,0,256); strcpy(buffer,"server has received your message."); /*send(client
13、fd,buffer,strlen(buffer),0);*/ write(clientfd,buffer,strlen(buffer); close(clientfd); close(sockfd); return 0; -然后這里放的是客戶端的代碼-client.c-#include <stdio.h>#include <stdlib.h>#include <string.h
14、>#include <netinet/in.h> #include <sys/types.h>#include <sys/socket.h>#include <unistd.h>int main() int sockfd,len; struct sockaddr_in server_addr; char buffer256; sockfd=socket(AF_INET,SOCK_STREA
15、M,0); if(sockfd<0) perror("create socket error. -> "); exit(1); server_addr.sin_family=AF_INET; server_addr.sin_p
16、ort=8888; inet_aton("8",&server_addr.sin_addr.s_addr); if(connect(sockfd,(struct sockaddr *)&server_addr,sizeof(struct sockaddr)<0) perror("unable connect to server. -> ");
17、0; exit(2); memset(buffer,0,256); strcpy(buffer,"this is a message that client sended."); /* send(sockfd,buffer,strlen(buffer),0);*/ write(sockfd,buffer,strlen(buffer);
18、 /*recv(sockfd,buffer,256,0);*/ memset(buffer,0,256); read(sockfd,buffer,256); printf("server said : %sn",buffer); close(sockfd); return 0;&
19、#160;然后是需要在secureCRT等軟件中進(jìn)行編譯 $ gcc server.c -o server -lsocket -lc $ gcc client.c -o client -lsocket -lnsl編譯通過(guò)之后就是測(cè)試的過(guò)程了,同時(shí)在secureCRT中打開(kāi)兩個(gè)窗口,一個(gè)運(yùn)行./server 另一個(gè)窗口運(yùn)行./client server端先運(yùn)行。2.4 Java篇
20、1、請(qǐng)闡述一下你對(duì)java多線程中同步的幾種方式,區(qū)別,及其重要性。(1) wait方法: 該方法屬于Object的方法,wait方法的作用是使得當(dāng)前調(diào)用wait方法所在部分(代碼塊)的線程停止執(zhí)行,并釋放當(dāng)前獲得的調(diào)用wait所在的代碼塊的鎖,并在其他線程調(diào)用notify或者notifyAll方法時(shí)恢復(fù)到競(jìng)爭(zhēng)鎖狀態(tài)(一旦獲得鎖就恢復(fù)執(zhí)行)。 調(diào)用wait方法需要注意幾點(diǎn): 第一點(diǎn):wait被調(diào)用的時(shí)候必須在擁有鎖(即synchronized修飾的)的代碼塊中。 第二點(diǎn):恢復(fù)執(zhí)行后,從wait的下一條語(yǔ)句開(kāi)始執(zhí)行,因而wait方法總是應(yīng)當(dāng)在while循環(huán)中調(diào)用,以免出現(xiàn)恢復(fù)執(zhí)行后繼續(xù)執(zhí)行的條件
21、不滿足卻繼續(xù)執(zhí)行的情況。 第三點(diǎn):若wait方法參數(shù)中帶時(shí)間,則除了notify和notifyAll被調(diào)用能激活處于wait狀態(tài)(等待狀態(tài))的線程進(jìn)入鎖競(jìng)爭(zhēng)外,在其他線程中interrupt它或者參數(shù)時(shí)間到了之后,該線程也將被激活到競(jìng)爭(zhēng)狀態(tài)。 第四點(diǎn):wait方法被調(diào)用的線程必須獲得之前執(zhí)行到wait時(shí)釋放掉的鎖重新獲得才能夠恢復(fù)執(zhí)行。(2) notify方法和notifyAll方法: notify方法通知調(diào)用了wait方法,但是尚未激活的一個(gè)線程進(jìn)入線程調(diào)度隊(duì)列(即進(jìn)入鎖競(jìng)爭(zhēng)),注意不是立即執(zhí)行。并且具體是哪一個(gè)線程不能保證。另外一點(diǎn)就是被喚醒的這個(gè)線程一定是在等待wait所釋放的鎖。 no
22、tifyAll方法則喚醒所有調(diào)用了wait方法,尚未激活的進(jìn)程進(jìn)入競(jìng)爭(zhēng)隊(duì)列。(3) synchronized關(guān)鍵字: 第一點(diǎn):synchronized用來(lái)標(biāo)識(shí)一個(gè)普通方法時(shí),表示一個(gè)線程要執(zhí)行該方法,必須取得該方法所在的對(duì)象的鎖。 第二點(diǎn):synchronized用來(lái)標(biāo)識(shí)一個(gè)靜態(tài)方法時(shí),表示一個(gè)線程要執(zhí)行該方法,必須獲得該方法所在的類的類鎖。 第三點(diǎn):synchronized修飾一個(gè)代碼塊。類似這樣:synchronized(obj) /code. 。表示一個(gè)線程要執(zhí)行該代碼塊,必須獲得obj的鎖。這樣做的目的是減小鎖的粒度,保證當(dāng)不同塊所需的鎖不沖突時(shí)不用對(duì)整個(gè)對(duì)象加鎖。利用零長(zhǎng)度的byte
23、數(shù)組對(duì)象做obj非常經(jīng)濟(jì)。(4) atomic action(原子操作): 在JAVA中,以下兩點(diǎn)操作是原子操作。但是c和c+中并不如此。 第一點(diǎn):對(duì)引用變量和除了long和double之外的原始數(shù)據(jù)類型變量進(jìn)行讀寫。 第二點(diǎn):對(duì)所有聲明為volatile的變量(包括long和double)的讀寫。 另外:在java.util.concurrent和java.util.concurrent.atomic包中提供了一些不依賴于同步機(jī)制的線程安全的類和方法。2、final,finally,finalize的區(qū)別。final修飾符(關(guān)鍵字)如果一個(gè)類被聲明為final,意味著它不能再派生出新的子類,
24、不能作為父類被繼承。因此一個(gè)類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們?cè)谑褂弥胁槐桓淖?。被聲明為final的變量必須在聲明時(shí)給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載。 finally再異常處理時(shí)提供 finally 塊來(lái)執(zhí)行任何清除操作。如果拋出一個(gè)異常,那么相匹配的 catch 子句就會(huì)執(zhí)行,然后控制就會(huì)進(jìn)入 finally 塊(如果有的話)。 finalize方法名。Java 技術(shù)允許使用 finalize() 方法在垃圾收集器將對(duì)象從內(nèi)存中清除出去之前做必要的清理工作。這個(gè)
25、方法是由垃圾收集器在確定這個(gè)對(duì)象沒(méi)有被引用時(shí)對(duì)這個(gè)對(duì)象調(diào)用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize() 方法是在垃圾收集器刪除對(duì)象之前對(duì)這個(gè)對(duì)象調(diào)用的。3、sleep()和wait()有什么區(qū)別?sleep是線程被調(diào)用時(shí),占著cpu去睡覺(jué),其他線程不能占用cpu,os認(rèn)為該線程正在工作,不會(huì)讓出系統(tǒng)資源,wait是進(jìn)入等待池等待,讓出系統(tǒng)資源,其他線程可以占用cpu4、abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized
26、?不可以5、當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronizated方法后,其他線程是否可以進(jìn)入此對(duì)象的其他方法?可以去訪問(wèn)非Synchronized方法。6、當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?值傳遞7、創(chuàng)建一個(gè)class對(duì)象有幾種方法?分別是什么?1.Class c=Class.for(“java.lang.String”);2.String str=new Stirng();Class c=Str.getClass();3.Class c=String.Class;8、如何在java中調(diào)用C編寫的函數(shù)?
27、9、如何獲取一個(gè)目錄下有多少個(gè)文件?File f=new File(“D:/”);Int count=f.list().length;public class FatherClassPublic FatherClass()System.out.println(“FatherClass Create”);public static class ChildClass extends FatherClass10、請(qǐng)寫出下列代碼的輸出結(jié)果:public ChildClass()System.out.println(“ChildClass Create”);public static void main
28、(String args)FatherClass fc = new FatherClass();ChildClass cc = new ChildClass();FatherClass CreateFatherClass CreateChildClass Create11、請(qǐng)用Socket寫一個(gè)客戶端,并從中讀出一行打印出來(lái)。Socket socket=null;try socket=new Socket("",8888); BufferedReader pw = new BufferedReader(new InputStreamReader(socke
29、t.getInputStream(); System.out.println(pw.readLine(); pw.close();catch(Exception e) e.printStackTrace();Finally Try socket.close(); catch(IOException e e.printStackTrace(); 12、如何指定給java程序運(yùn)行時(shí)需要的內(nèi)存?13、當(dāng)一個(gè)對(duì)象不再被使用時(shí),如何才能從內(nèi)存中消失?將該對(duì)象引用值為空14、請(qǐng)寫一個(gè)整數(shù)組成的矩陣轉(zhuǎn)置程序,即行變成列,列變成行。int transpose(int t);int transponse(int t);public int transponse(int t)int f=new intt0.lengtht.length; for(int i=0;i<t.length;i+)int index=0; index+; for(int x=0;i<ti.length;i+) int m=0; m+; fmindex=tix;Return f;15、現(xiàn)有面值分別為10元、30元、50元、100元面值的卡,但卡的成本分別為99%,98%,97%,96%?,F(xiàn)有客戶要求充值x元(x是10的整數(shù)倍),試
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 海外留學(xué)工作經(jīng)歷證明(5篇)
- 2025年殘疾人公務(wù)員錄用考試公安專業(yè)科目試卷
- 2025年水處理自動(dòng)化系統(tǒng)項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告
- 分析制造業(yè)中質(zhì)量管理的關(guān)鍵要素
- 2025年征信考試題庫(kù):征信市場(chǎng)監(jiān)管案例分析試題
- 養(yǎng)殖業(yè)魚苗供應(yīng)與銷售戰(zhàn)略合作協(xié)議
- 那場(chǎng)雨后的美景寫景作文7篇
- 共享辦公空間使用權(quán)協(xié)議
- 2025年會(huì)計(jì)職稱考試《初級(jí)會(huì)計(jì)實(shí)務(wù)》成本核算與管理重點(diǎn)難點(diǎn)全真試題
- 人股份合作協(xié)議書
- 工程結(jié)算審計(jì)實(shí)施方案(共8篇)
- 樂(lè)東221氣田投產(chǎn)專家驗(yàn)收匯報(bào)
- 信任五環(huán)(用友營(yíng)銷技巧)課件
- 2022年廣東省深圳市中考化學(xué)真題試卷
- 危險(xiǎn)貨物道路運(yùn)輸安全生產(chǎn)管理制度
- GB∕T 8110-2020 熔化極氣體保護(hù)電弧焊用非合金鋼及細(xì)晶粒鋼實(shí)心焊絲
- 【完美排版】山東科技出版社二年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)教案
- 公共政策學(xué)(第三版)-課件
- 齊魯醫(yī)學(xué)Lisfranc-損傷
- GB∕T 4162-2022 鍛軋鋼棒超聲檢測(cè)方法
- 基于motor的六相電機(jī)繞組分相設(shè)置
評(píng)論
0/150
提交評(píng)論