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

239

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有几个属性吗,具体参考https://github.com/wintercn/b...

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.你真的理解前端吗?


有落下的方面,请在评论区写下您宝贵的看法,我会第一时间加入进来!!!

虽然有些方面还未补足,但是可以作为参考~

如果觉得我的文章对你有用,请随意赞赏

你可能感兴趣的

29 条评论
Han09 · 6 天前

大佬们发这些真是让我们新人越来越不想进坑了…

+8 回复

此去欲何 · 5 天前

从入门到转行,只需要看看这篇文章

+2 回复

aimiy · 5 天前

看得我觉得自己只是个熟练搬砖工。。。学艺不精。。

+1 回复

朵朵 · 6 天前

想请教大佬那些个深层次的原理什么的该从何学起,有什么书或者啥的吗?

回复

1

推荐两本我还觉得不错的书 《Javascript语言精粹》《JavaScript设计模式》《你不知道JavaScript》

SuperX 作者 · 6 天前
0

好的,谢谢大佬

朵朵 · 5 天前
qiuFault · 6 天前

个别送分题,大部分送命题(来自菜鸡的bb)

回复

Brian · 6 天前

怎么没有参考答案啊

回复

真实姓名 · 6 天前

大佬,关注一波

回复

嘻倪孢 · 6 天前

菜鸡路过,留下了没有技术的泪水

回复

紫藤 · 5 天前

文章不错,请问可以转载到公众号吗?

回复

0

可以

SuperX 作者 · 5 天前
巴谢尔托夫斯基 · 5 天前

咱也不知道该说什么,咱也不敢问,心里哇凉的

回复

覃巍 · 5 天前

这要工作好多年才能达到啊

回复

你看不见我 · 5 天前

在公众号看到特地前来学习

回复

huigeek · 5 天前

天天为项目赶进度,少了很多思考的时间,真的应该反省自己了

回复

木子李 · 4 天前

我该咋学,越看越迷茫

回复

163的微笑 · 4 天前

看了会流泪系列...

回复

vbyzc · 4 天前

整天都充斥着这些不知所谓的文章,请告诉大家实际有什么用?

回复

7nz · 4 天前

为什么只能顶?我觉得sf真该出一个,踩文章的功能

回复

Leoz · 3 天前

这不就是用来难为人的么,面试造火箭工作拧螺丝。并没有说清楚编程的大方向,有种面向面试学习的感觉。

回复

0

真的要往高级工程师进发的话,肯定要基础更深,范围更广,如果只是想写写逻辑混日子,当然拧螺丝就够了,自勉

SuperX 作者 · 3 天前
0

@SuperX 因为你说的是知识点在面试过不下50人后进行的一波总结,而不是在工作XX年总结的。这不就是面向面试学习么。基础很重要大家都是认同的,但是我认为更多的是缺乏方向,拿面试当基础检验不就是错误的方式么

Leoz · 3 天前
樊千 · 3 天前

有答案效果会更好

回复

大白 · 2 天前

请问有答案吗

回复

载入中...