阿里笔试纠错

来源:互联网 发布:电脑tv电视直播软件 编辑:程序博客网 时间:2024/05/18 01:30

1 什么是cookie

 Cookie是一段文本信息,伴随着请求和响应页面在服务器和浏览器之间进行传递。Web应用程序都可以获得cookie的信息。当用户访问某个站点的时候,服务器返回的不仅仅是页面的信息,还返回相关的cookie信息,然后客户端就会此cicookie缓存在本地。当用户再次访问某个站点的时候,此时浏览器会在本地的URL中查找相关的cookie信息,如果查找到,则会将cookie连同URL一起发送到服务器。用户访问每个站点的时候,每个站点都可能向用户浏览器发送cookie信息,浏览器端会将这些cookie分别保存。

2 为何要使用cookie

  由于http协议是无状态的。每次的进行短暂的信息交换后,总是断开的“陌生人”。Cookie则帮助站点来保存访问者的相关信息。能够保持web应用程序的连续性。一个实施民意测验的站点可以简单地利用Cookie作为布尔值,表示您的浏览器是否已经参与了投票,从而避免您重复投票。

3 treeMap hashMap的区别?

  treeMap底层是基于红黑树来实现的,对插入的数据有固定的排列方式插入。默认是升序。

如果实际中,需要将数据进行排序,则可以使用treeMap来进行数据的存储。

  hashMap底层是根据键的hashCode值来存取数据,是随机存储。如果在实际开发中,仅仅是查询取值,则hashMap取值的速度更快。

4  填写服务的默认端口号?

服务      默认端口        主要功能          工作方式

smtp                          25                                     发送邮件              TCP

dns                            53                                     域名和IP转换           UDP

ftp                              21                                     文件传输              TCP

pop                           110                                   接收邮件           TCP

telnet                         23                                     远程终端              TCP

http                            80                                     web服务              TCP

5 linux“>”“>>”区别

 > 是把内容导入到后面的文件中,会覆盖原先的内容

 >> 是把内容追加到文件内容的后面,不会覆盖原先的内容

6 查询 表 T(a,b,c,d) 中字段C1319行;

Select T.c from T where T.c > 13 and T.c <19;

7 数据库的(第一范式,第二范式,第三范式)?

  I NF: 强调列的原子性,列不能再分成其他的几个列。

  如:联系人表:姓名,性别,电话

  如果在实际中,联系人有家庭电话,公司电话,那么这种表的设计就没有达到要求,此时就需要把联系人表设计为:姓名,性别,家庭电话,公司电话

  2NF:首先满足一范式,其次还包含两部分内容:必须要有一个主键(主键可以是一个字段组成,也可以社多个字段组成,如果是单一字段,只需在该字段后面标记primary key即可,如果是多个字段联合构成,使用primary key(字段1,字段2, ...)的语句进行设置)。其次非主键的字段,必须完全依赖主键,不能只依赖主键的一部分。

  如:课程表中:

      假如 主键为学生+课程  其他字段  老师  教室

  学生+课程可以确定老师

  学生+课程可以确定教室

  但是课程也可以确定老师

这就不符合2NF  可以将老师字段提取出来,再多加一张表,让课程为主键。

3NF:满足2NF.非主键列直接依赖于主键,而不是间接依赖于主键。

比如订单表中: 订单id  商品id  商品价格  商品数量

主键为商品id  其他的都是非主键

此时,它满足二范式,且商品价格和商品数量都是直接依赖于商品id,通过商品id间接依赖于订单id

再次强调一下:一范式是字段的原子性;

                            二范式是主键的完全依赖,非主键字段,不能只依赖主键的一部分;

                            三范式是主键的直接依赖,非主键字段不能间接依赖主键;


8 TCP和UDP的区别?

TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。 
UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去! 
  UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。例如,在默认状态下,一次“ping”操作发送4个数据包(如图2所示)。大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。这充分说明了UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。 
总结:tcp协议和udp协议的差别 
TCP UDP 
是否连接 面向连接 面向非连接 
传输可靠性 可靠 不可靠 
应用场合 传输大量数据 少量数据 
速度 慢 快

原创粉丝点击