6.2 筆試真題 & 詳解
1.每天中午從法國塞納河畔的勒阿佛有一艘輪船駛往美國紐約,在同一時刻紐約也有一艘輪船駛往勒阿佛。 已知橫渡一次的時間是 7 天 7 夜,輪船勻速航行,在同一航線,輪船近距離可見。
請問今天中午從勒阿佛開出的船會遇到幾艘從紐約來的船?
2.巴拿赫病故于 1945 年 8 月 31 日。他的出生年份恰好是他在世時某年年齡的平方,問:他是哪年出生 的?
答案:
設(shè)他在世時某年年齡為 x,則 x 的平方<1945,且 x 為自然數(shù)。其出生年份 x 的平方-x=x(x-1),他在世 年齡 1945-x(x-1)。1945 的平方根=44.1,則 x 應(yīng)為 44 或略小于此的數(shù)。而 x=44 時,x(x-1)=44×43=1892, 算得其在世年齡為 1945-1892=53;又 x=43 時,x(x-1)=43×42=1806,得其在世年齡為 1945-1806=139; 若 x 再取小,其在世年齡越大,顯然不妥。故 x=44,即他出生于 1892 年,終年 53 歲。
3.如果模擬信號的帶寬為 5kHz,要用 8k 的采樣率,怎么辦。
4.某個程序在一個嵌入式系統(tǒng)(200M 的 CPU,50M 的 SDRAM)中已經(jīng)最優(yōu)化了,換到另一個系統(tǒng)(300M
的 CPU,50M 的 SDRAM)中運行,還需要優(yōu)化嗎? 5.x^4+a*x^3+x^2+c*x+d 最少需要做幾次乘法。
6.三個 float:a,b,c
問值:
(a+b)+c==(b+a)+c
(a+b)+c==(a+c)+b 7.把一個鏈表反向填空。
8.下面哪種排序法對 12354 最快?
A. quick sort
B. buble sort
C. merge sort
9.哪種結(jié)構(gòu)平均來講獲取一個值最快?
A. binary tree
B. hash table
C. stack 10.
#include "stdafx.h"
#include
struct bit
{ int a:3; int b:2; int c:3;
};
int main(int argc, char* argv[])
{
bit s;
char *c = (char*)&s;
*c = 0x99; cout <<
s.a <<<<<
return 0;
}
Output:? 11.
挑 bug,在 linux 下運行:
#include char
*reverse(char* str)
{
int len=0, i=0;
char *pstr=str, *ptemp,*pd; while(*++pstr)
len++; pstr--;
//ptemp=(char*)malloc(len+1); ptemp=(char*)malloc(len+1); pd=ptemp;
while(len--){
*ptemp=*pstr; ptemp++; pstr--;
i++;
}
*ptemp=*pstr; ptemp++;
*ptemp='\0'; return pd;
}
main()
{
char string[40]= "Hello World!"; char *pstr=string;
printf("%s", pstr); printf("%s", reverse(pstr));
}
實驗室筆試題
1.寫出下列信號的奈虧斯特頻率
(1)f(t)=1+cos(2000pait)+sin(4000pait)
(2)f(t)=sin(4000pait)/pait
(3)f(t)=(sin(4000pait)的平方)/pait 2.有兩個線程
void producer()
{
while(1)
{
GeneratePacket(); PutPacketIntoBuffer(); Signal(customer);
}
}
void customer()
{
while(1)
{
WaitForSignal(); if(PacketInBuffer>10)
{
ReadAllPackets(); ProcessPackets();
}
}
}
(1)有沒有其他方法可以提高程序的性能
(2)可不可以不使用信號之類的機制來實現(xiàn)上述的功能
3.優(yōu)化下面的程序
(0)sum=0
(1)I=1
(2)T1=4*I
(3)T2=address(A)-4
(4)T3=T2[T1]
(5)T4=address(B)-4
(6)T5=4*I
(7)T6=T4[T5]
(8)T7=T3*T5
(9)sum=sum+T6
(10)I=I+1
(11)IF I<20 GOTO (2)
Intel筆試題CS部分Intel 的 CS 筆試,題目不多,一共 10 道,可是涉及到很多領(lǐng)域,時間也比較緊張,一 共 45 分鐘。很多題目還是很復(fù)雜的,現(xiàn)在也記不清了,能回憶多少算多少吧!
題目是英文的,為了方便,我就用中文寫了,好像回答也要用英文。 選擇題的選項記不清,有的就不寫選擇項了,自己當作填空吧交大一共去了 9 個人,那位兄弟補充一下?
Section I
1.在 P4 的機器上,下段代碼的輸出結(jié)果是什么:
#include struct{ int a:3; int b:2; int c:3;
}s;
void main(void)
{
char *p; p=(char*)&s;
*p=0x99; printf("%d\n",*p);
printf("%d,%d,%d",s.a,s.b,s.c);
}
2.巨復(fù)雜的一道題,已經(jīng)記不清了,在我了解的范圍內(nèi)還沒有人做出來。
3.在 Linux 操作系統(tǒng)中,假設(shè)一個進程 A 對 file1 進行操作,然后一個進程 B 將 file1 改名為 file2,在改名 的同時,A 進程對 file1 進行寫操作,請問進程 A,B 的執(zhí)行情況。
4.判斷下面的系統(tǒng)哪個/些是軟實時的? 四個選擇項:IPVoice、MP3Player、?、?
5.記不清了,好像有一個什么瓶頸什么的
6.一個關(guān)于多 CPU 的系統(tǒng)問題,給了一大堆條件,最后問單個 CPU 的功耗,條件太復(fù)雜記不清了,不好 意思!
Section II
7.根據(jù)條件,寫出 C 編程中的一個常用宏定義(常用于求偏移量)
#include
#define offsizeof(Filed,Struction) ??????????? struct{
int a; int b;
}s;
void main(void){
void main(void){
....
printf("%d:%d",offsizeof(a,s),offsizeof(b,s));
}
輸出結(jié)果是:0:4 問完整的宏定義是什么?
8.用偽代碼實現(xiàn)如何監(jiān)測 Struct 中是否含有循環(huán)?(題目記不清了,大意如此)
9.在 IP Voice 中,使用 UDP 協(xié)議還是是用 TCP 協(xié)議?為什么?
Section III
10.智力測驗:一共 9 個硬幣,分三行排列,第一行 2 個,第二行 3 個,第三行 4 個。有兩個 Player 進行 比賽,每次可以從一行中取 1~n 個硬幣(2<=n<=4),直到取完為止,規(guī)則是誰最后一次取誰輸,如果你是第 一個 Player,問:如何取第一次才能保證你必勝。
并請說明原因。