6.2 笔试真题 & 详解

硬件巨头Intel笔试面试题目

1.每天中午从法国塞纳河畔的勒阿佛有一艘轮船驶往美国纽约,在同一时刻纽约也有一艘轮船驶往勒阿佛。 已知横渡一次的时间是 7 天 7 夜,轮船匀速航行,在同一航线,轮船近距离可见。

请问今天中午从勒阿佛开出的船会遇到几艘从纽约来的船?

2.巴拿赫病故于 1945 年 8 月 31 日。他的出生年份恰好是他在世时某年年龄的平方,问:他是哪年出生 的?

答案:

设他在世时某年年龄为 x,则 x 的平方<1945,且 x 为自然数。其出生年份 x 的平方-x=x(x-1),他在世 年龄 1945-x(x-1)。1945 的平方根=44.1,则 x 应为 44 或略小于此的数。而 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.某个程序在一个嵌入式系统(200M 的 CPU,50M 的 SDRAM)中已经最优化了,换到另一个系统(300M

的 CPU,50M 的 SDRAM)中运行,还需要优化吗? 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.哪种结构平均来讲获取一个值最快?

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)可不可以不使用信号之类的机制来实现上述的功能

3.优化下面的程序

(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 道,可是涉及到很多领域,时间也比较紧张,一 共 45 分钟。很多题目还是很复杂的,现在也记不清了,能回忆多少算多少吧!

题目是英文的,为了方便,我就用中文写了,好像回答也要用英文。 选择题的选项记不清,有的就不写选择项了,自己当作填空吧交大一共去了 9 个人,那位兄弟补充一下?

Section I

1.在 P4 的机器上,下段代码的输出结果是什么:

#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.巨复杂的一道题,已经记不清了,在我了解的范围内还没有人做出来。

3.在 Linux 操作系统中,假设一个进程 A 对 file1 进行操作,然后一个进程 B 将 file1 改名为 file2,在改名 的同时,A 进程对 file1 进行写操作,请问进程 A,B 的执行情况。

4.判断下面的系统哪个/些是软实时的? 四个选择项:IPVoice、MP3Player、?、?

5.记不清了,好像有一个什么瓶颈什么的

6.一个关于多 CPU 的系统问题,给了一大堆条件,最后问单个 CPU 的功耗,条件太复杂记不清了,不好 意思!

Section II

7.根据条件,写出 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));

}

输出结果是:0:4 问完整的宏定义是什么?

8.用伪代码实现如何监测 Struct 中是否含有循环?(题目记不清了,大意如此)

9.在 IP Voice 中,使用 UDP 协议还是是用 TCP 协议?为什么?

Section III

10.智力测验:一共 9 个硬币,分三行排列,第一行 2 个,第二行 3 个,第三行 4 个。有两个 Player 进行 比赛,每次可以从一行中取 1~n 个硬币(2<=n<=4),直到取完为止,规则是谁最后一次取谁输,如果你是第 一个 Player,问:如何取第一次才能保证你必胜。
并请说明原因。

《英特尔求职宝典》

《英特尔求职宝典Word下载》

《英特尔求职宝典PDF下载》