Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?
Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?
Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?
Q4:请问C++的类和C里面的struct有什么区别?
Q1 OSI的七层网络结构图——物理层/数据链路层/网络层/传输层/会话层/表示层/应用层
TCP/IP的五层网络结构图——应用层/传输层/网络层/链路层/物理层
Q2 IP协议的定义——因特网协议或网际协议(Internet Protocol)。对应于网络层,
它自身采用4层结构模型:应用层/传输层/网际层/网络接口层
作用在于规定了互连网上传输数据的确切格式及完成路由选择的功能,选择一个数据发送的路径。
TCP协议的主要是提供可靠的传输服务,而UDP(用户数据报协议)是定义用来在互连网络环境中
提供包交换的计算机通信的协议。此协议默认认为网路协议(IP)是其下层协议。此协议提供了
向另一用户程序发送信息的最简便的协议机制。
Q3 交换发生在网络的数据链路层,而路由则发生于网络层。数据链路层的转发即称为交换,而路径选
择即指路由,通常,路由器的性能比交换机要差一些,因为路由器是基于软件的查表转发,而交换
机可以实现硬件的直通式转发。
Q4 区别在于C里面的struct没有定义方法,而C++的类是将不同类型的数据和与这些数据相关的操作封
装在一起的集合体,包含了操作方法。
智力题
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岁。
笔试题目
1.设计一个重采样系统,说明如何anti-alias。
2.y1(n)=x(2n),y2(n)=x(n/2),问:
如果y1为周期函数,那么x是否为周期函数?
如果x为周期函数,那么y1是否为周期函数?
如果y2为周期函数,那么x是否为周期函数?
如果x为周期函数,那么y2是否为周期函数?
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)
相关文章导读: