前端架构

前端面经(待整理)

ぐ巨炮叔叔 提交于 2019-11-27 13:57:07
http http相关没有特别难的,常见的了解下就没问题。 介绍Http2,优点和存在什么坑或问题(必考) HTTP报文的请求和返回会有几个部分(请求行、请求头、请求体);每部分具体都有什么(常见的请求头) GET和POST的区别 输入url到页面加载全过程(必考) 介绍HTTPS;HTTP和HTTPS的区别(必考) HTTPS加密过程 HTTP缓存控制(强缓存、弱缓存);缓存相关的HTTP请求头(必考) 对跨域的了解,跨域怎么解决(必考) cors的返回头、cors预请求,什么时候会出发预请求(必考) tcp的长连接和http2多路复用相关 tcp拥塞控制和流量控制 三次握手四次挥手,为什么三次和四次 前端性能优化(必考) css css最近问的越来越少了,只要会写常见的布局就ok,难点的答不出来也没事。相比移动端相关的会问题的比较多。 盒模型 positon的值,都是根据什么定位(注意下还有sticky) 栅格布局的原理 垂直居中布局 上中下布局,中间自适应 左中右布局,中间自适应 什么css可以减少重绘 动画相关属性 移动端适配方案(必考) 移动端适配1px的问题 lineheight属性1.5和150%区别 em和rem的区别 js 重中之重,没啥可说的刷题就完事了,而且像节流防抖、bind、promise之类的都要会手写。这里就不标必考了,因为大部分都是重点。

前后端分离详解,落地应用注意点

纵饮孤独 提交于 2019-11-27 12:30:53
这些天对前后端做了一个全面的研究,给大家分享下前后端分离应用的俩种模式,以及如何应用到实际场景,以及他落地的注意点; 现状   前后端分离开发已经成为行业标准。   他主要是通过web服务器(Nginx || Nodejs ...) + 应用服务器(Tomact ...)前后两个服务端进行有效解耦而达到前后端分离的效果。   技术核心思想:前端通过js创建HTTP请求调用后端服务的Restful API接口并返回JSON数据进行交互   web服务器:一般指像Nginx,Node这类的服务器,他们一般只适合解析静态资源和处理一些简单的控制以及业务逻辑;   应用服务器:一般指像Tomcat,Jetty这类的服务器可以解析动态资源也可以解析静态资源,但解析静态资源的能力没有web服务器好;   他存在的主要目的就是把项目的开发工作做到更细化,更专业化。   前后端分离模式也是让前端这个职位快速崛起的原因之一。 发展史   以前的程序员没有前后端之分,所有项目基本都是一个程序员既当爹又当妈的,一把全包了,最多分配一个页面仔配合后端工作。期间很多企业慢慢发现随着市场的发展,客户端的体验达不到要求。必须要请专人来做客户端这块的体验优化,而那时候还没这类专业人士(或者说是珍稀物种)那请一个成本可不小。   这时公司领导就找当时的程序员谈话了,想要他们接下这活,但发现他们大都嫌弃这活又脏又累

康希通信发布多款射频前端芯片:性能比肩美商

自闭症网瘾萝莉.ら 提交于 2019-11-27 07:11:20
【TechWeb】6月26日,在2019#MWC上海展会期间,国内射频芯片供应商康希通信发布了全新的5G微基站(sub 6GHz)射频功率放大器/前端芯片系列、新一代WIFI6全集成射频前端芯片等升级产品。 康希通信成立于2014年9月,致力于研发高可靠性、高性价比的射频前端集成电路芯片。产品主要应用于WLAN无线接入、手机与终端WIFI连接、智能物联终端、5GNR等相关领域。2016年8月康希通信获得intel投资。目前公司量产芯片22颗,在研产品26颗。 打开百度App,看更多图片 康希通信此次发布的5GNR 微基站射频功率放大器芯片 -- KCT56228H是其中备受关注的焦点。相对于传统微基站射频功率放大器,KCT56228H采用全新的DeltaRF架构,能有效降低射频功率放大器芯片的成本。该款产品是康希通信与中移物联网合作战略中的核心产品之一。 一同亮相的另外几款新品包括WIFI6 射频前端芯片 – KCT8539S/KCT8239S,该系列芯片采用康希通信特有的可靠性设计方法,达到业界领先的可靠性检验标准,分别为国内最先实现WIFI6协议标准的5GHz/2.4GHz射频前端芯片。 康希新品发布演示 据康希通信向TechWeb透露,新产品的量产交付时间预计WIFI6 射频前端芯片KCT8539S/KCT8239S在今年第三季度,5GNR

前端开发——HTML&CSS入门

本秂侑毒 提交于 2019-11-27 05:21:05
  软件开发,一提起来感觉这个感觉这个词范围很大很广,说起来也很笼统。不知所云,开发的到底是什么?或者说开发的具体内容是什么?以前我们讲软件开发主要是分前端和后端,那前端和后端又是什么那?你可以这么通俗的理解,前端就是用户可以看到的界面,而后端就是客户看不到的模块。现在我们已经摒弃了这种说法,因为这种说法太过笼统,太过局限性。所以我们现在将软件开发分为B/S和C/S。   首先我们先讲讲什么是C/S。C/S (Client/Server,客户机/服务器)模式又称C/S结构,是软件系统体系结构的一种。C/S模式简单地讲就是基于企业内部网络的应用系统。与B/S(Browser/Server,浏览器/服务器)模式相比,C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。现在C/S结构的软件比如说有:QQ、360、office等等。那么C/S是不是就优于B/S了那?答案是否定的。现在大部分互联网公司开发的主要方向还是C/S。因为C/S架构的软件客户端不能跨平台使用,所以在其他操作系统上都需要分别开发相对应的客户端。这样就会造成B/S开发的成本远远高于C/S,而且C/S的后期维护以及人工费用也远远高于B/S开发。   B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C

两年前端历程回顾的思考与总结

孤街浪徒 提交于 2019-11-27 03:56:45
2017年的9月,正式从后端开发转做前端工作,这其中更多的是机缘。公司技术部门组织调整,原先的团队发生变动,领导准备组织新的人员去总部接项目,当时想着给自己更多挑战,就申请加入了新的团队。当时现状是,公司前端开发人员较少,属于稀缺资源,新的团队没有FE。到现场以后才知道,因为前后端分离,前端是单独的项目,使用的也是新的前端技术,ES6是基础,框架是React、Redux、antd,以及公司基于Webpack封装的构建框架,整个项目的开发和最终在系统上运行的流程也是全新的技术思路,需要一定的前端知识。当时自己的现状是会写JSP,写过一段时间的JS,也因为曾经在前端工作较重的情况帮助FE同事做过一些Angular1、Angular2的项目,算是在整个团队里面前端知识相对"丰富"的了,顺理成章就由我接了前端的两个项目。回来以后,由于自己对前端技术一直比较好奇,对大前端也有耳闻,前端人员人手不充足也给了自己机会,所以就在现在的领导的帮助下,顺利转了前端,正式成为了前端的开发小白,对我来说这是一个比较大的转折点。 在这几年的开发过程中,接触的前端技术也发生了很多的变化: 最开始的时候,公司没有单独的前端开发人员,前端的页面是由后端完成的,使用的是JSP。JSP 是运行在服务端的语言,使用服务端渲染,适用前后端耦合的项目。随着时代的发展,前后端的界限分得越来越明确,术业有专攻

前后端分离架构的发展

不羁岁月 提交于 2019-11-27 02:07:39
前后端分离是现在互联网项目开发的业界标准使用方式,我们来看看它的发展。 前后端未分离时代(各种耦合) 这个时代可以叫做MVC时代,因为主要是使用MVC框架。 大致就是,所有的客户端请求都被发送给作为控制器的Servlet,它接收请求,并根据请求信息将它们分发给适当的JSP来响应。同时,Servlet还根据JSP的需求生成JavaBeans的实例并输出给JSP环境。JSP可以通过直接调用方法或使用UseBean的自定义标签得到JavaBeans中的数据。需要说明的是,这个View还可以采用Velocity、Freemarker等模板引擎。使用了这些模板引擎,可以使得开发过程中的人员分工更加明确,还能提高开发效率。 在这个时期,首先是有以下的开发方式。 这种方式已经逐渐淘汰。主要原因有两点: 1.前端在开发过程中严重依赖后端,在后端没有完成的情况下,前端根本无法干活。 2.由于趋势问题,会JSP、懂Velocity和晓Freemarker等模板引擎的前端越来越少。 因此进化出了另一种开发方式,这种方式现在很多小型传统软件公司还在使用。 但是这种开发方式和它前身的开发方式有着同样的缺点: 1.前端无法单独调试,开发效率低。 2.前端不可避免会遇到后台代码,比如说JSP中的EL表达式和JSTL标签,难为前端。这种方式的耦合性太强,就算用了Freemarker等模板引擎

前后端分离架构概述

不打扰是莪最后的温柔 提交于 2019-11-27 00:24:54
1、背景 前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。 核心思想是 前端HTML页面通过AJAX调用后端的RESTFUL API接口并使用JSON数据进行交互 。 Web服务器:一般指像Nginx,Apache这类的服务器,他们一般只能解析静态资源; 应用服务器:一般指像Tomcat,Jetty,Resin这类的服务器可以解析动态资源也可以解析静态资源,但解析静态资源的能力没有web服务器好; 一般都是只有web服务器才能被外网访问,应用服务器只能内网访问。 以前的Java Web项目大多数都是Java程序员又当爹又当妈,又搞前端,又搞后端。随着时代的发展,渐渐的许多大中小公司开始把前后端的界限分的越来越明确,前端工程师只管前端的事情,后端工程师只管后端的事情。正所谓术业有专攻,一个人如果什么都会,那么他毕竟什么都不精。大中型公司需要专业人才,小公司需要全才,但是对于个人职业发展来说,前后端需要分离。 2、未分离时代(各种耦合) 早期主要使用MVC框架,Jsp+Servlet的结构图如下: 大致就是

前后端分离模式研究

戏子无情 提交于 2019-11-26 20:02:29
一、前言 对目前的web来说,前后端分离已经变得越来越流行了,越来越多的企业/网站都开始往这个方向靠拢。前后端分离概念在今天其实并不新鲜,自以MVC模型为主的开发模式流行之初,前后端分离思想就被提出来了,但是经历了几十年的发展,前后端分离并没有得到实质的进步和应用。得益于前后端框架的丰富和发展以及接口文档自动化技术的出现,前后端分离于最近几年在很多的实践中得到了越来越好的应用和推崇。那么,什么是前后端分离呢?为什么要选择前后端分离呢?前后端分离对实际开发有什么好处呢? 二、背景 在以前传统的网站或者系统开发中,前端的工作一般只是切图,简单的将UI设计师提供的原型图实现成静态的HTML页面。而具体的页面交互逻辑,如页面与数据的交互工作等,可能都是由后台开发人员来实现,或者是前端紧紧的耦合后台。比如以前的基于MVC架构的淘宝Web,架构决定了前端只能依赖后台,这种模式是前端写好静态demo,后端翻译成VM模板,同时后台还实现C层的逻辑。 更有甚者,部门公司后台人员直接兼顾前端工作,一边实现API接口,一边开发页面。这导致后台的开发压力大大增加。前后端工作分配不均。不仅仅开发效率慢,而且代码维护困难。而前后端分离,则可以很好的解决前后端分工不均的问题。将更多的页面交互逻辑分配给前端来处理,而后端则可以专注于其本职工作,比如提供API接口,进行权限控制以及进行运算等工作

前端_HTML

戏子无情 提交于 2019-11-26 19:59:29
web概念概述 JavaWeb:使用Java语言开发基于互联网的项目 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端程序,在远程有一个服务器端程序 * 如:QQ,迅雷... * 优点: 1. 用户体验好 * 缺点: 1. 开发、安装,部署,维护 麻烦 2. B/S: Browser/Server 浏览器/服务器端 * 只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序 * 优点: 1. 开发、安装,部署,维护 简单 * 缺点: 1. 如果应用过大,用户的体验可能会受到影响 2. 对硬件要求过高 * B/S架构详解 * 资源分类: 1. 静态资源: * 使用静态网页开发技术发布的资源。 * 特点: * 所有用户访问,得到的结果是一样的。 * 如:文本,图片,音频、视频, HTML,CSS,JavaScript * 如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器。浏览器中内置了静态资源的解析引擎,可以展示静态资源 2. 动态资源: * 使用动态网页及时发布的资源。 * 特点: * 所有用户访问,得到的结果可能不一样。 * 如:jsp/servlet,php,asp... * 如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器 * 我们要学习动态资源

选择转行学习WEB前端,你必须要了解的5大要点

岁酱吖の 提交于 2019-11-26 15:52:23
随着互联网开展,互联网的体系越多越多,越来越杂乱,用户不能满意基本功用的需求,对互联网体会要求越来越高,客户端与服务器的交互不在是简略页面和页面的交互,而变为页面和页面+程序+数据的交互,其间完成与客户交互和体会的程序就是Web前端工程师完成的,这时Web前端工程师就诞生了,跟着用户对体会和交互要求越高,体系功用越杂乱,Web前端工程师的岗位就越重要。 1前端岗位饱和了? 随着互联网和移动终端的普及,雨后春笋般的互联网项目的发展,用户对于用户体验的需求不断提升,前端工程师逐渐成为介于视觉工程师和后端工程师之间必不可少的角色,备受大家的追捧和关注。 随着前端工程师岗位的发展,近期,网上不断传出前端工程师岗位饱和的言论。网上有人抱怨说,前端工程师人太多了,工资太低,工作太难找了。 前端岗位真的饱和了吗?答案当然是否定的。 近几年来,前端岗位的热度一直处于稳中有升的状态。通过百度搜索指数的趋势图我们可以看到,随着HTML5和ES6的推广,从2014年开始至今,前端一直处于逐步上升、正常波动的状态,没有回落降温的趋势。 数据来源:百度指数 通过各大招聘网站可以看出,前端岗位需求量大,薪资待遇也在不断提高,尤其是高级前端岗位缺口很大,不存在前端岗位饱和的现象。 数据来源:拉勾网 2前端岗位是刚需 随着用户对用户体验的需求不断提升,前端部分的复杂度也在不断提高。传统的美工