第一篇: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、頭文件中的 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);
}
第三篇:軟件工程師筆試
一。填空
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(震動)、藍牙等等;(終于到我了,我交出簡歷,然后坐下說:“你好,我叫****,應聘的職位是網絡工程師。”(后來這成了每一輪面試我都要說的一句話),他看了看,說:“你叫****,你的名字很有意思,哈。”我尷尬,他遞給我一份明天面試的通知單。) 硬件題目 1.用mos 管搭出一個二輸入與非門。 2.集成電路前段設計流程,寫出相關的工具。 3.解釋名詞IRQ,BIOS,USB,VHDL,SDR。 4.簡述如下Unix 命令cp-r, rm,uname。 5.用波形表示D 觸發器的功能。 6.寫異步D 觸發器的verilog module。 7.What is PC Chipset? 8.用傳輸門和倒向器搭一個邊沿觸發器。 9.畫狀態機,接受1,2,5 分錢的賣報機,每份報紙5 分錢。DSP 題目 1.H(n)=?a*h(n?1)+b*δ(n) (1)求h(n)的z 變換 (2)該系統是否為穩定系統 (3)寫出FIR 數字濾波器的差分方程 2.寫出下面模擬信號所需的最小采樣帶寬 (1)模擬信號的頻率范圍是0~4kHz (2)模擬信號的頻率范圍是2~4kHz 3.名詞解釋 (1)量化誤差 (2)直方圖 (3)白平衡 (4)MMX 4.寫出下面幾種格式中用到的壓縮技術 (1)JPEG (2)MPEG2 (3)MP3 1.下面是一些基本的數字電路知識問題,請簡要回答: (1)什么是Setup 和Holdup 時間? (2)什么是競爭與冒險現象?怎樣判斷?如何消除? (3)請畫出用D 觸發器實現2 倍分頻的邏輯電路。 (4)什么是“線與”邏輯?要實現它,在硬件特性上有什么具體要求? (5)什么是同步邏輯和異步邏輯? (6)請畫出微機接口電路中,典型的輸入設備與微機接口邏輯示意圖(數 據接口、控制接口、所存器/緩沖器)。 (7)你知道哪些常用的邏輯電平?TTL 與COMS 電平可以直接互連嗎? 2.可編程邏輯器件在現代電子設計中越來越重要,請問: (1)你所知道的可編程邏輯器件有哪些? (2)試用VHDL 或Verilog,ABLE 描述8 位D 觸發器邏輯 3.設想你將設計完成一個電子電路方案。請簡述用EDA 軟件(如PROTEL)進行設計(包括原理圖和PCB 圖)到調試出樣機的整個過程。在各個環節應注意 哪些問題? 1.用邏輯門和cmos 電路實現ab+cd 2.用一個二選一mux 和一個inv 實現異或。 3.給了reg 的setup 和hold 時間,求中間組合邏輯的delay 范圍。 4.如何解決亞穩態。 5.用Verilog/VHDL 寫一個fifo 控制器。 6.用Verilog/VDDL 檢測stream 中的特定字符串 1.DSP 和通用處理器在結構上有什么不同?請簡要畫出你熟悉的一種DSP 結 構圖。 2.說說定點DSP 和浮點DSP 的定義(或者說出他們的區別)。 3.說說你對循環尋址和位反序尋址的理解。 4.請寫出【?8,7】的二進制補碼和二進制偏置碼。用Q15 表示出0.5 和?0.5。 1.壓控振蕩器的英文縮寫。 3.選擇電阻時要考慮什么? 4.單片機上電后沒有運轉,首先要檢查什么? 5.計算機的基本組成部分及其各自的作用。 6.怎樣用D 觸發器、與或非門組成二分頻電路? 1.說出RC 振蕩器的構成和工作原理。 2.什么是SDH? 3.什么是共模、差模?畫出差分電路的結構。 4.a=5;b=6;a+=b++;執行結果是什么? 5.什么是TDM?什么是CDMA? 6.什么是采樣定理? 7.什么是香農定理? 8.計算機的中斷有哪幾類? 微電子 1.名詞解釋:VLSI,CMOS,EDA,VHDL,Verilog,HDL,ROM,RAM,DRC,LVS。 2.簡述CMOS 工藝流程。 3.畫出CMOS 與非門的電路,并畫出波形圖簡述其功能。 4.畫出N 溝道增強型MOSFET 的剖面圖。 5.簡述ESD 和latch-up 的含義。 6.簡述三極管與MOS 管的區別。 7.簡述MOORE 模型和MEALY 模型。 8.簡述堆棧與隊列的區別。第四篇:硬件工程師筆試題目
第五篇:硬件工程師找工作筆試題目