腾讯实习生笔试题目

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

你可能感兴趣的:(虚拟机,unix,腾讯,网络协议,百度)