前端进阶所必须具备的知识主干

当你开始跻身架构师工作岗位时,你就深切的体会到程序员进阶的心酸,你要掌握的东西绝非摸一个项目领域知识点的综合掌握程度,虽然原则上来讲没有人能够独自解决所有问题,但是我们更希望找到一个人能够解决更多的问题,即使不能立即解决,凭借自己已有的知识水平判断出可能的问题所在,继而制定调查计划,主导调查方向,得出科学结论;与此同时你要明白,但凡你不是在做全世界顶尖的科研攻关,那么你所遇到的问题90%以上是别人已经经历过,或也正在寻求解决的,所以虚心请教学习,同时做好分享是进阶之路的基石;

以上方法论都是狗屁,是人都知道的只要态度端正,关键在于如何做,怎么坚持的问题?上干货。

如果你好历史而且知识储备不错,那么你肯定脑子里就会有个印象,你为何能够储备如此之多的历史知识,启蒙、阅读、背诵、实地考察、、、、可能会有一大堆原因,但最为重要的是直接原因是: 你大脑里有座历史框架,就像树干一样,因为他的存在任何途径你所了解到的历史相关知识都会不自觉装进这个框架内(叶子从树枝长出),所以前端程序员如何积累到更多的知识,首先你就必须搭建属于自己的知识储备框架。

以下便是业界初步认可的主干:

  1. 从浏览器接收url到开启网络请求线程(这一部分可以展开浏览器的机制以及进程与线程之间的关系)

  2. 开启网络线程到发出一个完整的http请求(这一部分涉及到dns查询,tcp/ip请求,五层因特网协议栈等知识)

  3. 从服务器接收到请求到对应后台接收到请求(这一部分可能涉及到负载均衡,安全拦截以及后台内部的处理等等)

  4. 后台和前台的http交互(这一部分包括http头部、响应码、报文结构、cookie等知识,可以提下静态资源的cookie优化,以及编码解码,如gzip压缩等)

  5. 单独拎出来的缓存问题,http的缓存(这部分包括http缓存头部,etag,catch-control等)

  6. 浏览器接收到http数据包后的解析流程(解析html-词法分析然后解析成dom树、解析css生成css规则树、合并成render树,然后layout、painting渲染、复合图层的合成、GPU绘制、外链资源的处理、loaded和domcontentloaded等)

  7. CSS的可视化格式模型(元素的渲染规则,如包含块,控制框,BFC,IFC等概念)

  8. JS引擎解析过程(JS的解释阶段,预处理阶段,执行阶段生成执行上下文,VO,作用域链、回收机制等等)

  9. 其它(可以拓展不同的知识模块,如跨域,web安全,hybrid模式等等内容)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章