传送门

写在前面

网络传输是web开发的基础,不管是前端还是后端,都要对其有足够的了解。这部分的基础知识非常重要,以致于笔者会在文章中反复强调。这是一个一劳永逸,辛苦一下子,幸福一辈子的东西。所以希望同学们留出足够的时间和精力把基础知识夯实打牢。

长期如何学习

  • 死磕基础,网络部分的知识点不多,但是每个知识点的内容非常丰富。又因为其是web开发领域必备的技能,所有的知识点在面试的时候必考。所以笔者建议,要花足够的时间和精力,把这部分死磕下来,虽然第一次很痛苦,后面就一劳永逸了。
  • 理论与实践相应征,一般来说,大厂都有着一套比较成熟的网络优化方案。所以需要你去动手优化的地方肯定不多。这时请留意两个方面,第一是打包策略,第二是发布策略。我们学过的网络方面的知识都隐藏在这里面,多留心,多注意,多问几个为什么。

短期如何突击

这部分没什么好说的,如果有了第一次的扎实基础,那么只需要简单复习一下,重新刷刷题就好了。当然,前提是基础要足够扎实。知识点如下

  • 网络协议
  • 网络性能优化
  • 网络安全

临阵如何磨枪

当做到上面所说的基础足够扎实后,只要过一遍下面的题,把一些遗忘的知识点补上就可以了。再强调一遍,网络传输部分,基础很重要!

什么是TCP/IP协议?什么是HTTP协议?

追问:

  • HTTP协议常见的状态码有哪些?参考资料
  • HTTP协议和HTTPS的区别?HTTP2了解吗?
  • 什么是三次握手?什么是四次握手?
  • HTTP和websocket的区别?
  • 什么是DNS?
请描述用户在浏览器里输入URL后回车,到页面完全展示期间,都发生了什么?

追问:

  • HTML资源加载顺序是什么?script标签的defer和async属性有什么作用?
  • 请说出静态资源请求的优化措施?是否用过“雪碧图”和iconfont?
  • 如何利用浏览器的缓存机制?
  • 什么是SEO?如何优化?
  • SPA(single page application,单页应用)和传统网页相比的优缺点是什么?
跨域的定义是什么?

追问:

  • 请说出常用的跨域解决方案
  • jsonp的原理是什么?服务端如何配合?
什么是XSS攻击?如何预防?

追问:

  • 什么是CSRF攻击?如何预防?
  • 请介绍一下cookies
  • get和post的区别?还有其他method吗?
  • 请说出2个以上post请求的数据格式
如何用Promise改造ajax?

追问:

  • Promise除了then,还有什么方法?
  • 如何实现多个异步请求全部完成后,再执行某操作?
  • 是否用过async/await?
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐