腾讯2010实习生招聘笔试题

  • 格式:doc
  • 大小:98.00 KB
  • 文档页数:16

1、进程间通讯方式有哪些?

UNIX中有如下的通信方式,我是摘抄的百度词条里面的,仅供参考:

1) 文件和记录锁定。

为避免两个进程间同时要求访问同一共享资源而引起访问和操作的混乱,在进程对

共享资源进行访问前必须对其进行锁定,该进程访问完后再释放。这是UNIX为共享

资源提供的互斥性保障。

2)管道.

管道一般用于两个不同进程之间的通信。当一个进程创建一个管道,并调用fork创

建自己的一个子进程后,父进程关闭读管道端,子进程关闭写管道端,这样 提供了

两个进程之间数据流动的一种方式。

3)FIFO。

FIFO是一种先进先出的队列。它类似于一个管道,只允许数据的单向流动.每个

FIFO都有一个名字,允许不相关的进程访问同一个FIFO。因此也成为命名管.

4)消息队列.

UNIX下不同进程之间可实现共享资源的一种机制;UNIX允许不同进程将格式化的数

据流以消息形式发送给任意

进程。对消息队列具有操作权限的进程都可以使用msget完成对消息队列的操作控制

.通过使用消息类型,进程可以按任何顺序读消息,或为消息安排优先级顺序.

5)信号灯。

作为进程间通讯的一种方法,它不是用于交换大批数据,而用于多进程之间的同步

(协调对共享存储段的存取)。

6)共享内存。

通过信号灯实现存储共享(类似“红灯停、绿灯行”)

2、网络协议的三要素?

协议是用来描述进程之间信息交换数据时的规则术语.在计算机网络中,两个相互

通信的实体处在不同的地理位置,其上的两个进程相互通信,需要通过交换信息来

协调它们的动作和达到同步,而信息的交换必须按照预先共同约定好的过程进行.

例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终

端所用字符集不同,因此操作员所输入的命令彼此不认识。为了能进行通信,规定

每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传 送,到达目的终端之后,再变换为该终端字符集的字符。当然,对于不相容终端,

除了需变换字符集字符外。其他特性,如显示格式、行长、行数、屏幕滚动方式等

也需作相应的变换。这样的协议通常称为虚拟终端协议.又如,通信双方常常需要

约定何时开始通信和如何通信,这也是一种协议。所以协议是通信双方为了实现通

信所进行的约定或对话规则。

计算机网络的协议主要由语义、语法和交换规则三部分组成,即协议三要素:

语义:规定通信双方彼此“讲什么",即确定协议元素的类型,如规定通信双方要发出什么控制信息,执行的动作和返回的应答。

语法:规定通信双方彼此“如何讲”,即确定协议元素的格式,如数据和控制信息的格式。

交换规则:规定了信息交流的次序。

3、http,telnet,ftp的端口是?

使用TCP协议的常见端口主要有以下几种:

(1) FTP:定义了文件传输协议,使用21端口。常说某某计算机开了FTP服务便是

启动了文件传输服务.下载文件,上传主页,都要用到FTP服务。

(2)

Telnet:它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务.如以前的BBS是纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。

(3)

SMTP:定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置中常看到有这么SMTP端口设置这个栏,服务器开放的是25号端口.

(4)

POP3:它是和SMTP对应,POP3用于接收邮件。通常情况下,POP3协议所用的是110端口。也是说,只要你有相应的使用POP3协议的程序(例如Foxmail或Outlook),就可以不以Web方式登陆进邮箱界面,直接用邮件程序就可以收到邮件(如是163邮箱就没有必要先进入网易网站,再进入自己的邮箱来收信)。使用UDP协议端口常见的有:

(1)

HTTP:这是大家用得最多的协议,它就是常说的"超文本传输协议"。上网浏览网页时,就得在提供网页资源的计算机上打开80号端口以提供服务。常说"WWW服务”、"Web服务器”用的就是这个端口。

(2) DNS:用于域名解析服务,这种服务在Windows NT系统中用得最多的.因特网上的每一台计算机都有一个网络地址与之对应,这个地址是常说的IP地址,它以纯数字+"。”的形式表示。然而这却不便记忆,于是出现了域名,访问计算机的时候只需要知道域名,域名和IP地址之间的变换由DNS服务器来完成。DNS用的是53号端口。

(3) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。

(4)

OICQ:OICQ程序既接受服务,又提供服务,这样两个聊天的人才是平等的.OICQ用

的是无连接的协议,也是说它用的是UDP协议。OICQ服务器是使用8000号端口,侦听是否有信息到来,客户端使用4000号端口,向外发送信息。如果上述两个端口正在使用(有很多人同时和几个好友聊天),就顺序往上加。

在计算机的6万多个端口,通常把端口号为1024以内的称之为常用端口,这些常用端口所对应的服务通常情况下是固定的。表1所列的都是服务器默认的端口,不允许改变,一般通信过程都主要用到这些端口。

表1

服务类型默认端口服务类型默认端口

Echo7 Daytime13

FTP21 Telnet23

SMTP25 Time37

Whois43 DNS53

Gopher70 Finger79

WWW80 POP3110

NNTP119 IRC194

另外代理服务器常用以下端口:

(1). HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080

(2)。 SOCKS代理协议服务器常用端口号:1080

(3)。 FTP协议代理服务器常用端口号:21

(4). Telnet协议代理服务器常用端口:23

4、Unix系统包括:硬件,unix内核,应用程序 还有什么?

UNIX系统由内核、shell、文件系统和应用程序等4部分组成。

UNIX是一个通用、交互型分时操作系统,1969年,它由美国电报电话公司贝尔实验室在DEC公司的小型系列机PDP—7上开发成功.自1974年问世以来,迅速地在世界范围内推广。UNIX取得成功的最重要的原因是系统的开放性和公开源代码,用户可以方便地向UNIX系统中逐步添加新功能和工具,这样可以使UNIX越来越完善,能够提供更多的服务,成为有效的程序开发的支撑平台。它是目前唯一可以安装和运行在包括微型机、工作站、大型机和巨型机上的操作系统。

UNIX系统由内核、shell、文件系统和应用程序等4部分组成.UNIX系统组成结构如

1。 UNIX的特点

2. UNIX系统的组成

UNIX系统由内核、shell、文件系统和应用程序等4部分组成.UNIX系统组成结构如图所示。

由上图可以看出用户与计算机之间的层次结构。最底层是计算机本身,包括打印机、磁盘驱动器和其他的外部设备。内核控制着硬件、程序的运行以及文件存储.shell与内核交互,把从用户接受的命令发送给内核。用户只需要与shell通信,而不直接与内核通信,利用shell,用户可以运行不同的应用程序,如编辑器或通信程序.

(1)内核

在UNIX系统中,进行硬件管理和进程控制的部分称为内核,是用C语言开发的.内核是控制计算机硬件的核心程序,它也实现了UNIX的多用户、多任务机制。除了提供内核来完成传统操作系统的功能外,UNIX还为用户提供了一组系统库和标准应用。这一标准的界面不仅可以使应用程序方便地移植,还可以让用户方便地使用。标准界面的优点是可移植性,即一个应用程序可以不加修改地运行在不同硬件结构的各种机器上。

(2)shell

shell提供一个内核与用户之间的界面。可以把它描述成一个解释器,它首先解释用户输入的命令,然后发送给内核。可以把它看成是命令翻译成内核操作格式的语言处理器。

(3)文件结构

在UNIX系统中,把一切资源都看作是文件,包括硬件设备.UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。把一系列文件组织成目录,所以说,整个UNIX文件系统就是一个互相关联的目录集合,每个目录又包含文件。用户可以为自己的文件生成目录,并且可以把文件从一个目录移向另外一个目录。目录是一种组织和控制文件访问的很好的方式,用户可以为目录设置权限以允许其他人访问目录中的文件或只允许自己访问。

每个用户的目录最终都是与其他用户相连的。目录被组织成一种层次型的树型结构,以一个根目录开始,所有的其他目录最终都是从根目录开始。用户可以遍历整个系统并进入任何一个目录,这种文件结构的互相关联使共享数据相当容易,从而使多个用户可以访问相同的文件。

(4)应用程序

在UNIX系统中包含大量的应用程序,其中有些是很简单的操作,有些则是非常复杂的程序并且拥有自己的命令集。这些应用程序可以分为编辑器、过滤器和通信程序三类,同时还有执行文件操作和程序管理的应用程序。

UNIX系统提供几种标准的编辑器,vi是典型的全屏幕编辑器,类似于Windows中的记事本. 过滤器从用户、文件或者其他数据源读取输入,然后检查并处理数据,最后输出结果。过滤器的输入不一定是一个文件,也可以是用户的键盘输入,甚至可以是另外一个过滤器的输出。过滤器可以互相连接,一个过滤器的输出成为另一个的输入.用户也可以编写自己的过滤器.

UNIX还拥有一套通信应用程序,通过这些程序可以与本系统或其他系统上的用户通信。作为一个多用户系统,UNIX必须与所有用户保持联系并对他们进行跟踪.基本的监视需求和基本的文件结构互连可以很容易地实现一个电子邮件系统,通过该系统用户可以从其他用户那里收到或向他们发送消息,甚至可以同时向几个用户广播一个消息,或者与另外一个用户直接连接以建立一个实时会话。用户也可以通过网络与其他UNIX系统上的用户通信,还可以远程登录到其他系统上并直接通过网络传输文件。

5、子网问题?

你一定对IP地址有所了解吧?我们知道在INTERNET中广泛使用的TCP/IP协议就是利用IP地址来区别不同的主机的。如果你曾经进行过TCP/IP协议设置,那么你一定会遇到子网掩码(Subnet mask)这一名词,那么你知道什么是子网掩码吗?它有什么作用呢?我们知道IP地址是一个4字节(共32bit)的数字,被分为4段,每段8位,段与段之间用句点分隔。为了便于表达和识别,IP地址是以十进制形式表示的如210.52.207.2,每段所能表示的十进制数最大不超过255。IP地址由两部分组成,即网络号(Netgwork ID)和主机号(Host ID)。网络号标识的是Internet上的一个子网,而主机号标识的是子网中的某台主机。网际地址分解成两个域后,带来了一个重要的优点:IP数据包从网际上的一个网络到达另一个网络时,选择路径可以基于网络而不是主机。在大型的网际中,这一点优势特别明显,因为路由表中只存储网络信息而不是主机信息,这样可以大大简化路由表.IP地址根据网络号和主机号的数量而分为A、B、C三类: A类IP地址:用7位(bit)来标识网络号,24位标识主机号,最前面一位为”0",即A类地址的第一段取值介于1~126之间.A类地址通常为大型网络而提供,全世界总共只有126个只可能的A类网络,每个A类网络最多可以连接16777214台主机。B类IP地址:用14位来标识网络号,16位标识主机号,前面两位是”10"。B类地址的第一段取值介于128~191之间,第一段和第二段合在一起表示网络号。B类地址适用于中等规模的网络,全世界大约有16000个B类网络,每个B类网络最多可以连接65534台主机。 C类IP地址:用21位来标识网络号,8位标识主机号,前面三位是”110"。C类地址的第一段取值介于192~223之间,第一段、第二段、第三段合在一起表示网络号。最后一段标识网络上的主机号。C类地址适用于校园网等小型网络,每个C类网络最多可以有254台主机。从上面的介绍我们知道,IP地址是以网络号和主机号来标示网络上的主机的,只有在一个网络号下的计算机之间才能”直接”互通,不同网络号的计算机要通过网关(Gateway)才能互通。但这样的划分在某些情况下显得并十分不灵活。为此IP网络还允许划分成更小的网络,称为子网(Subnet),这样就产生了子网掩码.子网掩码的作用就是用来判断任意两个IP地址是否属于同一子网络,这时只有在同一子网的计算机才能”直接”互通。那么怎样确定子网掩码呢?前面讲到IP地址分网络号和主机号,要将一个网络划分为多个子网,因此网络号将要占用原来的主机位,如对于一个C类地址,它用21位来标识网络号,要将其划分为2个子网则需要占用1位原来的主机标识位。此时网络号位变为22位为主机标示变为7位。同理借用2个主机位则可以将一个C类网络划分为4个子网……那计算机是怎样才知道这一网络是否划分了子网呢?这就可以从子网掩码中看出。子网掩码和IP地址一样有32bit,确定子网掩码的