前言
作为一个程序员,当然总是期望自己的代码能「一次编写,四处运行」,但真实经验往往是「一处修改,百处填坑」,依赖落后了好几个版本了想要升级、老代码已经看着很不爽了打算重构,都需要下坚决的决心,毕竟哪里漏掉了或者改错了都可能酿成大祸,我们一般都怎么搞呢?
一个合格的前端需要哪些能力?
1、三大基础技能,js、css、html这三项技能是前端工程师能力中的基础,任何框架、工具、库都是基于这三者只上的。这是硬实力,决定了整个前端生涯能够达到的高度,以及在后面的技术栈拓展中的顺畅程度和能够达到的效果。结合题主的描述,“会用jquery、js写一些常见的动画”,会用jquery只能说明你了解jquery这个库提供的api的使用方法,然而你跟offer的差距就是使用与实现的差距。很简单的一个例子,为什么写$('#xxx')就能取到元素?而想要回答这个问题,需要的就是扎实的js基础,你能回答出多少,就决定了你能拿到多大的offer。
2、工程能力前端工程师,首先是个工程师,做项目就是在做工程,所以懂得如何把一个项目的前端部分的工程运行起来,是另一项必备技能。grunt、gulp、webpack都是著名的工程类工具,这些工具只要能熟练使用,就基本符合工程能力的要求。但是如果想要拿到更高一个层次的offer,理解工作原理必不可少。这些工具的根本作用,就是对资源的处理,包括代码的压缩打包、本地服务器的架设等。
3、调试能力如果还在用alert、console来调试程序定位问题,那么你还不符合要求。学习chrome调试工具的使用,Elements查看元素、Network查看网络请求、Sources查看代码,设置断点定位问题、call stack查看调用栈。这个能力很少有人提到,但是掌握这些技能,不仅能在面试时给你加分,更重要的是在日后实际的项目中发挥的作用。
4、团队协作能力指的就是git,在项目开发中必不可少,熟练使用git,掌握常用的命令,学会解决冲突。
5、热门框架的使用vue、react是当前两个最热门的框架,能够熟练使用是基本要求,如果你想在众多求职者中脱颖而出,你还需要理解原理,还是那句话,你跟offer的差距就是使用与实现的差距。试着理解virtual dom的原理,响应式的原理,双向数据绑定的原理。
6、项目经验这里的项目经验,不是题主所说的“仿了几个页面”,而是“项目”的经验,是经历过整个项目从0到1全过程的经验,在这个过程中遇到了什么坑,如何解决的,解决的过程中是如何思考的。这些经历、思考在面试中也是面试官所关注的。以上是一个前端工程师在项目中所需要具备的基本能力,这些能力的缺失不仅会在面试中暴露出来,更会成为日后实际项目开发中的隐患
HTTP
-
HTTP 报文结构是怎样的?
-
HTTP有哪些请求方法?
-
GET 和 POST 有什么区别?
-
如何理解 URI?
-
如何理解 HTTP 状态码?
-
简要概括一下 HTTP 的特点?HTTP 有哪些缺点?
-
对 Accept 系列字段了解多少?
-
对于定长和不定长的数据,HTTP 是怎么传输的?
-
HTTP 如何处理大文件的传输?
-
HTTP 中如何处理表单数据的提交?
-
HTTP1.1 如何解决 HTTP 的队头阻塞问题?
-
对 Cookie 了解多少?
-
如何理解 HTTP 代理?
-
如何理解 HTTP 缓存及缓存代理?
-
为什么产生代理缓存?
-
源服务器的缓存控制
-
客户端的缓存控制
-
什么是跨域?浏览器如何拦截响应?如何解决?
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】