Zen

一道IT面试题的数学解析(ZZ) - [数学&逻辑]

一个射击运动员打靶,靶一共有10环,连开10枪打中90环的可能性有多少种?

  1. 等价变换:90个球放到10个格子中,每个格子最多放10个球,问有多少种放法?

    还是不好解,尤其是第二个条件,“最多放10个”,这个比较难。怎么办呢?最多放10个球,因此每个格子的球数的补也是固定的,因此有多少种放法,其补数也就有多少种。显然,每个格子的球数的补数范围是0到10,10个补数的和正好为10*10-90=10。

  2. 等价变换:10个球放到10个格子中,有多少种放法。

    问题简单了很多,不过还不是最简单的排列组合问题。

  3. 等价变换:10个球和9根棍作排列组合,球是一样的,棍也是一样的,问有多少种排列方法?

    问题的这一步变换,好像在概率论中有很好的解释。现在给出答案:10个球和9根棍作排列组合为19!,10个球是一样的,除以10个球的排列10!,9跟棍子也是一样的,除以9跟棍子的排列9!

最后的答案是:19!/(10!*9!)=92378

TCP的3次握手 - [网络基础]

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:

未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。Backlog参数:表示未连接队列的最大容纳数目。

SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。

半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。

关于空白边叠加 - [Web标准]

当两个垂直空白边相遇时,它们将形成一个空白边。这个空白边的高度等于两个发生叠加的空白边的高度中的较大者。

当一个元素包含在另一个元素中时,情况略有不同。

  • 如果元素没有垂直边框和填充,那么它的高度就是它包含的子元素的顶部和底部边框边缘之间的距离。因此,包含的子元素的顶部和底部空白边就突出到容器元素的外边。
    
    #box{
    margin:10px;
    background-color:#d5d5d5;
    }
    p{
    margin:20px;
    background-color:#6699ff;
    }
    
    

    This paragraph has a 20px margin.

  • 如果元素添加了垂直边框和填充,那么空白边就不再叠加了,而且元素的高度就是它包含的子元素的顶部和底部空白边边缘之间的距离。
    
    #box{
    margin:10px;
    padding:1px;/*或者border:1px solid color;*/
    background-color:#d5d5d5;
    }
    p{
    margin:20px;
    background-color:#6699ff;
    }
    
    

    This paragraph has a 20px margin.

CSS实现IE垂直居中 - [Web标准]


.middle-demo-4{
 height: 300px;
 position: relative;
}
.middle-demo-4 div{
 position: absolute;
 top: 50%;
 left: 0;
}
.middle-demo-4 div div{
 position: relative;
 top: -50%;
 left: 0;
}

CSS布局自适应高度解决方法 - [Web标准]

今天看到一个解决CSS布局自适应高度超酷的方法:

#wrap{
 overflow: hidden;
 }
#sideleft, #sideright{
 padding-bottom: 32767px;
 margin-bottom: -32767px; 
 }
原文地址:http://www.blueidea.com/tech/web/2006/3210.asp

其他