前端春招实习攻略

大家好,我是菜饼。
大家好,我是被迫营业的加薪。
作为咕咕咕团队的核心成员,秉承着咕咕咕精神,成功把本文到了现在。
在后台收到了很多朋友对前端路线的咨询,今天这篇文章将通通解决这些问题。

1. 食用说明

适用范围
  • 零基础入门前端
  • 准备春招的前端实习面试
使用方法
  • 每部分会介绍入门方法,同时提供一份高频考点。
  • 拿好笔和本子,整理出适合自己的路线

2. 前端基础

万丈高楼平地起,前端基础的三剑客:HTMLCSSJavaScript,大家要好好学哦~

2.1 HTML

HTML学起来其实非常容易,对于初学者,前期可以从视频入手:
概念内容可以在MDN上查阅,非常方便;

2.2 CSS

CSS的学习方法和HTML类似,但是前期看完视频后,建议把常见的布局进行梳理
高频考点:

2.3 JavaScript

如果有C语言基础,学起JS来会比较容易;
当然,没有别的语言基础,直接学也没有问题,不存在必须先学C再学JS的问题;
最开始应当直接利用Chromeconsole控制台学习基本语法知识;
然后学习DOM操作,比如实现点击按钮出现弹框,获取输入框内容进行计算等等;
接下来可以学习AJAX,学会实现GET请求、了解前后端数据交互;
这个时候基本对JS有了大概的认识,也能简单使用,那么接下来就是系统的、深入的学习,可以开始了解ES5ES6的区别,了解一些常用函数的底层实现,比如newbindcall/apply等;
高频考点:

2.4 小结

对于初学者来说,初学期间要注重实操巩固,比如学习一段时间的HTMLCSS后,就可以开始模仿实现一些网页,比如知乎首页、简书首页等;在学习JS的时候,也可以进行相应的练习,利用所学的知识,给前面实现的网页增加交互效果等等。
看了,并不是你的;
做了,才是你的。

3. 框架

三大框架:VueReactAngular
对于面试者来说,一般会对Vue或者React框架有较深入的理解,对其他框架有简单的了解;
因此,建议VueReact二选一来深入学习,有余力的同学可以把两个框架都掌握。
  • Vue上手简单,文档清晰,对初学者非常友好;
  • React上手门槛相对高一些;
  • Vue的开发体验与小程序相似,学会Vue之后再上手小程序非常丝滑;

4. 进阶

当掌握了一个框架, 尝试做了一些项目后,就可以开始针对面试进行进一步的学习了。
比如:
  • 浏览器相关(缓存,重绘、回流等等)
  • 前端性能优化(高频)
  • TypeScript
  • 前端工程化(Webpack 等)
总结:

5. 项目

对于正在准备面试的同学来说,项目大概是最令人头疼的了,总觉得做的项目没亮点,都是搬砖,咋整呢?
这里大致有几个方向:
  • 网站模仿:模仿写个知乎、网易云音乐、Boss直聘等等;(推荐零基础入门练手时写写)
  • 框架模仿:模仿写个框架,比如写个MVVM框架;(相对来说难一些)
  • 日常工具:挖掘身边的需求,去做一些实用的工具,其中可能就会有一些技术点;
  • 实验室项目:在完成老师的要求的基础上自己加上一些优化(实验室项目一般灵活性较高);
  • 实习项目:在完成需求的情况下,学习之前的一些技术亮点,不一定是自己写的,只要你搞懂了,那就是你的
这里推荐一些搜集到的项目,主要提供个思路:
场景:比如班上要收作业,或者其他一些文件,大家都通过QQ发班委啥的,收起来也麻烦,还有可能漏收,而且有的同学文件名也改的不统一,缺谁的文件还要去统计查看,不如直接做一个网站,同学用自己学号登录,进去之后选择要提交什么文件,然后提交,系统自动改文件名,等截止日期一到,班委导出一下所有文件就好了,缺谁的文件也靠系统统计一下。
  • 电商网站(模仿淘宝之类的)
可以运用很多基本的技巧:懒加载,分页(自己实现),放大镜效果(自己实现);
其实很多看起来调个组件分分钟就能解决的问题,你只要再想一步,我能不能尝试着写一个来代替呢?那么你这个项目的点会丰富起来。
补充一点,这里可以使用Chrome控制台的lighthouse进行性能测试,用以优化前端性能。
  • 简历编辑网站
可以参考mdnice-resume的效果,用拖动组件式的布局简历,支持导出为pdf
最终用自己写的网站生成自己的简历,也是很有意思的事情。

6. Q & A

6.1 非科班自学前端与科班相比的劣势有哪些?如何弥补?

从目前的学校教学体系和前端的知识体系来说,劣势主要在于数据结构,计算机网络;其他基础(如操作系统、数据库)基本不太需要深入了解,面试就算问到也是非常基础的问题,比如:线程与进程的区别、死锁等。
  • 计算机网络:优先把高频题搞懂,有余力过一遍书,比如谢希仁的《计算机网络》

6.2 前端需要学习算法吗?工作中用得到吗?

需要!不论是为了面试,还是为了以后的工作,把算法好好学一学都是很有必要的。
  • 在很多面试中,往往能不能流畅地把代码题写出来,会决定你这次面试能否通过;
  • 掌握常见的算法,也能使你在工作中有意识降低代码的时间复杂度,提高代码质量;

6.3 前端的天花板真的比后端低吗?

先不说是不是天花板比后端低,你就确定你未来够得到前端的天花板了吗?
整天想着考清华还是考北大,有什么意思呢?
既然选择了前端,那么就踏踏实实地学好做好。
notion image

6.4 面试需要好的项目,那什么样的项目才是好项目呢?

首先,要确定自己当前的定位,不同阶段有不同的要求:
  • 初学者:先好好做一两个项目,别管好不好,做出来再说,啥项目都没做过,就算给你个好项目,你也不知道好在哪;
  • 熟练的"切图仔":这个阶段已经俱备独立开发前端项目的能力了,但是总觉得做的项目没有亮点,这个阶段需要做的项目就是有一定技术挑战的,哪怕自己目前做的项目没啥挑战性,也可以自己给自己提需求,比如上传文件,能不能做成切片上传呢?总的来说,自己有意识地增加技术点,增加项目含金量
  • 项目大佬:动手能力MAX,项目也有难点有挑战,这个时候需要反过来补充理论知识,实现一些更底层的东西,比如尝试复现框架,开源组件库等等,增加自己的技术影响力。
你觉得这篇文章怎么样?
YYDS
比心
加油
菜狗
views

Loading Comments...