您的位置:首页 > 职场人生

IT公司笔试面试题系列(四)

2014-03-24 22:38 176 查看
原文地址:IT公司笔试面试题系列(四)作者:邹博伟
1.请你分别画出OSI的七层网络结构图和TCP/IP的五层结构图。
7
应用层
5应用层

6
表示层
4传输层

5
会话层
3 网络层

4
传输层
2 数据链路层

3
网络层
1物理层

2
数据链路层

1 物理层

2.请你详细地解释一下IP协议的定义,在哪个层上面?主要有什么作用?TCP与UDP呢?
IP协议(Internet
Protocol)又称互联网协议,是支持网间互连的数据报协议,它与TCP协议(传输控制协议)一起构成了TCP/IP协议族的核心。

3.请问交换机和路由器各自的实现原理是什么?分别在哪个层次上面实现的?
交换机(二层交换)的工作原理和网桥一样,它的各个端口都具有桥接功能,每个端口可以连接一个LAN或一台高性能网站或服务器,交换机按每一个包中的MAC地址相对简单地决策信息转发。//路由器转发IP分组时,只根据IP分组目的IP地址的网络号部分,选择合适的端口,把IP分组送出去。同主机一样,路由器也要判定端口所接的是否是目的子网,如果是,就直接把分组通过端口送到网络上,否则,也要选择下一个路由器来传送分组。

交换机一般用于LAN-WAN的连接,交换机归于网桥,是数据链路层的设备,有些交换机也可实现第三层的交换。路由器用于WAN-WAN之间的连接,可以解决异性网络之间转发分组,作用于网络层。

4.8086是多少位的系统?在数据总线上是怎么实现的?
  *8086是16微处理器,内部及对外有16位数据通路,8080/8085只有8位。
8086寻址空间1MB,8080/8085为64KB。8086有一个初级流水线结构,内部操作与对外操作具有并行性,8085无。
8086是个里程碑。

8086的机器字长是16位,8086使用40个引脚的16个做地址/数据复用引腿来传输数据,一次读写过程由一个基本总线周期完成,它由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。在T1期间8086发出访问目的地的地址信号和地址锁存选通信号ALE;T2期间发出读写命令信号RD、WR及其它相关信号;T3期间完成数据的访问;T4结束该总线周期。可见,地址与数据信号不会同时出现在一个时钟(CLK)周期,二者可以分时复用同一组引线。

5.局部变量能否和全局变量重名?
答:能,局部会屏蔽全局。要用全局变量,需要使用"::"
局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

6.如何引用一个已经定义过的全局变量?
答:extern

可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。

7.全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?
答:可以,在不同的C文件中以static形式来声明同名全局变量。可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。

8.用两个栈实现一个队列的功能?要求给出算法和思路!
设2个栈为A,B,
一开始均为空.

入队:

将新元素push入栈A;

出队:

(1)判断栈B是否为空;

(2)如果不为空,则将栈A中所有元素依次pop出并push到栈B;

(3)将栈B的栈顶元素pop出。

9.voip都用了那些协议?
VOIP ,即指在 IP 网络上使用 IP
协议以数据包的方式传输语音。存在一些 VOIP 协议栈,如 H.323、SIP、MEGACO 和 MGCP。

10.TCP/IP通信建立的过程怎样,端口有什么作用?
三次握手

A->B SYN:我的初始序号是X,ACK是0,设置SYN位,未设置ACK位。

B->A ACK:你的序号是X+1,我的初始序号是Y,设置SYN位和ACK位。

A->B ACK:你的序号是Y+1,我的序号是X+1,设置ACK位,未设置SYN位;

端口确定是哪个应用程序使用该协议。

11.1号信令和7号信令有什么区别,我国某前广泛使用的是那一种?
1号信令利用TS16传送时,每个TS16负责传送两个话路的线路信令,TS16和话路有着固定的一一对应关系。而7号信令利用TS16来传送时,只是将组成信令单元的若干个8位位组,依次插入TS16,TS16并不知道传送的内容,即信令和话路没有固定关系,只不过利用TS16作为传送信令的载体,时传送信令消息的数据链路,因此,选用哪个时隙做数据链路均可。
--- 这也是随路信令和公共信道信令的一个本质区别。我国目前广泛使用的是7号信令。

12.编写一个 C
函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的。
char
* search(char *cpSource, char ch)

{

char
*cpTemp=NULL, *cpDest=NULL;

int iTemp,
iCount=0;

while(*cpSource)

{

if(*cpSource == ch)

{

iTemp = 0;

cpTemp = cpSource;

while(*cpSource == ch)

++iTemp, ++cpSource;

if(iTemp > iCount)

iCount = iTemp, cpDest = cpTemp;

if(!*cpSource)

break;

}

++cpSource;

}

return
cpDest;

}

13.什么是中断?中断发生时CPU做什么工作?
所谓中断是指系统发生某一事件后,CPU暂停正在执行的程序转去执行处理该事件的程序过程,处理中断事件的程序称为中断处理程序,产生中断信号的那个部件称为中断源。硬件的中断机构与处理这些中断的程序统称为中断系统。

当中断发生时,硬件机构自动地进入响应中断过程,由操作系统的中断处理程序对中断事件进行处理,具体过程如下:

①•保存现场

系统开辟现场区,并将现场区组织成"栈"结构,当中断响应时,(1)硬件结构自动将PS和PC寄存器的内容压人栈中作为现场信息保存起来。(2)根据发生的中断,硬件从指定的中断向量单元中取出PS和PC内容,分别装人PS和PC寄存器,同时正确填人路寄存器的"当前状态"和"先前状态"字段。

②•分析原因,转中断处理程序

不同原因产生的中断事件要进行不同的处理,根据中断的路寄存器内容得出发生该种中断的具体原因。转人相对应的申断处理程序运行。

③•恢复现场

在多级中断系统中,考虑退回当前中断时,必须依据原先被中断的程序,完成不同的工作,中断处理结柬后,软件必须退出中断。如果此次是高级中断,并且被中断的程序是一个低级中断处理程序,则此次中断应返回到该低级中断处理程序。如果原来被中断的是用户程序,则退出中断前应先考虑进行一次调度选择,以挑选出更适合在当前情况下运行的新程序。

14.CPU在上电后,进入操作系统的main()之前必须做什么工作?
整个系统对开发环境以及各种变量的初始化,包括了变量空间的分配,cpu内部寄存器的初始化,总线的初始化等等,总之,只有等系统初始化完成以后,我们的c语言的main才能被识别和执行下来。

15.makefile文件的作用是什么?
Makefile
的作用是根据配置的情况,构造出需要编译的源文件列表,然后分别编译,并把目标代码链接到一起,最终形成 Linux
内核二进制文件。

16.UNIX显示文件夹中,文件名的命令是什么?能使文件内容显示在屏幕的命令是什么?
ls。cat,more

17。手机用户在从一个基站漫游到另一个基站的过程中,都会发生什么?
原基站与手机用户之间的链路将由新基站与手机用户之间的链路取代的过程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: