一个初级的前端工程师需要知道些什么?

author author     2022-08-31     153

关键词:

一个初级的前端工程师需要知道些什么?


按照我的想法,我把前端工程师分为了入门、初级、中级、高级这四个级别入门级别指的是了解什么是前端(前端到底是什么其实很多人还是不清楚的,底什么是前端后端、后台),了解基本的html、css和javascript语法,可以根据设计师的设计图在不考虑兼容性的情况下把页面做出来,了解过一些框架的使用(例如烂大街但是依然牛逼的jQuery、zepto、bootstrap等等)

在经历过入门的阶段,已经了解了前端要做什么,并且把基本的语法学习过了可以独立做一些简单的页面了,那么就要继续学习达到初级前端工程师的水平,对于初级的前端工程师需要了解的就特别多了,需要对整个前端有一个清晰的认识,并且熟练使用各种技术,我感觉在校的学生达到初级水平就可以通过bat的校招笔试面试了(看到这里,您先不要吐槽,先把我下面说的初级水平需要掌握的东西看一下之后再来评论我说的有没有过)。

初级前端工程师首先要知道的就是如何处理各种浏览器的兼容处理(比如说在IE浏览器中的createElement有什么不同等等内容),现在基本上每个公司在招聘的时候都会要求熟练html5, css3, javascript,这个熟练的意思就是信手拈来,在下面会说初级前端工程师应该具体的学习哪些知识,然后就是要了解各种css的预处理器和后处理器,还有会使用常见前端的MV*框架(angularjs, backbone,reactjs等等)并知道这些框架的原理,另外就是要熟练使用nodejs,要会使用基于node的各种前端构建工具(grunt,gulp等等),熟练使用github或gitlab,对模块化、组件化、工程化、语义化有一个比较深入的了解,最后要知道如何开发移动端的页面,如何去优化一个页面的性能。

初级前端工程师的技术体系

目前在网上有很多关于技术体系的文章,但是几乎都是在一个很笼统的方面来介绍技术栈,这里我就给把那些笼统的概念给分解开,详细的来说一下需要掌握的知识内容。

html部分

首先是要掌握一些常用标签的使用和他们的各个属性,这些常用的标签我总结了一下有以下这些:

html:页面的根元素。

head:页面的头部标签,是所有头部元素的容器。

body:页面的主体标签,页面展现的内容就放置在这里面。

title:页面的标题。

meta:位于文档的头部,提供页面的元信息,包括关键字、描述等等。

link:定义文档与外部资源的关系,最常用的用途就是引入样式表。

script:脚本标签,可以把js脚本代码放置在这个标签内,也可以使用这个标签的src属性引入一个外部标签。

style:样式标签,可以把css代码写在这个标签中。

a:超链接,href属性代表要链接到的地方,target属性代表打开方式。

img:图像标签,src属性表示图片的位置。

form:表单元素,它内部的input、select、textarea等标签都是比较重要的。

div:定义文档中的分区或节,可以使用div来进行页面的布局等操作。

另外还有ul、li、p、button、iframe、p、table等标签也很常用,nav、section、article、header、aside、footer等语义化标签也需要了解一下。

除了要了解上面这一些标签之外,还需要对一些新的HTML5的API有一定的了解:

audio、video标签。

Canvas:定义图形,比如图表和其他图像。

input标签的accept属性,email、phone、url等类型。

getElementByClassName根据class名来获取一个元素结点。

Multiple file selection多文件选择属性。

html的import、template

process标签,webGL等内容。

还有一些要知道的知识点:

1.doctype的作用。

2.unicode、utf8等编码的原理和区别。

3.如何进行页面性能优化。

4.png、jpg、webp、gif等图片格式的不同的优势。

5.HTML行内元素与块级元素的区别。

6.移动web端开发常用head标签。

7.web语义化。

8.浏览器中的缓存原理


css部分

关于css这一块,我的看法就是网上下载一个chm格式的css的参考手册,然后根据手册里面写的一个个的都敲一下。

css大体分为下面这几块知识点:

① 定位布局

1.position属性的7个值(static | relative | absolute | fixed | center | page | sticky)分别有什么作用和不同?

2.实现品字形布局或者是三栏布局(左右宽度固定,中间适应屏幕)。

3.浮动与清除浮动的方法,flex布局,grid布局。

② 盒子模型

1.margin、padding、border这三个属性。

2.伸缩盒相关内容。

3.Multi-column Layout Module多列布局模型。

③ 文本字体

1.强制换行与不换行,清除空白。

2.文本对齐、大小(如何设置chrome小于12px的字体)、缩进、转换。

3.单位(em、rem、px等),颜色(rgb、rgba,hls)。

④ 变换、过渡和动画

1.transform的各种取值的作用与兼容性。

2.transition过渡的动画类型,贝塞尔曲线的原理。

3.animation动画的各种设置,@keyframes规则。

4.浏览器的重绘与重排。

⑤ 选择器

1.选择器的分类,权值和优先级。

2.有哪些属性可以被继承,哪些属性没法继承。

3.伪类和伪元素分别是什么,有什么作用。

上面这些都是基础的东西,除了这些基础的内容之外需要了解Less、Sass、stylus等css预处理器,这将会大幅度提升你的css开发效率,也需要了解一下Autoprefixer、PostCSS等css后处理器。

javascript部分

在这里就不说js的基础知识了,我把js按照语法的层次和使用的层次分为了两大块。

按照语法的层次来说:

首先是javascript的面向对象方面的内容:在javascript中实现封装、继承和多态。

① 封装:在js中可以通过闭包、作用域和作用域链来实现封装,ES6的const、let的作用。

② 继承:基于原型链的继承、基于构造函数的继承、组合式继承、寄生式继承等,外加ES6的class关键字,prototype和__proto__。

③ 多态:在javascript中多态是使用arguments来实现的,关于arguments会引申出来很多内容:

1.arguments的caller、callee等方法的作用。

2.方法的apply和call的作用和不同。

3.使用Array.prototype.slice.call来把一个数组对象转化为数组。

4.array的各种方法,如shift、splice、push、filter、map、reduce、forEach等等。

然后是Js的设计模式,比如说那三种工厂模式啊,建造者模式啊等等。

最后是在不同情况下的this分别都代表什么。

按照使用的层次来说:

首先最主要的就是ajax,ajax原理,ajax跨域的方法:jsonp、使用iframe的location.hash、postMessageAPI、websocket、服务器代理等等。

然后是tcp协议、udt协议以及http协议的协议头、状态码等内容。

浏览器的缓存,客户端存储方面的内容:localstorage、sessionstorage、indexDB、cookie等等。

最后是一些新的js的API,例如文件读取(fileReader)、fetch、Promise、Web Sockets等等内容,可以去caniuse上面看一下有哪些新的东西。


web前端工程师初级阶段需要掌握的内容

今天小编给大家整理出来了Web前端工程师初级阶段需要掌握的内容,很全面,希望大家好好阅读,看看自己掌握的知识点和文章里面写的还相差多少。下面来和小编一起看一看吧!一、什么是初级Web前端工程师?按照我的想法,... 查看详情

前端工程师都在忙些什么?(代码片段)

...系统、弄架构欢乐老时光—2007–2009在那个年代没有前端工程师这个职位,而从事网页相关的工程师一律通称Webdeveloper,最主要的工作,就是把PSD设计图&# 查看详情

前端工程师都在忙些什么?(代码片段)

...系统、弄架构欢乐老时光—2007–2009在那个年代没有前端工程师这个职位,而从事网页相关的工程师一律通称Webdeveloper,最主要的工作,就是把PSD设计图&# 查看详情

前端面试指南|230页前端初级工程师面试题精编解析大全

目录前言前端初级工程师面试题HTML篇CSS篇JavaScript篇浏览器篇服务端与网络Vue框架算法篇前言初级前端工程师如何有计划的学习前端?前端基础是第一步也是非常重要的一步,从初学前端到成长为一名架构师,会经历... 查看详情

前端面试指南|230页前端初级工程师面试题精编解析大全(代码片段)

目录前言前端初级工程师面试题HTML篇CSS篇JavaScript篇浏览器篇服务端与网络Vue框架算法篇前言初级前端工程师如何有计划的学习前端?前端基础是第一步也是非常重要的一步,从初学前端到成长为一名架构师,会经历... 查看详情

软件测试需要学习些啥技能?

...言、Linux系统、前端语言等技能。1、测试用例这是每一个工程师必备技能,也是标志你进入测试行业最低的门槛,关于测试用例可以参考我以前写的文章。2、测试用例的方法测试用例的方法,只用掌握相关的方法,才能把测试... 查看详情

什么是前端工程师?前端工程师需要掌握什么技能?

什么是前端工程师?前端工程师需要掌握什么技能?前言前端工程师是一个出现了10年左右,而颇受重视则是最近这五六年的事情。受到重视到前端从业人员井喷,也就是这一两年而已。因为前端工程师这个职位出现得太晚,导... 查看详情

25k以上的ios开发工程师,需要会些什么?

前言:一,工作经历1,毕业四年,第一家公司就是做iOS开发,一直到现在,做了四年多iOS开发。前后换了四家公司,第一家是外包公司,那个时候我刚入门,在公司的项目中边学习边参与项目开发。后面的几家公司,都是一个... 查看详情

数据职业的区别

目录数据分析师初级、高级数据分析师对比数据工程师初级、高级数据工程师对比机器学习工程师初级、高级机器学习工程师对比PS:如有疏漏,请不吝赐教网上找的一个能力图上图来自于网络,如有侵权请告知,... 查看详情

前端工程师在实在支付功能的时候能做些什么(v客学院技术分享)?(代码片段)

  现在最流行的两种支付微信支付和支付宝支付,在日常开发的过程中肯定离不开支付功能的开发,有很多人第一次接触时会有些措手不及。一.业务逻辑(电商平台为例子)    支付大部分用在电商平台,各种... 查看详情

面试中,应聘者问面试官的问题

...试平台测试用例谁来评审?如果测试的等级分为初级测试工程师,测试工程师,高级测试工程师,资深测试工程师,那这个岗位的测试工程的title哪一种?我可以问一下贵公司对于初级测试工程师,测试工程师,高级测试工程师... 查看详情

十余年谷歌大佬的见解:成为算法工程师到底需要学些什么?

人工智能?感觉这个词很广泛,我之前想把人工智能当成某一项技术来学,但是并没有找到我满意的答案,还是说人工智能本就不是某一项技术?首先回答一下人工智能到底学什么1、学习并掌握一些数学知识高等数学是基础中... 查看详情

前端工程化1:小白应该知道的nodejsnpmpackage.json脚手架是什么?

...一步执行;1.2V8引擎是什么?Webkit是最初苹果公司开源的一个浏览器引擎,Safari就是基于Webkit开发的。Webkit主要由两大功能,一个是渲染Html,另一个是解析JavaScript。后来谷歌公司在Webkit的基础上升级了JavaScript解析器,研 查看详情

面试要价20k的测试工程师,看看面试官都问了些什么...

...自己面试能过关。公司前段时间缺人,面了不少测试工程师,但结果没有一个合适的。 查看详情

一个初级dba向中级dba乃至高级dba进化需要拥有的能力

...3点11分。我现在工作于深圳一家互联网公司,担任数据库工程师的工作。最近有点晕头转向,不知所措了。原因在于什么呢?虽然我来这家公司前已有一年多的工作经验,从事的也是数据库相关的工作,但是我并没有深入的学习... 查看详情

迷茫的未来,我们需要做些什么来面对呢?

...迷茫。将知识都写出来,将话都说出来,记录下来,作为一个记忆路线,让自己摸索着前进,我并不是奢 查看详情

前端发展这么快,我们该怎么学习?

...新的技术取代而“过时了”。  其实还是那句话,前端工程师首先是软件工程师, 查看详情

前端发展这么快,我们该怎么学习?

...新的技术取代而“过时了”。  其实还是那句话,前端工程师首先是软件工程师, 查看详情