運動的毛毛
網(wǎng)絡(luò)工程師能夠從事計算機信息系統(tǒng)的設(shè)計、建設(shè)、運行和維護工作。下面是我為你整理的網(wǎng)絡(luò)工程師面試題,希望對你有所幫助!
1、用戶名與口令被破解
攻擊原理:用戶名與口令,往往是黑客們最感興趣的東西,如果被通過某種方式看到源代碼,后果是嚴重的。
防范技巧:涉及用戶名與口令的程序最好封裝在服務(wù)器端,盡量少在ASP文件里出現(xiàn),涉及與數(shù)據(jù)庫連接的用戶名與口令應(yīng)給予最小的權(quán)限。出現(xiàn)次數(shù)多的用戶名與口令可以寫在一個位置比較隱蔽的包含文件中。如果涉及與數(shù)據(jù)庫連接,在理想狀態(tài)下只給它以執(zhí)行存儲過程的權(quán)限,千萬不要直接給予該用戶修改、插入、刪除記錄的權(quán)限。
2、驗證被繞過
攻擊原理:現(xiàn)在需要經(jīng)過驗證的ASP程序大多是在頁面頭部加一個判斷語句,但這還不夠,有可能被黑客繞過驗證直接進入。
防范技巧:需要經(jīng)過驗證的ASP頁面,可跟蹤上一個頁面的文件名,只有從上一頁面轉(zhuǎn)進來的會話才能讀取這個頁面。
3、inc文件泄露問題
攻擊原理:當存在ASP的主頁正在制作且沒有進行最后調(diào)試完成以前,可以被某些搜索引擎機動追加為搜索對象。如果這時候有人利用搜索引擎對這些網(wǎng)頁進行查找,會得到有關(guān)文件的定位,并能在瀏覽器中查看到數(shù)據(jù)庫地點和結(jié)構(gòu)的細節(jié),并以此揭示完整的源代碼。
防范技巧:程序員應(yīng)該在網(wǎng)頁發(fā)布前對它進行徹底的調(diào)試;安全專家則需要加固ASP文件以便外部的用戶不能看到它們。首先對.inc文件內(nèi)容進行加密,其次也可以使用.asp文件代替.inc文件使用戶無法從瀏覽器直接觀看文件的源代碼。inc文件的文件名不要使用系統(tǒng)默認的或者有特殊含義容易被用戶猜測到的名稱,盡量使用無規(guī)則的英文字母。
4、自動備份被下載
攻擊原理:在有些編輯ASP程序的工具中,當創(chuàng)建或者修改一個ASP文件時,編輯器自動創(chuàng)建一個備份文件,比如:UltraEdit就會備份一個.bak文件,如你創(chuàng)建或者修改了,編輯器會自動生成一個叫 文件,如果你沒有刪除這個bak文件,攻擊者可以直接下載文件,這樣的源程序就會被下載。
防范技巧:上傳程序之前要仔細檢查,刪除不必要的文檔。對以BAK為后綴的文件要特別小心。
5、特殊字符
攻擊原理:輸入框是黑客利用的一個目標,他們可以通過輸入腳本語言等對用戶客戶端造成損壞;如果該輸入框涉及數(shù)據(jù)查詢,他們會利用特殊查詢語句,得到更多的數(shù)據(jù)庫數(shù)據(jù),甚至表的全部。因此必須對輸入框進行過濾。但如果為了提高效率僅在客戶端進行輸入合法性檢查,仍有可能被繞過。
防范技巧:在處理類似留言板、BBS等輸入框的ASP程序中,最好屏蔽掉HTML、JavaScript、VBScript語句,如無特殊要求,可以限定只允許輸入字母與數(shù)字,屏蔽掉特殊字符。同時對輸入字符的長度進行限制。而且不但要在客戶端進行輸入合法性檢查,同時要在服務(wù)器端程序中進行類似檢查。
6、數(shù)據(jù)庫下載漏洞
攻擊原理:在用Access做后臺數(shù)據(jù)庫時,如果有人通過各種方法知道或者猜到了服務(wù)器的Access數(shù)據(jù)庫的路徑和數(shù)據(jù)庫名稱,那么他也能夠下載這個Access數(shù)據(jù)庫文件,這是非常危險的。
防范技巧:
(1)為你的數(shù)據(jù)庫文件名稱起個復(fù)雜的非常規(guī)的名字,并把它放在幾層目錄下。所謂 “非常規(guī)”,打個比方說,比如有個數(shù)據(jù)庫要保存的是有關(guān)書籍的信息,可不要給它起個“”的名字,而要起個怪怪的名稱,比如,并把它放在如./kdslf/i44/studi/的幾層目錄下,這樣黑客要想通過猜的方式得到你的Access數(shù)據(jù)庫文件就難上加難了。
(2)不要把數(shù)據(jù)庫名寫在程序中。有些人喜歡把DSN寫在程序中,比如:
DBPath = (“”)
“driver={Microsoft Access Driver (*.mdb)};dbq=” & DBPath
假如萬一給人拿到了源程序,你的Access數(shù)據(jù)庫的名字就一覽無余了。因此建議你在ODBC里設(shè)置數(shù)據(jù)源,再在程序中這樣寫:
“shujiyuan”
(3)使用Access來為數(shù)據(jù)庫文件編碼及加密。首先在“工具→安全→加密/解密數(shù)據(jù)庫”中選取數(shù)據(jù)庫(如:),然后按確定,接著會出現(xiàn)“數(shù)據(jù)庫加密后另存為”的窗口,可存為:“”。
要注意的是,以上的動作并不是對數(shù)據(jù)庫設(shè)置密碼,而只是對數(shù)據(jù)庫文件加以編碼,目的是為了防止他人使用別的工具來查看數(shù)據(jù)庫文件的內(nèi)容。
接下來我們?yōu)閿?shù)據(jù)庫加密,首先打開經(jīng)過編碼了的 ,在打開時,選擇“獨占”方式。然后選取功能表的“工具→安全→設(shè)置數(shù)據(jù)庫密碼”,接著輸入密碼即可。這樣即使他人得到了 文件,沒有密碼他也是無法看到 中的內(nèi)容。
7、防范遠程注入攻擊
這類攻擊在以前應(yīng)該是比較常見的攻擊方式,比如POST攻擊,攻擊者可以隨便的改變要提交的數(shù)據(jù)值已達到攻擊目的.又如:COOKIES 的偽造,這一點更值得引起程序編寫者或站長的注意,不要使用COOKIES來做為用戶驗證的方式,否則你和把鑰匙留給賊是同一個道理.
比如:
If trim(Request. cookies (“uname”))=”fqy” and (“upwd”) =”fqy#” then
……..more………
End if
我想各位站長或者是喜好寫程序的朋友千萬別出這類錯誤,真的是不可饒恕.偽造COOKIES 都多少年了,你還用這樣的就不能怪別人跑你的密碼.涉及到用戶密碼或者是用戶登陸時,你最好使用session 它才是最安全的.如果要使用COOKIES就在你的COOKIES上多加一個信息,SessionID,它的隨機值是64位的,要猜解它,不可能.例:
if not ( or ) then
login=”true”
Session(“username”&sessionID) = Username
Session(“password”& sessionID) = Password
‘(“username”)= Username
‘(“Password”)= Password
下面我們來談?wù)勅绾畏婪哆h程注入攻擊,一般的攻擊都是將單表提交文件拖到本地,將Form ACTION=”” 指向你服務(wù)器中處理數(shù)據(jù)的文件即可.如果你全部的數(shù)據(jù)過濾都在單表頁上,那么恭喜你,你將已經(jīng)被腳本攻擊了.
怎么才能制止這樣的遠程攻擊?好辦,請看代碼如下: 程序體(9)
‘個人感覺上面的代碼過濾不是很好,有一些外部提交竟然還能堂堂正正的進來,于是再寫一個.
‘這個是過濾效果很好,建議使用.
if instr((“http_referer”),”http://”&(“host”) )<1 then “處理 URL 時服務(wù)器上出錯。
如果您是在用任何手段攻擊服務(wù)器,那你應(yīng)該慶幸,你的所有操作已經(jīng)被服務(wù)器記錄,我們會第一時間通知公安局與國家安全部門來調(diào)查你的IP. ”
end if
程序體(9)
本以為這樣就萬事大吉了,在表格頁上加一些限制,比如maxlength啦,等等..但天公就是那么不作美,你越怕什么他越來什么.你別忘了,攻擊者可以突破sql注入攻擊時輸入框長度的限制.寫一個SOCKET程序改變HTTP_REFERER?我不會。網(wǎng)上發(fā)表了這樣一篇文章:
—————————–
Windows Registry Editor Version
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\擴展(&E)]
@=”C:\Documents and Settings\Administrator\桌面\”
“contexts”=dword:00000004
———–end———————-
———–——————
———-end———————–
用法:先把導(dǎo)入注冊表(注意文件路徑)
然后把拷到注冊表中指定的地方.
打開網(wǎng)頁,光標放在要改變長度的輸入框上點右鍵,看多了一個叫擴展的選項了吧
單擊搞定! 后記:同樣的也就可以對付那些限制輸入內(nèi)容的腳本了.
怎么辦?我們的限制被饒過了,所有的努力都白費了?不,舉起你de鍵盤,說不。讓我們繼續(xù)回到腳本字符的過濾吧,他們所進行的注入無非就是進行腳本攻擊。我們把所有的精力全都用到ACTION以后的頁面吧,在頁中,我們將非法的字符全部過濾掉,結(jié)果如何?我們只在前面虛晃一槍,叫他們?nèi)ジ淖员戆?,當他們改完才會發(fā)現(xiàn),他們所做的都是那么的徒勞。
8、ASP木馬
已經(jīng)講到這里了,再提醒各位論壇站長一句,小心你們的文件上傳:為什么論壇程序被攻破后主機也隨之被攻擊者占據(jù)。原因就在……對!ASP木馬!一個絕對可惡的東西。病毒么?非也.把個文件隨便放到你論壇的程序中,您老找去吧。不吐血才怪哦。如何才能防止ASP木馬被上傳到服務(wù)器呢?方法很簡單,如果你的論壇支持文件上傳,請設(shè)定好你要上傳的文件格式,我不贊成使用可更改的文件格式,直接從程序上鎖定,只有圖象文件格式,和壓縮文件就完全可以,多給自己留點方便也就多給攻擊者留點方便。怎么判斷格式,我這里收集了一個,也改出了一個,大家可以看一下:
程序體(10)
‘判斷文件類型是否合格
Private Function CheckFileExt (fileEXT)
dim Forumupload
Forumupload=”gif,jpg,bmp,jpeg”
Forumupload=split(Forumupload,”,”)
for i=0 to ubound(Forumupload)
if lcase(fileEXT)=lcase(trim(Forumupload(i))) then
CheckFileExt=true
exit Function
else
CheckFileExt=false
end if
next
End Function
‘驗證文件內(nèi)容的合法性
set MyFile = (“”)
set MyText = (sFile, 1) ‘ 讀取文本文件
sTextAll = lcase():
‘判斷用戶文件中的危險操作
sStr =”8 .getfolder .createfolder .deletefolder .createdirectory
.deletedirectory”
sStr = sStr & “ .saveas ”
sNoString = split(sStr,” ”)
for i = 1 to sNoString(0)
if instr(sTextAll, sNoString(i)) <> 0 then
sFile = & sFileSave: sFile
“
”& sFileSave &”文件中含有與操作目錄等有關(guān)的命令”&_
“
”& mid(sNoString(i),2) &”,為了安全原因,不能上傳?!?_”
”
end if
next
程序體(10)
雪野在寧
面試 的目的是確定面試者如何處理他們所選擇的研究領(lǐng)域的問題,以及他們?nèi)绾闻行缘厮伎紗栴}。下面我給大家?guī)?021面試網(wǎng)絡(luò)工程師的題目參考,希望能幫助到大家!
Java多線程 面試題 目
1、什么是線程?
線程是 操作系統(tǒng) 能夠進行運算調(diào)度的最小單位,它被包含在進程之中,是進程中的實際運作單位。程序員可以通過它進行多處理器編程,你可以使用多線程對運算密集型任務(wù)提速。比如,如果一個線程完成一個任務(wù)要100毫秒,那么用十個線程完成改任務(wù)只需10毫秒。
2、線程和進程有什么區(qū)別?
線程是進程的子集,一個進程可以有很多線程,每條線程并行執(zhí)行不同的任務(wù)。不同的進程使用不同的內(nèi)存空間,而所有的線程共享一片相同的內(nèi)存空間。每個線程都擁有單獨的棧內(nèi)存用來存儲本地數(shù)據(jù)。
3、如何在Java中實現(xiàn)線程?
兩種方式: 類的實例就是一個線程但是它需要調(diào)用接口來執(zhí)行,由于線程類本身就是調(diào)用的Runnable接口所以你可以繼承 類或者直接調(diào)用Runnable接口來重寫run() 方法 實現(xiàn)線程。
4、Java 關(guān)鍵字volatile 與 synchronized 作用與區(qū)別?
Volatile:
它所修飾的變量不保留拷貝,直接訪問主內(nèi)存中的。
在Java內(nèi)存模型中,有main memory,每個線程也有自己的memory (例如寄存器)。為了性能,一個線程會在自己的memory中保持要訪問的變量的副本。這樣就會出現(xiàn)同一個變量在某個瞬間,在一個線程的memory中的值可能與另外一個線程memory中的值,或者main memory中的值不一致的情況。 一個變量聲明為volatile,就意味著這個變量是隨時會被其他線程修改的,因此不能將它cache在線程memory中。
synchronized:
當它用來修飾一個方法或者一個代碼塊的時候,能夠保證在同一時刻最多只有一個線程執(zhí)行該段代碼。
一、當兩個并發(fā)線程訪問同一個對象object中的這個synchronized(this)同步代碼塊時,一個時間內(nèi)只能有一個線程得到執(zhí)行。另一個線程必須等待當前線程執(zhí)行完這個代碼塊以后才能執(zhí)行該代碼塊。
二、然而,當一個線程訪問object的一個synchronized(this)同步代碼塊時,另一個線程仍然可以訪問該object中的非synchronized(this)同步代碼塊。
三、尤其關(guān)鍵的是,當一個線程訪問object的一個synchronized(this)同步代碼塊時,其他線程對object中所有 其它 synchronized(this)同步代碼塊的訪問將被阻塞。
四、當一個線程訪問object的一個synchronized(this)同步代碼塊時,它就獲得了這個object的對象鎖。結(jié)果,其它線程對該object對象所有同步代碼部分的訪問都被暫時阻塞。
五、以上規(guī)則對其它對象鎖同樣適用。
5、有哪些不同的線程生命周期?
當我們在Java程序中新建一個線程時,它的狀態(tài)是New。當我們調(diào)用線程的start()方法時,狀態(tài)被改變?yōu)镽unnable。線程調(diào)度器會為Runnable線程池中的線程分配CPU時間并且講它們的狀態(tài)改變?yōu)镽unning。其他的線程狀態(tài)還有Waiting,Blocked 和Dead。
6、你對線程優(yōu)先級的理解是什么?
每一個線程都是有優(yōu)先級的,一般來說,高優(yōu)先級的線程在運行時會具有優(yōu)先權(quán),但這依賴于線程調(diào)度的實現(xiàn),這個實現(xiàn)是和操作系統(tǒng)相關(guān)的(OS dependent)。
我們可以定義線程的優(yōu)先級,但是這并不能保證高優(yōu)先級的線程會在低優(yōu)先級的線程前執(zhí)行。線程優(yōu)先級是一個int變量(從1-10),1代表最低優(yōu)先級,10代表最高優(yōu)先級。
7、什么是死鎖(Deadlock)?如何分析和避免死鎖?
死鎖是指兩個以上的線程永遠阻塞的情況,這種情況產(chǎn)生至少需要兩個以上的線程和兩個以上的資源。
分析死鎖,我們需要查看Java應(yīng)用程序的線程轉(zhuǎn)儲。我們需要找出那些狀態(tài)為BLOCKED的線程和他們等待的資源。每個資源都有一個唯一的id,用這個id我們可以找出哪些線程已經(jīng)擁有了它的對象鎖。
避免嵌套鎖,只在需要的地方使用鎖和避免無限期等待是避免死鎖的通常辦法。
8、什么是線程安全?Vector是一個線程安全類嗎?
如果你的代碼所在的進程中有多個線程在同時運行,而這些線程可能會同時運行這段代碼。如果每次運行結(jié)果和單線程運行的結(jié)果是一樣的,而且其他的變量的值也和預(yù)期的是一樣的,就是線程安全的。
一個線程安全的計數(shù)器類的同一個實例對象在被多個線程使用的情況下也不會出現(xiàn)計算失誤。很顯然你可以將集合類分成兩組,線程安全和非線程安全的。Vector 是用同步方法來實現(xiàn)線程安全的, 而和它相似的ArrayList不是線程安全的。
9、Java中如何停止一個線程?
Java提供了很豐富的API但沒有為停止線程提供API。JDK 本來有一些像stop(), suspend()和resume()的控制方法但是由于潛在的死鎖威脅因此在后續(xù)的JDK版本中他們被棄用了,之后Java API的設(shè)計者就沒有提供一個兼容且線程安全的方法來停止一個線程。
當run()或者 call()方法執(zhí)行完的時候線程會自動結(jié)束,如果要手動結(jié)束一個線程,你可以用volatile 布爾變量來退出run()方法的循環(huán)或者是取消任務(wù)來中斷線程。
10、什么是ThreadLocal?
ThreadLocal用于創(chuàng)建線程的本地變量,我們知道一個對象的所有線程會共享它的全局變量,所以這些變量不是線程安全的,我們可以使用同步技術(shù)。但是當我們不想使用同步的時候,我們可以選擇ThreadLocal變量。
每個線程都會擁有他們自己的Thread變量,它們可以使用get()set()方法去獲取他們的默認值或者在線程內(nèi)部改變他們的值。ThreadLocal實例通常是希望它們同線程狀態(tài)關(guān)聯(lián)起來是private static屬性。
Kubernetes面試題匯總
1、什么是Kubernetes?
Kubernetes是一個開源容器管理工具,負責(zé)容器部署,容器擴縮容以及負載平衡。作為Google的創(chuàng)意之作,它提供了出色的社區(qū),并與所有云提供商合作。因此,我們可以說Kubernetes不是一個容器化平臺,而是一個多容器管理解決方案。
2、Kubernetes與Docker有什么關(guān)系?
眾所周知,Docker提供容器的生命周期管理,Docker鏡像構(gòu)建運行時容器。但是,由于這些單獨的容器必須通信,因此使用Kubernetes。因此,我們說Docker構(gòu)建容器,這些容器通過Kubernetes相互通信。因此,可以使用Kubernetes手動關(guān)聯(lián)和編排在多個主機上運行的容器。
3、什么是Container Orchestration?
考慮一個應(yīng)用程序有5-6個微服務(wù)的場景。現(xiàn)在,這些微服務(wù)被放在單獨的容器中,但如果沒有容器編排就無法進行通信。因此,由于編排意味著所有樂器在音樂中和諧共處,所以類似的容器編排意味著各個容器中的所有服務(wù)協(xié)同工作以滿足單個服務(wù)器的需求。
4、Kubernetes如何簡化容器化部署?
由于典型應(yīng)用程序?qū)⒕哂锌缍鄠€主機運行的容器集群,因此所有這些容器都需要相互通信。因此,要做到這一點,你需要一些能夠負載平衡,擴展和監(jiān)控容器的東西。由于Kubernetes與云無關(guān)并且可以在任何公共/私有提供商上運行,因此必須是您簡化容器化部署的選擇。
5、您對Kubernetes的集群了解多少?
Kubernetes背后的基礎(chǔ)是我們可以實施所需的狀態(tài)管理,我的意思是我們可以提供特定配置的集群服務(wù),并且集群服務(wù)將在基礎(chǔ)架構(gòu)中運行并運行該配置。
因此,正如您所看到的,部署文件將具有提供給集群服務(wù)所需的所有配置?,F(xiàn)在,部署文件將被提供給API,然后由集群服務(wù)決定如何在環(huán)境中安排這些pod,并確保正確運行的pod數(shù)量。
因此,位于服務(wù)前面的API,工作節(jié)點和節(jié)點運行的Kubelet進程,共同構(gòu)成了Kubernetes集群。
6、Kubernetes Architecture的不同組件有哪些?
Kubernetes Architecture主要有兩個組件 - 主節(jié)點和工作節(jié)點。如下圖所示,master和worker節(jié)點中包含許多內(nèi)置組件。主節(jié)點具有kube-controller-manager,kube-apiserver,kube-scheduler等。而工作節(jié)點具有在每個節(jié)點上運行的kubelet和kube-proxy。
7、您能否介紹一下Kubernetes中主節(jié)點的工作情況?
Kubernetes master控制容器存在的節(jié)點和節(jié)點內(nèi)部?,F(xiàn)在,這些單獨的容器包含在容器內(nèi)部和每個容器內(nèi)部,您可以根據(jù)配置和要求擁有不同數(shù)量的容器。
因此,如果必須部署pod,則可以使用用戶界面或命令行界面部署它們。然后,在節(jié)點上調(diào)度這些pod,并根據(jù)資源需求,將pod分配給這些節(jié)點。kube-apiserver確保在Kubernetes節(jié)點和主組件之間建立通信。
8、kube-apiserver和kube-scheduler的作用是什么?
kube -apiserver遵循橫向擴展架構(gòu),是主節(jié)點控制面板的前端。這將公開Kubernetes主節(jié)點組件的所有API,并負責(zé)在Kubernetes節(jié)點和Kubernetes主組件之間建立通信。
kube-scheduler負責(zé)工作節(jié)點上工作負載的分配和管理。因此,它根據(jù)資源需求選擇最合適的節(jié)點來運行未調(diào)度的pod,并跟蹤資源利用率。它確保不在已滿的節(jié)點上調(diào)度工作負載。
9、你對Kubernetes的負載均衡器有什么了解?
負載均衡器是暴露服務(wù)的最常見和標準方式之一。根據(jù)工作環(huán)境使用兩種類型的負載均衡器,即內(nèi)部負載均衡器或外部負載均衡器。內(nèi)部負載均衡器自動平衡負載并使用所需配置分配容器,而外部負載均衡器將流量從外部負載引導(dǎo)至后端容器。
10、Replica Set 和 Replication Controller之間有什么區(qū)別?
Replica Set 和 Replication Controller幾乎完全相同。它們都確保在任何給定時間運行指定數(shù)量的pod副本。不同之處在于復(fù)制pod使用的選擇器。Replica Set使用基于集合的選擇器,而Replication Controller使用基于權(quán)限的選擇器。
Equity-Based選擇器:這種類型的選擇器允許按標簽鍵和值進行過濾。因此,在外行術(shù)語中,基于Equity的選擇器將僅查找與標簽具有完全相同 短語 的pod。
示例:假設(shè)您的標簽鍵表示app = nginx,那么,使用此選擇器,您只能查找標簽應(yīng)用程序等于nginx的那些pod。
Selector-Based選擇器:此類型的選擇器允許根據(jù)一組值過濾鍵。因此,換句話說,基于Selector的選擇器將查找已在集合中提及其標簽的pod。
示例:假設(shè)您的標簽鍵在(nginx,NPS,Apache)中顯示應(yīng)用程序。然后,使用此選擇器,如果您的應(yīng)用程序等于任何nginx,NPS或Apache,則選擇器將其視為真實結(jié)果。
滲透攻擊的測試步驟
1.如果原始值為2,我們使用(1+1)或(3-1),程序作出相同回應(yīng),表明易受攻擊
2.如果單引號被過濾掉,我們可以用ASCII命令,使它返回字符的數(shù)字化代碼,如51-ASCII(1)
3.在URL編碼中,&和=用于鏈接名稱/值對,建立查詢字符串應(yīng)當分別使用%26和%3d進行編碼
4.如查詢字符串不允許使用空格,使用+或%20編碼
5.分號被用于分割cookie自讀,使用%3d編碼
2021面試網(wǎng)絡(luò)工程師的題目相關(guān) 文章 :
★ 關(guān)于網(wǎng)絡(luò)工程師的面試題有哪些
★ 網(wǎng)絡(luò)管理員面試題及答案大全
★ 最新的運維工程師面試題目整理
★ 網(wǎng)絡(luò)測試工程師面試題及答案
★ 計算機網(wǎng)絡(luò)面試題及參考答案
★ 網(wǎng)絡(luò)工程師面試自我介紹范文五篇
★ 面試網(wǎng)絡(luò)技術(shù)工程師的有哪些提問
★ 最新的it運維工程師面試題整理
yuki198611
網(wǎng)絡(luò)測試工程師求職者提高應(yīng)聘水平的第一關(guān)就是 面試 題的回答。下面是我為大家精心推薦的網(wǎng)絡(luò)工程師 面試題 及參考答案,希望能夠?qū)δ兴鶐椭?。網(wǎng)絡(luò)工程師面試題篇1 1、什么是兼容性測試?兼容性測試側(cè)重哪些方面? 參考答案: 兼容測試主要是檢查軟件在不同的硬件平臺、軟件平臺上是否可以正常的運行,即是通常說的軟件的可移植性。 兼容的類型,如果細分的話,有平臺的兼容,網(wǎng)絡(luò)兼容,數(shù)據(jù)庫兼容,以及數(shù)據(jù)格式的兼容。 兼容測試的重點是,對兼容環(huán)境的分析。通常,是在運行軟件的環(huán)境不是很確定的情況下,才需要做兼容。根據(jù)軟件運行的需要,或者根據(jù)需求文檔,一般都能夠得出用戶會在什么環(huán)境下使用該軟件,把這些環(huán)境整理成表單,就得出做兼容測試的兼容環(huán)境了。 兼容和配置測試的區(qū)別在于,做配置測試通常不是Clean OS下做測試,而兼容測試多是在Clean OS的環(huán)境下做的。 2、我現(xiàn)在有個程序,發(fā)現(xiàn)在Windows上運行得很慢,怎么判別是程序存在問題還是軟硬件系統(tǒng)存在問題? 參考答案: 1、檢查系統(tǒng)是否有中毒的特征; 2、檢查軟件/硬件的配置是否符合軟件的推薦標準; 3、確認當前的系統(tǒng)是否是獨立,即沒有對外提供什么消耗CPU資源的服務(wù); 4、如果是C/S或者B/S結(jié)構(gòu)的軟件,需要檢查是不是因為與服務(wù)器的連接有問題,或者訪問有問題造成的; 5、在系統(tǒng)沒有任何負載的情況下,查看性能監(jiān)視器,確認應(yīng)用程序?qū)PU/內(nèi)存的訪問情況。 3、測試的策略有哪些? 參考答案: 黑盒/白盒,靜態(tài)/動態(tài),手工/自動,冒煙測試,回歸測試,公測(Beta測試的策略) 4、正交表測試用例設(shè)計 方法 的特點是什么? 參考答案: 用最少的實驗覆蓋最多的操作,測試用例設(shè)計很少,效率高,但是很復(fù)雜; 對于基本的驗證功能,以及二次集成引起的缺陷,一般都能找出來;但是更深的缺陷,更復(fù)雜的缺陷,還是無能為力的; 具體的環(huán)境下,正交表一般都很難做的。大多數(shù),只在系統(tǒng)測試的時候使用此方法。 5、描述使用bugzilla缺陷管理工具對軟件缺陷(BUG)跟蹤的管理的流程? 參考答案: 就是Bugzilla的狀態(tài)轉(zhuǎn)換圖。 6、你覺得bugzilla在使用的過程中,有什么問題? 參考答案: 界面不穩(wěn)定; 根據(jù)需要配置它的不同的部分,過程很煩瑣。 流程控制上,安全性不好界定,很容易對他人的Bug進行誤操作; 沒有綜合的評分指標,不好確認修復(fù)的優(yōu)先級別。 網(wǎng)絡(luò)工程師面試題篇2 7、描述測試用例設(shè)計的完整過程? 參考答案: 需求分析 + 需求變更的維護工作; 根據(jù)需求 得出測試需求; 設(shè)計測試方案,評審測試方案; 方案評審?fù)ㄟ^后,設(shè)計測試用例,再對測試用例進行評審; 8、單元測試的策略有哪些? 參考答案: 邏輯覆蓋、循環(huán)覆蓋、同行評審、桌前檢查、代碼走查、代碼評審、景泰數(shù)據(jù)流分析 9、LoadRunner分哪三部分? 參考答案: 用戶動作設(shè)計; 場景設(shè)計; 測試數(shù)據(jù)分析; 10、LoadRunner進行測試的流程? 參考答案: 1、 測試測試 2、 創(chuàng)建虛擬用戶腳本 3、 創(chuàng)建運行場景 4、 運行測試腳本 5、 監(jiān)視場景 6、 分析測試的結(jié)果 以上,最好是結(jié)合一個案例,根據(jù)以上流程來介紹。 什么是并發(fā)?在lordrunner中,如何進行并發(fā)的測試?集合點失敗了會怎么樣? 參考答案: 在同一時間點,支持多個不同的操作。 LoadRunner中提供IP偽裝,集合點,配合虛擬用戶的設(shè)計,以及在多臺電腦上設(shè)置,可以比較好的模擬真實的并發(fā)。 集合點,即是多個用戶在某個時刻,某個特定的環(huán)境下同時進行虛擬用戶的操作的。集合點失敗,則集合點的才操作就會取消,測試就不能進行。 12、使用QTP做功能測試,錄制腳本的時候,要驗證多個用戶的登錄情況/查詢情況,如何操作? 參考答案: 分析用戶登錄的基本情況,得出一組數(shù)據(jù),通過性測試/失敗性測試的都有(根據(jù)TC來設(shè)計這些數(shù)據(jù)),然后錄制登錄的腳本,將關(guān)鍵的數(shù)據(jù)參數(shù)化,修改腳本,對代碼進行加強,調(diào)試腳本。 13、QTP中的Action有什么作用?有幾種? 參考答案: Action的作用 用Action可以對步驟集進行分組 步驟重組,然后被整體調(diào)用 擁有自己的sheet 組合有相同需求的步驟,整 體操 作 具有獨立的對象倉庫 Action的種類 可復(fù)用Action 不可復(fù)用Action 外部Action 網(wǎng)絡(luò)工程師面試題篇3 14、TestDirector有些什么功能,如何對軟件測試過程進行管理? 參考答案: 需求管理 定義測試范圍 定義需求樹 描述需求樹的功能點 測試計劃 定義測試目標和測試策略。 分解應(yīng)用程序,建立測試計劃樹。 確定每個功能點的測試方法。 將每個功能點連接到需求上,使測試計劃覆蓋全部的測試需求。 描述手工測試的測試步驟 指明需要進行自動測試的功能點 測試執(zhí)行 定義測試集合。 為每個測試人員制定測試任務(wù)和測試日程安排。 運行自動測試。 缺陷跟蹤 記錄缺陷 查看新增缺陷,并確定哪些是需要修正的 相關(guān)技術(shù)人員修改缺陷 回歸測試 分析缺陷統(tǒng)計圖表,分析應(yīng)用程序的開發(fā)質(zhì)量。 15、你所熟悉的軟件測試類型都有哪些?請試著分別比較這些不同的測試類型的區(qū)別與聯(lián)系(如功能測試、性能測試??)? 參考答案:Compatibility Testing(兼容性測試),也稱“Configuration testing(配置測試)”,測試軟件是否和系統(tǒng)的 其它 與之交互的元素之間兼容,如:瀏覽器、 操作系統(tǒng) 、硬件等。驗證測試對象在不同的軟件和硬件配置中的運行情況。 Functional testing (功能測試),也稱為behavioral testing(行為測試),根據(jù)產(chǎn)品特征、操作描述和用戶方案,測試一個產(chǎn)品的特性和可操作行為以確定它們滿足設(shè)計需求。本地化軟件的功能測試,用于驗證應(yīng)用程序或網(wǎng)站對目標用戶能正確工作。使用適當?shù)钠脚_、瀏覽器和測試腳本,以保證目標用戶的體驗將足夠好,就像應(yīng)用程序是專門為該市場開發(fā)的一樣。 Performance testing(性能測試),評價一個產(chǎn)品或組件與性能需求是否符合的測試。包括負載測試、強度測試、數(shù)據(jù)庫容量測試、基準測試等類型。 16、軟件缺陷(或者叫Bug)記錄都包含了哪些內(nèi)容?如何提交高質(zhì)量的軟件缺陷(Bug)記錄? 參考答案:5C標準 17、Beta測試與Alpha測試有什么區(qū)別? 參考答案:Beta testing(β測試),測試是軟件的多個用戶在一個或多個用戶的實際使用環(huán)境下進行的測試。開發(fā)者通常不在測試現(xiàn)場 Alpha testing (α測試),是由一個用戶在開發(fā)環(huán)境下進行的測試,也可以是公司內(nèi)部的用戶在模擬實際操作環(huán)境下進行的受控測試 18、軟件的評審一般由哪些人參加?其目的是什么? 參考答案: 在正式的會議上將軟件項目的成果(包括各階段的文檔、產(chǎn)生的代碼等)提交給用戶、客戶或有關(guān)部門人員對軟件產(chǎn)品進行評審和批準。其目的是找出可能影響軟件產(chǎn)品質(zhì)量、開發(fā)過程、維護工作的適用性和環(huán)境方面的設(shè)計缺陷,并采取補救 措施 ,以及找出在性能、安全性和經(jīng)濟方面的可能的改進。 人員:用戶、客戶或有關(guān)部門開發(fā)人員,測試人員,需求分析師都可以,就看處于評審那個階段 19、測試活動中,如果發(fā)現(xiàn)需求文檔不完善或者不準確,怎么處理? 參考答案: 測試需求分析 發(fā)現(xiàn)需求文檔不完善或者不準確,應(yīng)該立即和相關(guān)人員進行協(xié)調(diào)交流。 20、階段評審與項目評審有什么區(qū)別? 參考答案: 階段評審 對項目各階段評審:對階段成果和工作 項目評審 對項目總體評審:對工作和產(chǎn)品 21、闡述工作版本的定義? 參考答案: 構(gòu)造號: BUILD 22、什么是樁模塊?什么是驅(qū)動模塊? 參考答案: 樁模塊:被測模塊調(diào)用模塊 驅(qū)動模塊 調(diào)用被測模塊 23、什么是扇入?什么是扇出? 參考答案:
優(yōu)質(zhì)工程師考試問答知識庫