每天都学一点点互联网常识(第1天)

来源:互联网 发布:mac apache配置 编辑:程序博客网 时间:2024/05/16 10:58

每一天都需要复习一点点最基础的知识,我个人比较喜欢螺旋式积累,也就是网络、操作系统、代码实战、数据结构等等每天都挑一两个知识点复习,而不是按顺序看完网络再看下一部分操作系统,因为知识和经验是很难保证没有遗漏的。我会每天记录自己想起来或觉得有必要重新复习的小常识小经验,但可能不会很有条理。(其中定义与知识点来源为网络)


第一部分 网络

day1 最常出现在笔试选择和填空中的概念——端口


计算机“端口”,是英文port的义译,是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB接口、串行接口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O缓冲区。

按端口号可分为3大类:

1)公认端口(Well Known Ports):从01023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。 

2)注册端口(Registered Ports):从102449151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。

3)动态和/或私有端口(Dynamic and/or Private Ports):从4915265535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUNRPC端口从32768开始。

端口:8080 

说明:8080端口同80端口,是被用于WWW代理服务的,可以实现网页浏览。

端口:20,21服务:FTP

说明:FTP服务器所开放的端口,用于上传、下载。20用于传输数据,21用于传输控制命令,FTP使用的是TCP协议。

端口:22服务:SSH

说明:SSH 为Secure Shell的缩写,SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

端口:23服务:Telnet

说明:Telnet协议是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

端口:25服务:SMTP

说明:SMTP服务器所开放的端口,用于发送邮件。

端口:53 服务:DNS

说明:域名服务

端口:67、68 服务:DHCP

说明:DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。其中服务器端口号为67,客户端口号为68.

端口:80服务:HTTP

说明:用于网页浏览。

端口:109服务:POP3

说明:POP3服务器开放此端口,用于接收邮件,客户端访问服务器端的邮件服务。


第二部分 数据结构

day1 面试各种排序算法题中必定出现的最后一句——“并给出时间复杂度”

面试过大小公司,基本上涉及各种排序算法,都会问到时间复杂度,可能会在笔试中问到稳定性,因此这里统一总结一下常考的排序算法及其时间复杂度、稳定性。对于排序算法的具体实现代码、原理,我将单独写一篇文章详细说明,这里仅仅作为知识点进行归纳总结。

    

(上图引用自http://blog.chinaunix.net/uid-21457204-id-3060260.html内容,shell排序也叫希尔排序)

可以看到,当n较大时,应该使用时间复杂度为O(nlog2n)的排序算法,即堆排序、快速排序、归并排序。

总结:3个O(nlog2n)的排序算法,即堆排序、快速排序、归并排序;3个O(n^2)排序算法:直接插入、直接选择、冒泡排序;希尔在两者之间。不稳定的排序为:希尔、选择、堆、快速。


第三部分 操作系统

day1 银行计算机类笔试常考——摩尔定律

摩尔定律是由英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)提出来的。其内容为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18-24个月翻一倍以上。这一定律揭示了信息技术进步的速度。


摩尔定律是简单评估半导体技术进展的经验法则,其重要的意义在于长期而言,IC制程技术是以一直线的方式向前推展,使得IC产品能持续降低成本,提升性能,增加功能。

CPU未来发展趋势:预计之后发展会逐渐放缓,晶体管数量密度可能每三年才能翻一番。原因有两个:1)研究和实验室的成本需求十分高昂,而有财力投资创建和维护芯片工厂的企业很少;2)制程逐渐接近半导体的物理极限,难以继续直线缩小下去。


第四部分 编程例题

day1 基础题——考到链表就一定会考这一道删除结点

(1)查找并删除一个结点,写出算法复杂度。

(2)已知该节点为NODE*NEW,查找并删除该结点,写出算法复杂度

思路:首先我们考虑删除一个结点可能出现的三种情况:

1)该链表是空链表,或者NODE*NEW不存在于链表中,因此不需要删除任何结点;

2)NODE*NEW是第一个结点,因此我们需要删除第一个结点,并将head指向下一个结点;

3)NODE*NEW不是第一个节点,因此我们需要先使该结点的上一个结点指针域指向该节点的下一个结点,然后删除该结点。


以下是我的实现代码:


0 0
原创粉丝点击