专栏首页考拉阅读前端团队2019前端工程师自检清单与思考

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

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


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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • v-charts的那些坑

    每次用到 v-charts 我都一阵头疼,因为明明是相同的功能,但是我好像每次用到的解决方法都不一样??每次都是在api中各种查,各种尝试... 直到做了个各种...

    super.x
  • vue编写的移动端条件搜索条组件

    super.x
  • 【算法解析LeetCode by Javascript】213. 打家劫舍 II

    你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有...

    super.x
  • 2019 前端工程师自检清单与思考

    对于 JavaScript,掌握其语法和特性是最基本的,但是这些只是应用能力,最终仍旧考量仍然是计算机体系的理论知识,所以数据结构,算法,软件工程,设计模式等基...

    桃翁
  • babel-register 和 babel-node 的使用

    Babel 6 中 babel-register 和 babel-node 两个模块是开发时非常好用的转码工具。先来看一下如何使用:

    逆葵
  • 如何使用 docker 高效部署 Node 应用

    一个合理并且高效的部署方案,不仅能够实现快速升级,平滑切换,负载均衡,应用隔离等部署特性,而且配有一套成熟稳定的监控。

    山月
  • leetcode: 107. Binary Tree Level Order Traversal II

    JNingWei
  • Elasticsearch Logstash Kibana Filebeat 搭建

    ELK+Filebeat的流程应该是这样的:Filebeat->Logstash->(Elasticsearch<->Kibana)由我们自己的...

    java乐园
  • 数据结构学习笔记(串)

    希希里之海
  • 剑指offer(25-30)题解

    萌萌哒的瓤瓤

扫码关注云+社区

领取腾讯云代金券