下面是一个http请求:
GET /baidu/blog/item/6605d1b4eb6433738ad4b26d.html HTTP/1.1
Host: hi.baidu.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://hi.baidu.com/baidu
Cookie: BAIDUID=AFB70E986AC48B336ABAB7505CDD1C76;
下面关于 Host、User-Agent、Accept-Charset、Connection、Referer、Cookie描述错误的是()A. Host: HTTP服务器的IP地址或者域名
B. User-Agent: 告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本.
C. Accept-Charset:浏览器申明自己接收的字符集,这就是本文前面介绍的各种字符集和字符编码,如gb2312,utf-8
D. Cookie: 它记录了服务器的相关的一些信息
E. Referer: 提供了Request的上下文信息的服务器,告诉服务器我是从哪个链接过来的
答案:D
常见的http错误描述原因错误的是()
A. 404-Not found(没有找到)
B. 302-临时重定向
C. 500-内部服务器错误
D. 403- IP address rejected
答案:D
Linux 中,要使用 tcpdump 监听网卡 eth0,对方主机 IP 为 10.1.1.180,TCP 端口为 80,则正确的命令为()
A. tcpdump -h eth0 -nn 'tcp and host 10.1.1.180:80'
B. tcpdump -i eth0 -nn 'tcp and host 10.1.1.180:80'
C. tcpdump -h eth0 -nn 'tcp and port 80 and host 10.1.1.180'
D. tcpdump -i eth0 -nn 'tcp and port 80 and host 10.1.1.180'
答案:D
网络地址172.16.22.38/28 请写出此地址的子网ID以及广播地址,此地址所处子网可用主机数()
A. 172.16.22.32 172.16.22.255 12
B. 172.16.22.32 172.16.22.47 16
C. 172.16.22.32 172.16.22.255 15
D. 172.16.22.32 172.16.22.47 14
答案:D
tcp三次握手的过程,accept发生在三次握手哪个阶段()
A. 第一次握手
B. 第二次握手
C. 第三次握手
D. 三次握手后
答案:D
Linux中,一个端口能够接受tcp链接数量的理论上限是()
A. 1024
B. 65535
C. 65535 * 65535
D. 无上限
答案:D
TCP报文首部信息中与关闭连接有关的是()
A. URG
B. ACK
C. SYN
D. FIN
答案:D
10.1.0.1/17的广播地址是( )
A. 10.1.128.255
B. 10.1.63.255
C. 10.1.127.255
D. 10.1.126.255
答案:C
随着IP网络的发展,为了节省可分配的注册IP地址,有一些地址被拿出来用于私有IP地址,以下不属于私有IP地址范围的是()
A. 10.6.207.84
B. 172.23.30.28
C. 172.32.50.80
D. 192.168.1.100
答案:C
int listen(SOCKET s, int backlog);该函数中第二个参数的含义是?
A. 是否打开log信息
B. 是否打开后台log信息
C. 后台等待连接队列的最大限制值
D. 后台等待连接队列的最小限制值
E. 无意义
答案:C
左右最值最大差
题目描述:给定一个长度为N(N>1)的整型数组A,可以将A划分成左右两个部分,左部分A[0..K],右部分A[K+1..N-1],K可以取值的范围是[0,N-2]。求这么多划分方案 中,左部分中的最大值减去右部分最大值的绝对值,最大是多少?
给定整数数组A和数组的大小n,请返回题目所求的答案。
public class MaxGap { //左右最值最大差 public int findMaxGap(int[] A,int n){ int mx=A[0]; for (int i = 1; i < n; ++i) { mx=Math.max(mx,A[i]); } return mx-Math.min(A[0],A[n-1]); } }
顺时针打印矩阵
题目描述:对于一个矩阵,请设计一个算法从左上角(mat[0][0])开始,顺时针打印矩阵元素。
给定int矩阵mat,以及它的维数nxm,请返回一个数组,数组中的元素为矩阵元素的顺时针输出。
public class Printer { //顺时针打印矩阵 public int[] clockwisePrint(int[][] mat, int n, int m) { //左上角坐标 int x1 = 0; int y1 = 0; //左下角坐标 int x2 = n - 1; int y2 = m - 1; int[] arr = new int[n * m]; int idx = 0; while (x1 <= x2 && y1 <= y2) { //第一行:x1,y1~y2 for (int i = y1; i <= y2; ++i) { arr[idx++] = mat[x1][i]; } //最后一列:x1+1~x2,y2 for (int i = x1 + 1; i <= x2; ++i) { arr[idx++] = mat[i][y2]; } //最后一行:x2,y2-1,y1---->x1 < x2 if (x1 < x2) { for (int i = y2 - 1; i >= y1; --i) { arr[idx++] = mat[x2][i]; } } //第一列:x2-1~x1+1,y1---->y1
if (y1 < y2) { for (int i = x2 - 1; i > x1; --i) { arr[idx++] = mat[i][y1]; } } x1++; y1++; x2--; y2--; } return arr; } } Fibonacci数列
题目描述:Fibonacci数列是这样定义的:
F[0]=0
F[1]=1
for each i ≥ 2:F[]=F[ i-1]+F[i-2]
因此,Fibonacci数列就形如:0,1,1,2,3,5,8,13...,在Fibonacc数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。
输入描述:输入为一个正整数N(1≤N≤1,000,000)
输出描述:输出一个最小的步数变为Fibonacci数"
public class Main79 { //Fibonacci数列 public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int n=scanner.nextInt(); int f1=0; int f2=1; while (f2<n){ int f3=f1+f2; f1=f2; f2=f3; } //循环结束f1
int min=Math.min(n-f1,f2-n); System.out.println(min); } }