前端就业知识概括

**

前端就业知识概括

**
1、首先要明白前端是什么?
前端开发是创建Web页面或app等前端界面呈现给用户的过程,通过
HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,
来实现互联网产品的用户界面交互 。
2、核心技术?

  • HTML语言

1、掌握HTML是网页的核心,是一种制作万维网页面的标准语言,是万维网浏览器使用的一种语言,它消除了不同计算机之间信息交流的障碍。因此,它是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言,学好HTML是成为Web前端开发人员的基本条件。
2、HTML是一种标记语言,能够实现Web页面并在浏览器中显示。HTML5作为HTML的最新版本,引入了多项新技术,大大增强了对于应用的支持能力,使得Web技术不再局限于呈现网页内容。
3、随着CSS、JavaScript、Flash等技术的发展,Web对于应用的处理能力逐渐增强,用户浏览网页的体验已经有了较大的改善。不过HTML5中的几项新技术实现了质的突破,使得Web技术首次被认为能够接近于本地原生应用技术,开发Web应用真正成为开发者的一个选择。
4、HTML5可以使开发者的工作大大简化,理论上单次开发就可以在不同平台借助浏览器运行,降低开发的成本,这也是产业界普遍认为HTML5技术的主要优点之一。AppMobi、摩托罗拉、Sencha、Appcelerator等公司均已推出了较为成熟的开发工具,支持HTML5应用的发展。

  • CSS

1、层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
2、CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。

  • JavaScript

JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。

  • 操作系统

1、进程与线程的区别

1、进程是资源分配和保护的基本单位,线程是处理器调度和分派的基本单位,程序执行的最小单元。
2、同一个进程中可以包含多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进程至少包含一个线程
3、 进程结束后,它所有的线程都将销毁,而线程的结束不会影响同个进程中其他线程的结束
4、线程是轻量级的进程,它的创建和销毁所需时间和空间都比进程小很多,所有操作系统的执行功能都是创建线程去完成的
5、线程有自己的私有属性TCB,线程id,寄存器、硬件上下文,而进程也有自己的私有属性进程控制块PCB,这些私有属性是不被共享的,用来标示一个进程或一个线程的标志

2、进程的几种状态

1、运行状态:进程正在处理机上运行
2、就绪状态:进程已经获得了除处理机之外的一切所需资源
3、阻塞状态:进程正在等待某一事件而暂停执行
4、创建状态:进程正在被创建,尚未转到就绪状态
5、结束状态:进程正在从系统中消失,分为正常结束和异常退出
在这里插入图片描述

3、什么是虚拟内存

基于局部性原理,我们可以把程序的一部分装到内存,而将其余部分留在外存,就可以启动程序运行。当所访问的信息不存在时,操作系统就将所需部分调入内存。此外,操作系统会将内存中暂不需要的部份换出到外存中,从而腾出空间存放将要调入内存的信息。这样系统好像为用户提供了一个比实际内存大得多的存储器,称为虚拟存储器

4、内核态和用户态

根据执行程序对资源和机器指令的使用权限可以将处理器的状态分为内核态和用户态。
内核是一组程序模块,运行于内核态,具有直接访问硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。

  • 网络服务器

1、 计算机网路体系结构标准

目前,由国际化标准组织ISO制定的网络体系结构国际标准是 OSI七层模型,但实际中应用最广泛的是 TCP/IP体系结构
在这里插入图片描述
应用层:为用户的应用进程提供网络通信服务。

表示层:数据的编码,压缩和解压缩,加密和解密。

会话层:是用户应用程序和网络之间的接口,负责在网络中的两节点之间建立、维持和终止通信。

传输层:负责向两台主机中进程之间的通信提供通用的数据传输服务。通用指多种应用可以使用同一个运输层服务,因此运输层有复用和分用的功能。(把来自会话层的完整报文分割成数据段,构造协议数据单元,交给网络层进行传输)。

网络层:负责为分组交换网上的不同主机提供通信服务。转发,将分组从路由器的输入端口转移到合适的输出端口;路由,通过路由算法确定分组从源到目的经过的路径;连接建立,不是所有网络都需要,某些网络的重要功能,如虚电路。

数据链路层:将IP数据报加头加尾构成帧,通常头部加物理地址等信息,尾部加差错检测等信息。通过差错控制、流量控制等方法,实现数据在不可靠的物理线路上的可靠传递。

物理层:在物理介质上正确、透明地传送比特流(由1、0转化为电流强弱进行传输,到达目的地后再转换为1、0)

2、重点概览

1、Http和Https区别

区别 具体表现
传输信息安全性不同 1、http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。2、https协议:是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。
连接方式不同 1、http协议:http的连接很简单,是无状态的。2、https协议:是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议
端口不同 1、http协议:使用的端口是80。2、https协议:使用的端口是443.
证书申请方式不同 1、http协议:免费申请。2、https协议:需要到ca申请证书,一般免费证书很少,需要交费

2、Get和Post的区别
get传送的数据长度有限制,因为是放在url中传递参数,如果传递中文参数,需要自己进行编码操作,安全性较低。post是放在报文中,没有限制。
适用场景:post一般用于数据提交。get一般用于简单的数据查询,严格要求不是那么高的场景

3、常见状态码及原因短语
1××:表示通知信息,如请求已被接受或正在处理。
2××:请求成功。
3××:重定向,要完成请求必须进行进一步处理。
4××:客户端错误,请求不合法。
5××:服务器端错误,服务器失效无法完成请求。

4、TCP/IP的三次握手与四次挥手

TCP对应的协议:HTTP、SMTP、POP3、FTP、Telnet

第一次握手:客户端发出连接请求报文段,其中将SYN标志位置为1表示要建立连接,选择一个初始序列号seq=x,不携带数据但消耗一个序号。之后TCP客户进程进入SYN-SENT(同步已发送)状态。

第二次握手:服务器收到连接请求报文段后,如同意建立连接,向客户端发送确认。在确认报文段中将SYN位和ACK位都置1,确认号是ack=x+1,选择一个初始序号seq=y,不携带数据但消耗一个序号。TCP服务器进程进入SYN-RCVD(同步收到)状态。

第三次握手:TCP客户进程收到服务器的确认后,检查ack是否是x+1,ACK是否是1。如果正确,向服务器发送确认报文段,其中ACK置1,确认号ack=y+1,序号seq=x+1,可以携带数据,但如果不携带数据则不消耗序号。服务器检查ack是否为y+1,ACK是否为1,如果正确则连接建立成功,客户端和服务器进入ESTABLISHED(已建立连接)状态。
在这里插入图片描述

第一次挥手:客户端的应用进程发出连接释放报文段,停止发送数据。FIN置1,序号seq=u,是前面已经传送过的数据的最后一个字节的序号加1,不携带数据但消耗一个序号。客户端进入FIN-WAIT-1(终止等待1)状态,等待服务器的确认。

第二次挥手: 服务器收到连接释放报文段后发出确认。ACK置1,确认号ack=u+1,序号seq=v,是服务器前面已经传送过的数据的最后一个字节的序号加1。服务器进入CLOSE-WAIT(关闭等待)状态。从客户端到服务器的连接释放了。

客户端收到来自服务器端的确认后,进入FIN-WAIT-2(终止等待)状态,等待服务器发出连接释放报文段。

第三次挥手:若服务器已经没有要向客户端发送的数据,发出连接释放报文段。FIN置1,序号seq=w,确认号ack=u+1。服务器进入LAST-ACK(最后确认)状态,等待客户端的确认。

第四次挥手:客户端收到服务器的连接释放报文段后,发出确认。ACK置1,确认号ack=w+1,序号seq=u+1。进入TIME-WAIT(时间等待)状态,经过2MSL后,进入CLOSED状态。
在这里插入图片描述
5、从输入网址到获得页面的过程

1、域名解析DNS,找到IP地址

在浏览器缓存、hosts文件、路由器缓存中查找url对应的IP地址。
如果没有找到,则发起一个DNS请求到本地域名服务器,在其缓存中进行查找。如果没有,本地DNS服务器向根DNS服务器发起请求,根DNS服务器返回顶级DNS服务器的地址;本地DNS服务器向顶级DNS服务器发起请求,顶级DNS服务器返回权限DNS服务器的地址;本地DNS服务器向权限DNS服务器发起请求,权限DNS服务器查询到域名对应的IP后,将IP地址返回给本地DNS服务器;本地DNS服务器接收后将其保存到缓存中,以备下次查询。本地DNS服务器将IP地址返回给客户主机浏览器。

2、浏览器向Web服务器发送HTTP请求

浏览器以一个随机的端口(1024~65535)向服务器的Web程序端口(HTTP协议使用80/8080端口,HTTPS使用443端口)发起TCP连接请求。三次握手后,建立TCP连接。建立连接后,发送一个HTTP请求,包含请求行、请求头、请求正文。

3、服务器处理请求,返回HTTP响应

后端服务器从固定的端口接收到TCP报文后,对HTTP协议进行解析,然后将相应的数据封装为HTTP Request对象,供上层使用HTTP响应,包括状态行、响应头、响应正文。

4、浏览器显示页面信息

用户请求的HTML文档通过浏览器的网络层到达渲染引擎后,渲染工作开始

  • 前端框架介绍

Vue

Vue链接
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

React

React链接
React 是一个用于构建用户界面的 JAVASCRIPT 库。React主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。

Angular

Angular链接
AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。

Layui

Layui链接
layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到 API 的每一处细节都经过精心雕琢,非常适合界面的快速开发。layui 首个版本发布于2016年金秋,她区别于那些基于 MVVM 底层的 UI 框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,她更多是为服务端程序员量身定做,你无需涉足各种前端工具的复杂配置,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。

小结

第一次博客,希望所有人都能找到适合自己的工作 。大家一起努力,文章还有很多不足的地方希望大家多多指正,就业顺利。

猜你喜欢

转载自blog.csdn.net/weixin_43262659/article/details/114267971
今日推荐