第一篇:軟件工程師筆試題目
姓名:
一、問答題
1、頭文件中的 ifndef/define/endif 干什么用?
2、#include
3、在C語言中,修改符volatile的含義是什么?舉例說明其使用場合。
4、在C語言中,static函數與普通函數有什么區別?
5、什么是中斷?如果要防止中斷嵌套,可以采用什么方法?
6、靜態局部變量和普通局部變量有什么區別?
7、堆和棧的區別是?
二、編程題
請實現內存復制函數 void memcpy(void *dst,const void * src,int size);
三、閱讀題
1、C++可以采用動態內存分配在運行時為指針分配內存。下面()對一個100個元素的動態數組進行動態內存分配和釋放;()對一個單獨的int指針分配和釋放內存。
Aint *pi = new int;delete pi;pi = 0Bint *pi = new int;delete [] pi;pi =0
Cint *pi = new int(100);delete()pi;pi = 0Dint *pi = new int[100];delete[] pi;pi=02、指出下列程序中的錯誤并且修改
void GetMemory(char *p)
{
p=(char *)malloc(100);
}
void Test(void)
{
char *str=NULL;
GetMemory=(str);
strcpy(str,“hello world”);
printf(str);
}
第二篇:2008baidu武大筆試軟件工程師題目
第一題是給兩個串a和b,判斷a中的字符是否在b中出現,a和b中都有可能出現漢字,漢字按gbk編碼,占兩個字節,第一個字節的最高位為
1第二題是有s={a,b,c,d...z,aa,ab...az,...zz,aaa,aab...} 給定一個串seq=[a...z]+,判斷seq是s的第幾個字符串
第三題是有一個搜索引擎,用戶可以對搜索結果進行評分,設計一個評分判定系統,防止惡意評分
一、編程題(30分)
判斷字符串b的所有字符是否都在字符串a中出現過,a, b都是可能包括漢字的字符串,b中重復出現的漢字,那么a中也要至少重復相同的次數。
漢字使用gbk編碼(簡單的說,用兩個字節表示一個漢字,高字節最高位為1的代表漢字,低字節最高位可以不為1)。
int is_include(char *a, char *b);
返回0表示沒有都出現過,返回1表示都出現過。請給出所給算法的復雜度分析,尤其是字符串長度不同的情況下的復雜度分析。
二、算法題(35分)
序列Seq=[a,b,…z,aa,ab…az,ba,bb,…bz,…,za,zb,…zz,aaa,…] 類似與excel的排列,任意給出一個字符串s=[a-z]+(由a-z字符組成的任意長度字符串),請問s是序列Seq的第幾個。
三、系統設計題(35分)
需求:需要引入用戶對搜索結果相關性的評分100分制,希望用戶的打分能幫助搜索引擎排序,但又要避免惡意投票,作弊等,請設計一個比較公平的評分系統。
第一題 26進制轉10進制 第二題字符建一個26大小的表,漢字建一個256*256大小的表 兩個都是使用字符值作為下表偏移 第三題開放題 隨便搞
第三篇:軟件工程師筆試
一。填空
1在UNIX中用(cp)把A目錄下的F文件考貝到B目錄下
2在UNIX中用(find)找到但前目錄中的MOBILE文件
3在UNIX中-rxw。。其中的x是什么意思 執行
4軟件工程包括幾個部分,每個叫什么
需求分析,系統設計,編程實現,測試,維護
5白盒測試又叫做(結構化測試,基于代碼的測試)
二。選擇
一些對軟件測試看法的選擇
三。編程
1。關于SQL的告訴你一些學生的成績,所學科目,學號等等
要求a。編寫程序將科目編號為×××的成績增加××分
update student
set score = score + x
b。列出所有學生的班號,學號,所學科目等
selcet classno studyno course
from student
c。列出成績高于80分的學生班號,學號等
select studyno classno
from student
where score > 80
2。關于C++中的引用
引用增加40,要求寫出輸出結果
引用所指向的變量增加60,要求寫輸出結果
四問答
1。如果你是測試人員你對客戶需求的理解與開發人員不同,發生爭執,主管來調解,要求你寫一份書面報告給主管看
2。用英語寫出來你適合這個職位的character
responsibility smart action focus fast study smart
3。有三條邊,在不同的情況下分別組成等邊三角形,等腰三角形,普通三角形,不組成三角形要求寫出測試用例
4。寫出你對軟件測試的看法和理解,你是怎么以軟件測試作為自己將來職業規劃的1.首先是五道判斷題,具體忘記了,我只對了三道。
記得的考點有1)JAVA變量名字的合法性,好像是$number是不是合法的2)在linux下查看隱藏文件的命令,ls –a
2.然后是十幾道單選題,考點有數據庫的范式,白盒測試,瀑布模型有什么缺點,面向對象的基本知識,軟件工程的基本知識,LINUX的基本命令(都是很基本的知識)
3.動物都有咬的動作,其中貓和狗咬人的動作又有各自的特點,用面向對象的多態性來描述cat 和 dog 的 bit(JAVA 或 C++)
4.給出一段代碼,請指出錯誤。具體代碼忘記了,是考數組、數組指針的不同,還有傳參的方法(做錯了)
5.寫出以下代碼的輸出
#define AREA(a,b)a+b
#include
void main()
{
cout<
}
6.寫出以下代碼的輸出(代碼忘記了,但是在C++的課本上有類似的題,考指針、引用的,如下)
#include
void main()
{
int a = 100;
int *b;
b= &a;
cout<<*b< a += 20; cout< cout<<*b< *b += 20; cout< cout<<*b< } 7.一道簡單的計算題,移動的話費周一到周五9:00-23:00 1元/分鐘,周一到周五 23:00 – 9:00 0.5元一分鐘,周六周日全天0.8元/分鐘,節日全天0.7元/分鐘,小明9月30日晚上23:59:05 至第二天的 00:01:15,請問話費是多少?(不足一分鐘按一分鐘算,如有重合,按最低的優惠算) 8.智力題。一根材質不均的繩子,從頭燒到尾要一個小時,給你若干跟一模一樣的繩子,用燒繩子的方法計時一個小時十五分鐘。找出使用繩子最少的方法。 9.寫一篇英文文章,200+,描述大學生活中印象最深刻的一件事 10.職業生涯規劃的目標是什么?如何實現?在今后3-5年的目標是什么? 第一題:翻譯,不說了(注意詞匯:電阻 resistors,阻抗:resistance 反饋feedback,電容capacitance,等吧) 第二題:填空,主要是模電的,功放管根據什么分類的?按功放中功放管的導電方式不同,可以分為甲類功放(又稱A類)、乙類功放(又稱B類)、甲乙類功放(又稱AB類)和丁類功放(又稱D類)。 1、甲類功放是指在信號的整個周期內(正弦波的正負兩個半周),放大器的任何功率輸出元件都不會出現電流截止(即停止輸出)的一類放大器。甲類放大器工作時會產生高熱,效率很低,但固有的優點是不存在交越失真。單端放大器都是甲類工作方式,推挽放大器可以是甲類,也可以是乙類或甲乙類。效率低,約為50%,功率損耗大。 2、乙類功放是指正弦信號的正負兩個半周分別由推挽輸出級的兩“臂”輪流放大輸出的一類放大器,每一“臂”的導電時間為信號的半個周期。乙類放大器的優點是效率高,缺點是會產生交越失真。B類功放的效率平均約為75%; 3、甲乙類功放界于甲類和乙類之間,推挽放大的每一個“臂”導通時間大于信號的半個周期而小于一個周期。甲乙類放大有效解決了乙類放大器的交越失真問題,效率又比甲類放大器高,因此獲得了極為廣泛的應用。 4、丁類功放也稱數字式放大器,利用極高頻率的轉換開關電路來放大音頻信號,具有效率高,體積小的優點。許多功率高達1000W的丁類放大器,體積只不過像VHS錄像帶那么大。這類放大器不適宜于用作寬頻帶的放大器,但在有源超低音音箱中有較多的應用。 問題三:電容C的阻抗表達式?電容阻抗計算公式是什么?q=UC;I=dq/dt=jwUC ;Zc=U/I=1/jwC ;|Zc|=1/wC ;C=εS/4πkd 式中k為靜電力常量,介電常數ε由兩極板之間介質決定。 問題四:容抗=-j/wc,j表示虛數部分,電容有無功分量,所以要用虛數表示。電容的容抗表達式:XC=1/(2*pi*f*C),電感的感抗表達式:XL=2*pi*f*L.f為交流頻率,L,C分別為電感和電容。電感對交流的阻礙能力叫“感抗”。電容對交流的阻礙能力叫“容抗”。 問題三:PCB布線的規則?1 電源、地線的處理:眾所周知的是在電源、地線之間加上去耦電容。盡量加寬電源、地線寬度,最好是地線比電源線寬,它們的關系是:地線>電源線>信號線 2、數字電路與模擬電路的共地處理:現在有許多PCB不再是單一功能電路(數字或模擬電路),而是由數字電路和模擬電路混合構成的。電路和模擬電路混合 構成的。因此在布線時就需要考慮它們之間互相干擾問題,特別是地線上的噪音干擾。數字電路的頻率高,模擬電路的敏感度強,對信號線來說,高頻的信號線盡可能遠離敏感的模擬電路器件,對地線來說,整人PCB對外界只有一個結點,所以必須在PCB內部進行處理數、模共地的問題。3手工布局自動布局a.布局的首要原則是保證布線的布通率,移動器件時注意飛線的連接,把有連線關系的器件放在一起b.數字器件和模擬器件要分開,盡量遠離 c.去耦電容盡量靠近器件的VCCd.放置器件時要考慮以后的焊接,不要太密集e.多使用軟件提供的Array和Union功能 第三題:選擇,無線運行商有那幾家?中國電信 中國聯通 中國移動通訊 第六問:DMA的英文拼寫是“Direct Memory Access”,漢語的意思就是直接內存訪問,是一種不經過CPU而直接從內存存取數據的數據交換模式。在DMA模式下,CPU只須向DMA控制器下達指令,讓DMA控制器來處理數據的傳送,數據傳送完畢再把信息反饋給CPU,這樣就很大程度上減輕了CPU資源占有率,可以大大節省系統資源。DMA模式又可以分為Single-Word DMA(單字節DMA)和Multi-Word DMA(多字節DMA)兩種,其中所能達到的最大傳輸速率也只有16.6MB/s.第八問:分析二極管的作用?二極管最主要的特性是單向導電性; 1、正向特性 2、反向特性 3、擊穿特性 4、頻率特性 第七問:什么是線與(老題了)?硬件上實現有什么要求;?線與邏輯是兩個輸出信號相連可以實現與的功能。在硬件上,要用oc門來實現(漏極或者集電極開路),由于不用oc門可能使灌電流過大,而燒壞邏輯門,同時在輸出端口應加一個上拉電阻。(線或則是下拉電阻)將幾個OC門結構與非門輸出并聯,當每個OC門輸出為高電平時,總輸出才為高,這種連接方式稱為線與。第九問: 怎么用萬用表量電流值? 1.選擇量程:萬用表直流電流檔標有“mA”有1mA、1omA、100mA三檔量程。選擇量程,應根據電路中的電流大小。如不知電流大小,應選用最大量程。2.測量方法:萬用表應與被測電路串聯。應將電路相應部分斷開后,將萬用表表筆接在斷點的兩端。紅表筆應接在和電源正極相連的斷點,黑表筆接在和電源負極相連的斷點.第十一問:第五題:翻蓋手機的設計,器件(LCD:分辨率、響應時間、亮度)選擇等(自由發揮的);還有就是檢測到翻蓋中斷,怎么處理中斷?滑蓋手機的設計:(外觀、尺寸、材質)面板的設計:材質LCD()、按鍵、電池蓋、MIC(Receiver、Speaker)、耳機插孔、moter(震動)、藍牙等等;(終于到我了,我交出簡歷,然后坐下說:“你好,我叫****,應聘的職位是網絡工程師。”(后來這成了每一輪面試我都要說的一句話),他看了看,說:“你叫****,你的名字很有意思,哈。”我尷尬,他遞給我一份明天面試的通知單。) 測試工程師面試筆試問題 你發現了一個軟件缺陷,但開發人員認為不是,就是不改程序,你如何處理? --測試人員和開發人員所依據的需求和設計規格說明書的版本是否一致;把問題升級到各自的leader 你做的功能測試是怎么發現并提交bug的? --運行測試用例,測試實際結果與期望結果不同的就是BUG,記錄到缺陷跟蹤系統,指定對應程序模塊的負責程序員 輸入a,b,c,如果這三個數滿足三角形的條件,則計算三角形的周長,否則輸出提示錯誤。然后判斷三角形是等腰三角形還是等邊三角形,若是等腰三角形則打印輸出等腰三角形,若是等邊三角形則打印輸出等邊三角形,否則退出。請給出程序流程及控制流程,測試路徑。試舉一個測試用例。 --略 1.why do you want to be a tester? 性格適合做、專業契合、喜歡這個行業、喜歡這家公司 2.測試的分類和過程。 單元測試、集成測試、系統測試、驗收測試 白盒測試、黑盒測試 動態測試、靜態測試 安全測試、網站測試、負載測試、性能測試 3.如果你是一個測試組長,你將怎么做計劃,去測試一個ICEBOX。列出KEY --參考 電梯的測試的案例 談談你找到的印象最深的一個bug。 --面試者試圖通過這個問題看看你對測試的流程、測試問題的發現和處理等的了解的程度 比如運行測試用例沒異常,即沒發現BUG,但是對應去數據表中直接查詢數據時,發現與實際結果不一樣,說明有時不能單單憑借你看到的結果來判斷是否是一個BUG 作為測試組長,當測試人員和開發人員發生意見不一致時,項目經理不在,你是如何處理的和解決的?--基于對規格書的共同理解、共同的版本和共同的流程來解決這個問題 談談smoke test。 --發布之前,對主要的功能進行大致的功能性驗證,不是全面的、也不是細節的bug在你們公司如何流轉的? --new, open, resolved, closed 測試可能很枯燥,你怎么看的? --同上為何做測試工程師的問題 軟件測試主要有哪幾個階段,每個階段都應用什么測試方法? --單元測試:白盒測試;集成測試:白盒黑盒;系統測試:黑盒測試;驗收測試:黑盒測試 白箱測試和黑箱測試是什么?什么是回歸測試? --白盒測試是對代碼的邏輯結構的測試;黑盒是對整個程序的功能的測試;回歸是在某個問題修改后,再次對程序所有的功能進行測試一遍 2.單元測試、集成測試、系統測試的側重點是什么? --單元測試重點是代碼的邏輯;集成測試的重點是組件及系統之間的接口;系統測試的重點是整個系統的功能及非功能性需求的驗證 3.設計用例的方法、依據有那些? --單元測試用例:白盒測試方法,如路徑法等;黑盒測試用例:場景法、等價類和邊界值法 4.一個測試工程師應具備那些素質和技能? --職業素養(性格、紀律、忠誠度、細心、自我管理);專業技能(開發、測試、網絡、系統、OA);英語;行業知識(具體的業務領域知識、軟件工程行業知識) 5.集成測試通常都有那些策略? --集成的順序,按照業務流程的先后依次進行集成6.你用過的測試工具的主要功能、性能及其他? --測試工具:TD,LOADRUNNER等;測試管理功能:TD,JIRA等 7.一個缺陷測試報告的組成--缺陷描述、狀態、負責人、重現步驟、嚴重性等級和所屬模塊等 2:你認為理想的測試流程是什么樣子? --測試策劃、測試設計、測試執行和測試報告 01.為什么要在一個團隊中開展軟件測試工作? --這是質量控制的需要,防止缺陷流入到客戶環節,提高產品質量和客戶滿意度 02.您是否了解以往所工作的企業的軟件開發過程?如果了解,請試述一個完整的開發過程需要完成哪些工作?分別由哪些不同的角色來完成這些工作? --舉V模型的例子,講講測試和開發如何協調整個軟件的開發流程 05.您認為做好測試計劃工作的關鍵是什么? --測試環境的搭建、測試的策略、測試進度計劃、測試的方法、測試工具的到位 06.您認為做好測試用例設計工作的關鍵是什么?請以您以往的實際工作為例,詳細的描述一次測試用例設計的完整的過程。 --真正理解需求和設計;確定測試范圍—整理需求(用例)--場景法設計測試用例—對每個測試步驟用等價類和邊界值法進行補充設計—補非功能性需求的測試用例 07.您以往的工作中是否曾開展過測試用例的評審工作?如果有,請描述測試用例評審的過程和評審的內容。 --評審的流程同技術評審流程。需求追蹤性、功能覆蓋率、完整性、相關性、可測性、優先級和符合性 11.您以往工作過的企業中,是否開展了軟件配置管理工作?您能否描述一下這項工作的開展情況和您對這項工作的認識? --配置管理工具:VSS,SVN --發布流程、變更流程、版本管理、基線管理等 三、如果測試程序向打印機輸送打印內容,應該選用那些破壞性測試用例。 答:用此程序打印大量的文件 長時間不停止的使用此軟件進行打印操作 長時間不停止的打印大數量及大文件的操作; 在打印過程中斷電、重啟等破壞性操作 四、下圖是windows保存對話框,如果為文件名建立測試用例,等價類應該怎樣劃分? 1長文件名 2短文件名 3特殊字符 /?。?;、=-等 4中文/英文等 五、假設由一個文本框要求輸入10各字符的郵政編碼,對于該文本框應該怎樣劃分等價類? 1 特殊字符是否可以輸入英文字母是否可以輸入漢字是否````````````````是否可以不輸入字符就可以確定輸入超過10個字符字符可以混合中英數字 5.有人說“測試程序就是測試它是否按預期方式運行”你怎么看待這句話--應該是是否滿足需求和設計規格的要求 測試專業術語中英文互譯 1.Catastrophic災難的2.偏差Variance 3.黑盒測試black-box testing 4.代碼評審code review 5.PPQA過程與產品質量保證 6.集成測試integration testing 7.驗收測試acceptance testing 8.回歸測試regression testing 9.負載測試 load testing 10.壓力測試 stress testing 11.性能測試performance testing 12.Software Test Process軟件測試過程 13.Software Quality Management軟件質量管理 14.Test Environment測試環境 15.走查(Walkthrough)第四篇:硬件工程師筆試題目
第五篇:測試工程師招聘筆試題目匯總