2019前端工程师自检清单与思考

对于JavaScript,掌握其语法和特性是最基本的,但是这些只是应用能力,最终考量的仍然是计算机体系的理论知识。所以数据结构、算法、软件工程、设计模式等基础知识对前端工程师同样重要,这些知识的理解程度,可以决定你在前端工程师这条路上能走多远。

是时候进行一波自检了,查漏补缺,只有全面发展,才会使你更强。以下会以自问的形式进行,按照图片里面的知识点进行自我check。这些知识点都是在面试过不下50人之后进行的一波总结。

1、关于性能优化,你是否只知道js文件摆放顺序、减少请求、雪碧图等等,却连衡量指标window.performance.timing都不清楚是干什么的?

2、请你描述下一个网页是如何渲染出来的,dom树和css树是如何合并的,浏览器的运行机制是什么,什么会造成渲染阻塞?

3、请简述下js引擎的工作原理,js是怎样处理事件的eventloop,宏任务源tasks和微任务源jobs分别有哪些?js是如何构造抽象语法书(AST)的?

4、你是否考虑全面你编写的整个函数,或者整个功能的容错性与扩展性?怎样构建一个组件是最合理最科学的,对于错误的处理是否有统一的方式方法?

5、浏览器缓存的基本策略,什么时候该缓存什么时候不该缓存,以及对于控制缓存的字段的相关设置是否清楚?

6、你是否可以利用面向对象的思维去抽象你的功能,你会构建一个class(ES6)吗?你对于前端架构的理解?

7、你会用VUE吗,你会用React吗,你读得懂这两个架构的源码吗?你懂他俩的基本设计模式吗?让你去构建一个类似的框架你如何下手?

8、你了解的ES6只是const、let、promise吗?你考虑过ES6提出的真正趋势吗?

9、你会用less吗,那么让你去写一个loader你可以吗?

10、webpack你也会用吗,你了解其中原理吗?你知道分析打包依赖的过程吗?你知道tree-shakeing是如何干掉无用重复的代码的吗?

11、你真的熟练使用css吗,那你知道position有几个属性吗?

12、你了解js的数据结构吗?基本数据类型有哪些?复杂数据类型有哪些?在内存是如何表现的?

13、你可以用js去实现一个单向、双向、循环链表吗?你可以实现查找、插入、删除操作吗?

14、你了解基本常见算法吗?快速排序写一个?要是限制空间利用你该如何写?

15、你了解贪心算法、动态规划、分治算法、回溯算法等常见的算法吗?

16、你是如何理解前端架构的?你了解持续集成吗?

17、你了解基本的设计模式吗?举例单例模式、策略模式、代理模式、迭代模式、发布订阅模式…

18、写一个事件监听函数呗?实现once、on、remove、emit功能。

19、node.js的实现层是什么?

20、node的事件循环机制是怎样的?

21、node的child_process模块有几个api,分别的作用是什么?

22、http1.0与1.1协议的区别?

23、node是如何实现http模块的?

24、如何构建一个主从模式?

25、nginx相关配置了解过吗?

26、你真的理解前端吗?

原文地址:https://www.cnblogs.com/helloworld2048/p/10910491.html

时间: 2024-11-11 07:44:04

2019前端工程师自检清单与思考的相关文章

2019年前端工程师应该学什么?

参加工作三年多了,最近业务不是很忙,心里反而空落落的.最近参与了一个公司UI库开发,发现自己不懂的东西实在太多.以此为契机吧: 1. 有必要把近两年的经验知识沉淀一下,与标准和文档进行一一印证,查漏补缺. 2. 工具不仅要会用,用的好,还要知道原理. 3. 即便是有些知识暂时用不到,作为一名有点追求的工程师,应该提前做一些知识储备. 写到此处惊觉自己这两三年在技术上还是成长了的,2016年我需要看着前辈们的分享,大家说有用我就学,听前辈的总没错,2019年我可以根据自己的经验和体会总结出该怎么去

前端工程师成长的痛,你占了多少?

对于很多前端工程师,很容易进入工作的舒适区,该熟悉的业务已熟悉了,然后就是重复用轮子,这样很容易让自己的成长处于原地打转以及低水平重复的状态. 一.客观原因 没有经过系统的计算机学科学习导致计算机功底不扎实,这种问题主要出现在以下三类小伙伴身上: 计算机科班出身,但是在校期间基础不扎实. 非计算机科班,通过自学,但不够系统,所学不成体系. 非计算机科班,通过0基础的培训班,短时间速成,不够扎实. 因工作环境环境限制,导致成长性不足 以上客观主要导致问题表现如下: 因一些基础算法.数据结构理论不扎

前端工程师的价值体现在哪里?

这是一个很老的话题"前端工程师的价值体现在哪里?".有人说:"前端工程师之于网站的价值犹如化妆师之于明星的价值."一位好的Web前端开发工程师在知识体系上既要有广度,又要有深度.当然,Web前端工程师并不是设计师,每天接触最多的是代码,代码,还是代码.对此,你是如何给自己定位的?你的价值是否能够得到很好的体现?如今,旧话重提无非是想与开发者们共同探讨下前端工程师的价值所在,希望对你有所感悟. 一起来看下业内资深大牛对前端工程师是如何评价的: 张克军 - 豆瓣前端工程

前端工程师必须收藏的 CSS 资源大全

我想很多程序员应该记得 GitHub 上有一个 Awesome:XXX 系列的资源整理.awesome-css 是 sotayamashita 发起维护的 CSS 资源列表,内容包括:CSS预处理器.框架.CSS结构.代码风格指南.命名习惯.播客.演讲视频.大网站的 CSS 开发经验等等. Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大.这也是我们发起这个开源项目的初衷. 预处理器 更快地编译 CSS GCSS:一个用GO语

2017前端性能优化清单

https://github.com/Findow-team/Blog/issues/11?utm_source=tuicool&utm_medium=referral 2017前端性能优化清单 你开始使用渐进启动了么?是不是已经使用过React和Angular中tree-shaking和code-splitting两个工具?有没有用过Brotli.Zofli和HPACK这几种压缩技术,或者OCSP协议(在线证书状态协议)?知不知道资源提醒,客户端提醒和CSS containment一类的技术?

如何称为一个优秀的前端工程师?

最近在实验室很受打击,导师给的任务没有很好的完成,我能感受到导师的失望,同时对自己也失去了自信心.自信心是非常重要的一件事情.所以我需要思考我到底在不就的将来想从事什么工作.最近也是在一直不断地摸索中. 这几天想学前端,我也知道像我这样浮躁是做不成事情的,我尽量能够让自己稳定下来.希望好好学习前端吧. 首先我认为需要明白前端是什么,我认为的前端,是与人交互的接口.这是我当前的理解.在计算机中功能模块的解耦在有些地方能简化开发,使得产品容易维护等优点.所以现在讲究前端后端的分离.在前端中,HTML

我在2016年是怎么转行做前端工程师的

十月底接到面试通知,到从上一家单位辞职仅仅用了一天的时间.然后看着四百多一天的酒店,我选择了六十块的青旅.还好来北京后一切都算是顺利,面试过程整体很流畅,青旅住了一礼拜offer就基本定下来了,再让我等一个礼拜估计睡青旅的木板床就该把我的骨头睡散架了吧. offer拿到后就开始找房,还好单位在北京五环外,一间十三平的屋子一千七百的价格至少在北京来说也不算是贵了(之后从同事那里听说,其实还能租到更便宜的).来北京的时候就带了三千多,东拼西凑从朋友那里借了一万多,交完房租基本就是吃土的生活了,想一想

如何定义一个牛逼的前端工程师

有软件工程方面的研究说,对于开发者个体而言,最优秀的开发者的生产效率约为平均值的2倍,而优秀的开发者会吸引其它优秀的人,或者激励与帮助团队中的其它成员,最终使团队之间的生产效率差异达到10倍之多. 所谓牛逼的工程师,就是那些个体效率是其它人2倍,形成团队之后达到10倍差异的一群人. 前端领域这几年发展速度非常快,人才分布呈两级分化趋势,大家都在说缺前端,其实缺的是牛逼前端,对于低端的前端,培训机构一直在量产,但是无法满足要求.很多情况下,一个牛逼前端对于团队的价值是再多低端前端都无法提供的. 牛

web前端工程师在移动互联网时代里地位问题

支付宝十周年推出了一个新产品:支付宝的十年账单,我也赶个时髦查看了一下我的支付宝十年账单,哎,感慨自己真是太屌丝了,不过这只是说明我使用淘宝少了,当我大规模网上购物时候,我很讨厌慢速的快递,所以我大部分消费都贡献给了像京东这样具有火箭般快递速度的电子商城了.不过在支付宝十年账单里,有个统计数据引起了我的危机意识,在中国一些偏远或者是经济欠发达的省份,电子购物在居民的全部消费里的占比比发达地区高多了,而这个的助推剂居然是移动互联网在中国的普及,在中国使用智能手机和平板电脑购物的人们已经远超使用PC