- 相關推薦
不同類型軟件工程師面試題
在日常學習、工作生活中,我們最少不了的就是試題了,試題是命題者根據測試目標和測試事項編寫出來的。那么一般好的試題都具備什么特點呢?以下是小編精心整理的不同類型軟件工程師面試題,僅供參考,大家一起來看看吧。

不同類型軟件工程師面試題 1
java軟件工程師面試題
1、EJB與JAVA BEAN的區別?
答:Java Bean 是可復用的組件,對Java Bean并沒有嚴格的規范,理論上講,任何一個Java類都可以是一個Bean。但通常情況下,由于Java Bean是被容器所創建(如Tomcat)的,所以Java Bean應具有一個無參的構造器,另外,通常Java Bean還要實現Serializable接口用于實現Bean的持久性。Java Bean實際上相當于微軟COM模型中的本地進程內COM組件,它是不能被跨進程訪問的。Enterprise Java Bean 相當于DCOM,即分布式組件。它是基于Java的遠程方法調用(RMI)技術的,所以EJB可以被遠程訪問(跨進程、跨計算機)。但EJB必須被布署在諸如Webspere、WebLogic這樣的容器中,EJB客戶從不直接訪問真正的EJB組件,而是通過其容器訪問。EJB容器是EJB組件的代理,EJB組件由容器所創建和管理。客戶通過容器來訪問真正的EJB組件。
2、MVC的各個部分都有那些技術來實現?如何實現?
答:MVC是Model-View-Controller的簡寫。"Model" 代表的是應用的業務邏輯(通過JavaBean,EJB組件實現), "View" 是應用的表示面(由JSP頁面產生),"Controller" 是提供應用的處理過程控制(一般是一個Servlet),通過這種設計模型把應用邏輯,處理過程和顯示邏輯分成不同的組件實現。這些組件可以進行交互和重用。
3、WEB SERVICE名詞解釋。JSWDL開發包的介紹。JAXP、JAXM的解釋。SOAP、UDDI,WSDL解釋。
答:Web Service描述語言WSDL
SOAP即簡單對象訪問協議(Simple Object Access Protocol),它是用于交換XML編碼信息的輕量級協議。
UDDI 的目的是為電子商務建立標準;UDDI是一套基于Web的、分布式的、為Web Service提供的、信息注冊中心的實現標準規范,同時也包含一組使企業能將自身提供的Web Service注冊,以使別的企業能夠發現的訪問協議的實現標準。
4、開發中都用到了那些設計模式?用在什么場合?
答:每個模式都描述了一個在我們的環境中不斷出現的問題,然后描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在重復相同的工作。主要用到了MVC的設計模式。用來開發JSP/Servlet或者J2EE的相關應用。簡單工廠模式等。
5、CORBA是什么?用途是什么?
答:CORBA 標準是公共對象請求代理結構(Common Object Request Broker Architecture),由對象管理組織 (Object Management Group,縮寫為 OMG)標準化。它的組成是接口定義語言(IDL), 語言綁定(binding:也譯為聯編)和允許應用程序間互操作的協議。 其目的為:
用不同的程序設計語言書寫
在不同的進程中運行
為不同的操作系統開發
6、 如何給weblogic指定大小的內存?
在啟動Weblogic的腳本中(位于所在Domian對應服務器目錄下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以調整最小內存為32M,最大200M
7、 如何設定的weblogic的熱啟動模式(開發模式)與產品發布模式?
可以在管理控制臺中修改對應服務器的啟動模式為開發或產品模式之一。或者修改服務的啟動文件或者commenv文件,增加set PRODUCTION_MODE=true。
8、 如何啟動時不需輸入用戶名與密碼?
修改服務啟動文件,增加 WLS_USER和WLS_PW項。也可以在boot.properties文件中增加加密過的用戶名和密碼.
9、 在weblogic管理制臺中對一個應用域(或者說是一個網站,Domain)進行jms及ejb或連接池等相關信息進行配置后,實際保存在什么文件中?
保存在此Domain的config.xml文件中,它是服務器的核心配置文件。
10、 說說weblogic中一個Domain的缺省目錄結構?比如要將一個簡單的helloWorld.jsp放入何目錄下,然的`在瀏覽器上就可打入http://主機:端口號//helloword.jsp就可以看到運行結果了? 又比如這其中用到了一個自己寫的javaBean該如何辦?
Domain目錄\服務器目錄\applications,將應用目錄放在此目錄下將可以作為應用訪問,如果是Web應用,應用目錄需要滿足Web應用目錄要求,jsp文件可以直接放在應用目錄中,Javabean需要放在應用目錄的WEB-INF目錄的classes目錄中,設置服務器的缺省應用將可以實現在瀏覽器上無需輸入應用名。
.net軟件工程師面試題
一、不定項選擇
Question 1
以下敘述正確的是:
A. 接口中可以有虛方法。 B. 一個類可以實現多個接口。
C. 接口不能被實例化。 D. 接口中可以包含已實現的方法。
Question 2
以下描述錯誤的是()
1. 在C++中支持抽象類而在C#中不支持抽象類。
2. C++中可在頭文件中聲明類的成員而在CPP文件中定義類的成員,在C#中沒有頭文件并且在同一處聲明和定義類的成員。
3. 在C#中可使用 new 修飾符顯式隱藏從基類繼承的成員。
4. 在C#中要在派生類中重新定義基類的虛函數必須在前面加Override。
Question 3
聲明一個委托public delegate int myCallBack(int x); 則用該委托產生的回調方法的原型應該是
1. void myCallBack(int x)
2. int receive(int num)
3. string receive(int x)
4. 不確定的
Question 4
下列描述錯誤的是()
a) 類不可以多重繼承而接口可以;
b) 抽象類自身可以定義成員而接口不可以;
c) 抽象類和接口都不能被實例化;
d) 一個類可以有多個基類和多個基接口;
Question 5
下列關于構造函數的描述正確的是()
a) 構造函數可以聲明返回類型。
b) 構造函數不可以用private修飾
c) 構造函數必須與類名相同
d) 構造函數不能帶參數
Question 6
接口是一種引用類型,在接口中可以聲明( ),但不可以聲明公有的域或私有的成員變量。
a) 方法、屬性、索引器和事件;
b) 方法、屬性信息、屬性;
c) 索引器和字段;
d) 事件和字段;
二.問答題
1. 簡述 private、 protected、 public、 internal 修飾符的訪問權限。
private:私有訪問,它只能在聲明自身的類中進行訪問。
protected:表示受保護的訪問,該類內部和繼承類中可以訪問
.public :表示公共訪問,在代碼任何位置都可對其進行訪問
internal表示內部成員,在同一命名空間內可以訪問。
2. C#中的委托是什么?事件是不是一種委托?
委托是指具有相同屬性(也稱具有相同的函數簽名:返回類型相同,參數類型、參數順序及參數個數相同)的函數或方法的抽象,關鍵字為delegate。主要用途是三個:1)函數回調;2)傳遞方法;3)事件機制
事件就是一個狹義的委托,也就是事件是一個用于事件驅動模型的專用委托,對事件的聲明, 實際是聲明一個私有的委托變量,對委托變量進行封裝,即委托變量加上event關鍵字后,不管其前面的訪問修飾符是public還是private,編譯器都會將其編譯為private。
委托是一個類,它定義了方法的類型,使得可以將方法當作另一個方法的參數來進行傳遞,這種將方法動態地賦給參數的做法,可以避免在程序中大量使用If-Else(Switch)語句,同時使得程序具有更好的可擴展性。以委托為參數的函數具有一定的通用性。
使用委托可以將多個方法綁定到同一個委托變量,當調用此變量時(這里用“調用”這個詞,是因為此變量代表一個方法),可以依次調用所有綁定的方法。
3. abstract 可以和 virtual 一起使用嗎?可以和 override 一起使用嗎?
不可以一起使用,但是可以和override一起使用。
4. 請敘述屬性與索引器的區別。
屬性:它是存取類的字段,索引器:Indexer它是特殊的屬性,用它可以使用戶像訪問數組一樣訪問類的成員。
5. 請詳述在dotnet中類(class)與結構(struct)的異同。
類class可以進行實例化,它是引用類型,內存分配在棧中,效率高,它有默認的構造函數,有析構函數可以使用 abstract 和 sealed, protected 修飾符。要用new進行初始化,
結構它是屬于值類型,內存分配在堆中,效率低,它沒有默認的構造函數,但是可以添加構造函數,沒有析構函數沒有 abstract 和 sealed(因為不能繼承) 不能有protected 修飾符 可以不使用new 初始化,但是可以在結構中初始化實例字段。
百度軟件工程師面試題
1、找到滿足條件的數組
給定函數d(n)=n+n的各位之和,n為正整數,如d(78)=78+7+8=93。這樣這個函數可以看成一個生成器,如93可以看成由78生成。
定義數A:數A找不到一個數B可以由d(B)=A,即A不能由其他數生成。現在要寫程序,找出1至10000里的所有符合數A定義的數。
回答:
申請一個長度為10000的bool數組,每個元素代表對應的值是否可以有其它數生成。開始時將數組中的值都初始化為false。
由于大于10000的數的生成數必定大于10000,所以我們只需遍歷1到10000中的數,計算生成數,并將bool數組中對應的值設置為true,表示這個數可以有其它數生成。
最后bool數組中值為false的位置對應的整數就是不能由其它數生成的。
2、一個大的含有50M個URL的記錄,一個小的含有500個URL的記錄,找出兩個記錄里相同的URL。
回答:
首先使用包含500個url的文件創建一個hash_set。
然后遍歷50M的url記錄,如果url在hash_set中,則輸出此url并從hash_set中刪除這個url。
所有輸出的url就是兩個記錄里相同的url。
3、海量日志數據,提取出某日訪問百度次數最多的那個IP。
回答:
IP地址最多有2^32=4G種取值可能,所以不能完全加載到內存中。
可以考慮分而治之的策略,按照IP地址的hash(IP)%1024值,將海量日志存儲到1024個小文件中。每個小文件最多包含4M個IP地址。
對于每個小文件,可以構建一個IP作為key,出現次數作為value的hash_map,并記錄當前出現次數最多的1個IP地址。
有了1024個小文件中的出現次數最多的IP,我們就可以輕松得到總體上出現次數最多的IP。
4、有10個文件,每個文件1G,每個文件的每一行都存放的是用戶的query,每個文件的query都可能重復。如何按照query的頻度排序?
回答:
1)讀取10個文件,按照hash(query)%10的結果將query寫到對應的文件中。這樣我們就有了10個大小約為1G的文件。任意一個query只會出現在某個文件中。
2)對于1)中獲得的10個文件,分別進行如下操作
-利用hash_map(query,query_count)來統計每個query出現的次數。
-利用堆排序算法對query按照出現次數進行排序。
-將排序好的query輸出的文件中。
這樣我們就獲得了10個文件,每個文件中都是按頻率排序好的query。
3)對2)中獲得的10個文件進行歸并排序,并將最終結果輸出到文件中。
5、螞蟻爬桿問題
有一根27厘米長的細木桿,在第3厘米,7厘米,11厘米,17厘米,23厘米這五個位置上各有一只螞蟻,木桿很細,不能同時通過兩只螞蟻,開始時,螞蟻的頭朝向左還是右是任意的,他們只會朝前走或掉頭,但不會后退,當兩只螞蟻相遇后,螞蟻會同時掉頭朝反方向走,假設螞蟻們每秒鐘可以走1厘米的距離。求所有螞蟻都離開木桿的最小時間和最大時間。
答案:
兩只螞蟻相遇后,各自掉頭朝相反方向走。如果我們不考慮每個螞蟻的具體身份,這和兩只螞蟻相遇后,打個招呼繼續向前走沒有什么區別。
所有螞蟻都離開木桿的最小時間為
max(min(3,27-3),min(7,27-7), min(11,27-11), min(17,27-17),min(23,27-23))=11
所有螞蟻都離開木桿的最大時間為
max(max(3,27-3),max(7,27-7), max(11,27-11), max(17,27-17),max(23,27-23))=24
6、當在瀏覽器中輸入一個url后回車,后臺發生了什么?比如輸入url后,你看到了百度的首頁,那么這一切是如何發生的呢?
回答:
簡單來說有以下步驟:
1、查找域名對應的IP地址。這一步會依次查找瀏覽器緩存,系統緩存,路由器緩存,ISPDNS緩存,根域名服務器。
2、向IP對應的服務器發送請求。
3、服務器響應請求,發回網頁內容。
4、瀏覽器解析網頁內容。
當然,由于網頁可能有重定向,或者嵌入了圖片,AJAX,其它子網頁等等,這4個步驟可能反復進行多次才能將最終頁面展示給用戶。
不同類型軟件工程師面試題 2
1、怎么來設計測試方案
根據測試需求(涉及功能需求和非功能性需求),辨認測試要點,辨認測試環境規定,安排測試輪次,根據項目籌劃和開發籌劃做整體的測試安排。
被測試的特性:通過對需求規格闡明書進行分析,列出本次測試需要進行測試的各部分特性(如要測試的功能需求、性能需求、安全性需求等等)。
不被測試的特性:由于資源、進度等方面因素,本次測試不列入測試范疇的特性。
測試組網圖:進行本次系統測試所需要的軟硬件設備、配備數據已及互相間的邏輯、物理連接。此后測試執行時需要根據這個組網圖來進行環境的搭建。
2、如果給你一種B/S系統你怎么來進行測試
此題答案還可用于回答測試流程,測試流程題亦可參照15題。
閱讀系統需求,充足理解需求,記錄問題,并與項目需求人員充足溝通。
編寫測試需求,涉及系統功能和非功能測試要點、測試類型、測試進度質量規定等。
制定測試籌劃,涉及熟悉測試業務、設計測試用例、執行測試用例、進行測試小結、編寫測試報告,任務顆粒度一般應不不小于5人天
編寫測試用例,根據測試方案設計用例,即便沒有明確的性能和安全測試規定,也應辨認進行此兩項測試。
執行軟件測試。
進行測試小結,如果測試持續時間較長,每個版本間隙總結本輪測試。
編寫測試報告,總結測試過程,匯總度量數據。
3、怎么進行工作流的測試
把握需求,找準結點,理清流程,畫出流轉圖,弄清節點間的數據流轉,設計測試用例的時候必須覆蓋所有也許的流程。
工作流:
如果問到有無做過,根據對工作流的理解狀況回答,如果比較理解,可以把參與的某個項目中說上某些有工作流的,如果不是很理解就說沒有做過,但是學習過有關知識。
4、做性能測試的時候都需要關注哪些參數
并發訪問量,服務器響應時間(最小、平均、最大)
并發性能測試的過程是一種負載測試和壓力測試的過程,即逐漸增長負載,直到系統的瓶頸或者不能接受的性能點,通過綜合分析交易執行指標和資源監控指標來擬定系統并發性能的過程。
負載測試(Load Testing)是擬定在多種工作負載下系統的性能,目的是測試當負載逐漸增長時,系統構成部分的相應輸出項,例如通過量、響應時間、CPU負載、內存使用等來決定系統的性能。
負載測試是一種分析軟件應用程序和支撐架構、模擬真實環境的使用,從而來擬定可以接受的性能過程。壓力測試(Stress Testing)是通過擬定一種系統的瓶頸或者不能接受的性能點,來獲得系統能提供的最大服務級別的測試。
疲勞測試是采用系統穩定運營狀況下可以支持的最大并發顧客數,持續執行一段時間業務,通過綜合分析交易執行指標和資源監控指標來擬定系統解決最大工作量強度性能的過程。
疲勞強度測試可以采用工具自動化的方式進行測試,也可以手工編寫程序測試,其中后者占的比例較大。
一般狀況下以服務器可以正常穩定響應祈求的最大并發顧客數進行一定期間的疲勞測試,獲取交易執行指標數據和系統資源監控數據。如浮現錯誤導致測試不能成功執行,則及時調節測試指標,例如減少顧客數、縮短測試周期等。尚有一種狀況的疲勞測試是對目前系統性能的評估,用系統正常業務狀況下并發顧客數為基本,進行一定期間的疲勞測試。
大數據量測試可以分為兩種類型:針對某些系統存儲、傳播、記錄、查詢等業務進行大數據量的獨立數據量測試;與壓力性能測試、負載性能測試、疲勞性能測試相結合的綜合數據量測試方案。大數據量測試的核心是測試數據的準備,可以依托工具準備測試數據。
5、客戶沒給性能指數,怎么開展性能測試
如果客戶沒有提出明確的性能指標,可以按照慣例和經驗設立,需要和PM協商,一般由PM確認,QA負責給出建議。
舉例說一種Server端程序,規定峰值時CPU和MEM消耗在75%如下,而一種頁面的訪問響應時間一般覺得顧客的忍耐時間是3-5秒以內,這些要參照實際的應用來擬定顧客規模、操作頻率、同步在線數等。
6、有無做過接口測試,是如何做的
通過編寫測試程序,獲得接口指針,逐個調用接口函數驗證其對的性,及失敗操作
7、測試過程中是如何來保證軟件質量的
測試用例編寫完畢后要加強評審的力度,保證測試用例覆蓋所有需求點
執行測試過程中注意做小結檢查覆蓋狀況、審視所提缺陷質量,復測時應注意有關模塊的測試
測試時間寬裕的話可以做交叉測試,用以保證測試質量。
8、測試方案都寫什么內容
1概述
2被測對象分析
3應測試的特性
4不被測試的特性
5總體設計措施
6測試模型
6.1測試組網圖
6.2構造/對象關系圖
6.3測試原理
6.4操作規程
7測試需求
7.1環境需求
7.2被測對象需求
7.3測試工具需求
7.4測試代碼需求
7.5數據需求
7.6其他需求
8測試設計
8.1工具設計
8.2測試代碼設計
8.3用例設計
8.3.1設計原則
8.3.2測試項目
9.附錄
(測試方案規定根據《SRS》上的每個需求點設計出涉及需求點簡介,測試思路和具體測試措施三部分的`方案)以往華為測試方案
目錄如下:
第1章技術方案
1.1.測試需求描述
1.1.1.測試類型分析
1.1.2.測試內容
1.2.缺陷分類
1.3.缺陷級別
第2章SOW及規格的應答
2.1.測試需求應答
2.2.交付件應答
2.2.1.軟件交付件應答
2.2.2.非軟件交付件應答
2.3.項目里程碑項目完畢時間應答
2.4.質量目的應答
2.5.驗收原則應答
2.6.限制應答
2.6.1.合伙供應商人員組織應答
2.6.2.硬件設備應答
2.6.3.合伙項目開發場地應答
第3章類似項目成功案例
第4章項目具體工作籌劃
第5章項目估算
9、測試方案和測試籌劃的區別
測試方案是技術性的;測試籌劃更多是管理性的。
測試籌劃重要要考慮測試的技術可行性、核心技術、資源投入、進度安排、風險管理、配備管理、輸入輸出等。測試籌劃更多地供高層管理者決策時做參照;同步對后續測試工作開展起指引作用。
在某些小項目中,也許只需要一種測試方案,測試籌劃內容相對較少,可以與測試方案合并進行;而某些大項目中,也許要設計數十個測試方案,這就需要一種提綱挈領的東西了,這就是測試籌劃的作用。
10、測試用例是根據什么寫的
系統測試用例根據需求和設計編寫
(華為的SDV測試用例是根據《測試方案》和測試方略來編寫的)
11、是怎么來設計測試用例的?
答:先熟悉系統需求,把握測試要點,設計用例的原則一方面是要覆蓋每個需求點,可以通過填寫需求跟蹤矩陣來保證覆蓋。
黑盒測試的測試用例設計措施:等價類劃分法、邊界值分析法、錯誤推測法、因果圖。
【不同類型軟件工程師面試題】相關文章:
軟件測試工程師面試題07-19
軟件工程師面試題目05-02
不同類型的簡歷11-04
演講的不同類型08-03
不同模特類型的要求07-11
2016軟件測試工程師面試題08-10
常見軟件測試工程師面試題05-14
軟件測試工程師面試題及答案05-09
面試類型不同面試技巧也不同!08-02
不同的節目類型主持要點07-23