非科班普通院校的我,如何自学前端斩获多份大厂 offer,最终走进阿里巴巴

前言

首先我事先声明,对于这篇文章,是我写给和我同样是非科班,可是又很想从事前端工做的对将来前途感到迷茫的同窗们的。但愿大家在看到个人这篇文章以后可以坚决本身的方向,作本身喜欢的事情。css

写这篇文章以前先介绍一下我本身,我是来自中南林业科技大学的一名大三学生,我叫罗霁鑫,专业是地理信息科学非科班出身。自学前端大概有一年的时间,在 2020 年寒假结束至如今我前后收到了滴答清单、小米和阿里巴巴的实习 offer,腾讯的面试流程处于最后一面 hr 面。最后我选择了阿里巴巴html

起初寒假的我是准备考研的,以为仍是考到一个好的 985/211 院校提高本身的竞争力吧,非科班的我想要挤身进大厂,说实话我很没有信心。可是后来我偶然收到同伴给我发的一个阿里实习内推的连接,他叫 王家祺计算机科学与技术专业。当时我试着投了下简历,先是经过了初面,虽然只是一个初面,可是确实给了我很大的信心。以后我就开始花时间准备接下来的面试了。我想我能够花一个月的时间去沉淀我学习了一年的前端知识,去努力争取一个跻身进大厂的机会。而最后的结果相信你们也猜到了,那就是咱们俩一块儿经过了面试,加入了阿里同一个团队。前端

为何我不去考研?

相信不少人如今考研是由于以为毕业后本身找不到一个好工做,想要考到一个好的大学,提高本身的学历,为之后找到一个好工做打下基础。起初这也是我最真实的想法。那么问题来了,想要经过考研找到一个好的工做有必要吗?或者说考研对于找工做的意义大吗?vue

就好比说我吧,普通院校,非科班出身,想要从事互联网前端开发。咱们先来看看近几年全国报考考研的人数走向:html5

考研报名人数走向

由上图能够看出考研的人数逐年上升,其中也包括了不少二战甚至多战的考生。同时咱们知道 2020 年的考研人数更是达到了 340 万!,而又因为疫情缘由,对于 2021 考研的学子们更是一大难题。学校不开学,只能在家里学习,这个在家里学习呢,相信你们都明白。我也是在家复习过考研一段时间的,我的以为家里确实不是个很好学习的地方。每次我在认真的看网课学习的时候,家里的大人们聊天,小孩啊吵闹的声音确实让人很难静下心来。我身边很多小伙伴们也和我吐槽这个。确实因为疫情缘由,考研形式愈来愈严峻,不光是考研,高考也推迟了。jquery

那么咱们回到正题:考研真的对于找工做的意义很大吗?固然我这里说的是针对那些和我同样想找前端工做职位的同窗们。若是你真的想要从事互联网前端工做,那么我建议你能够试着去找找实习,而不是优先考研。固然你若是不是很想从事前端这块,而是真的很想去转计算机专业,多学一点计算机专业的知识,想要从事研究型的工做那你能够尝试考研。而对于我来讲,我很喜欢前端,想要多学习前端这块的知识,可是考研并无相关与前端这块的专业。那么我会想到去公司实习,去公司提高本身的价值,扩宽本身的知识面,让本身成就感 up up。webpack

因此我真心建议那些和我同样还在犹豫不知道是考研仍是找工做,真心喜欢互联网前端工做的同窗们尝试着找找实习,并不会耽误你太多时间。web

怎么准备前端面试?

若是你如今准备开始找前端实习的话那么面试是一个很重要的环节。接下里我会具体讲一下我在这一个月的时间里是怎么准备面试的。后面都是满满的干货,建议精读面试

在我面试的准备过程当中发现,面试无非就是这么如下四点:算法

一基础,二项目,三简历,四心态

1、基础

首先是基础,那么究竟是什么样的基础呢?小伙伴们能够参考如下我总结的几个要点(ps:并非很全面,可是颇有用):

前端面试

接下来我主要就是就以上几个大点作个说明:

  1. html:知道 html 的语义化标签,html5 新特性以及一些标签的做用。
  2. css:建议去过一遍《css 权威指南》,布局、定位、盒子模型是重点。
  3. js:这一块内容比较多。若是你 js 学的不怎么好,那么就要加把劲了。把基础、算法、数据结构这块搞懂,多去LeetCode上刷题。相关的应用如:防抖和节流、xmlhttprequest,js 动画这块。建议把《JavaScript 高级程序设计》精读一遍。
  4. 网络:网络这块我主要就是把《图解 http》看了一遍。若是心有余力的同窗能够去看一下《深刻浅出 https》,这块内容比较复杂,涉及到密码学,网络安全攻防这块。关于网络安全也是重点,特别是 xss,csrf,以及 sql 注入这块都是须要去深刻理解的,知道他们的原理,攻击做用以及如何防护。
  5. 框架:这一块也是重中之重,因为我本人的技术栈主要是 vue,因此我主要介绍我是怎么准备 vue 相关面试的。首先你要对 vue 的使用很是熟练,这个就体如今你平时作项目的过程当中了。一些基本的 api、mixin、插槽、组件传值、生命周期这些都是基础了,同时你也能够了解 vue3.0 的一些新特性:基于代理机制的观察者模式去监听属性等等。最重要的是:你得要去看看源码,知道 vue 的一些底层实现原理,这在面试过程当中是很是加分的,主要的能够去看看mvvm 实现的源码vue 实现响应式监听的源码以及vue-router 和 vuex 的源码
  6. 性能优化:这方面也是一个重头戏,我面试过的这几个公司里没有一个不考一下性能优化这块的。关于性能优化的话,主要就是这么几点:浏览器缓存,这是你必需要答到的!若是让你谈前端优化,缓存都不说,说明你项目经验不够,其余的什么预加载和懒加载,webworker 线程这些均可以了解一下。
  7. 工程化:主要是考 webpack 这块,plugin 和 babel 的使用,解决了什么问题。因为我本身写简历的时候只是说了了解过 webpack,因此面试官并无就这个深刻的追问。

若是各位小伙伴时间充沛的话能够去b 站找找视频看一看,固然若是你是土豪能够去慕课网看看,(ps:其实也能够去百度花钱买盗版的看)我这里推荐几位慕课上的老师:双越老师和 dell 老师,这两位老师讲课很是有深度,按部就班。特别是 Dell 老师每次课后都会说一句:“咱们一块儿加油吧!”。每次听到,本身心里都在说,加油加油加油!不是你一我的在战斗!哈哈哈哈心里戏有点足了我。

2、项目

第二个即是项目了,项目是你简历吸引面试官的一大亮点。这个其实也不是一个月就能作到那么好的,主要仍是靠日常作项目的积累起来的。可是这些项目必需要成为你的一个亮点,你就要知道你作的项目最好是要有实际应用价值的。不仅是你看了一些网上的实战课程动手去跟着作的这些什么后台管理系统,仿简书,仿去哪儿网,仿美团外卖啥的。这些都不是你的亮点,也不足以成为你的亮点。你的亮点是你作的这个项目是根据实际的需求作出来,你必须明白一点:一切项目都是由需求而生

正确的需求分析决定了产品的方向

——来自百度百科

我在大学期间前后作了那么几个项目虽然不是很大,可是有几个也是产生了至关不错的价值的。

  1. 走进林科大微信小程序:这个小程序算是我正式参与制做项目的第一个成品,如今由咱们 gis 协会的会长在维护这个微信小程序,(ps:不过最近他在努力准备考研,服务器那边出了点问题,之后要交由学弟管理了)。而我是协会的副会长,主要负责小程序的前端的制做。如今小程序的用户使用量达到了 191 位,主要是咱们学院的 19 级新生开学时使用过,咱们院是个小院,新生人数大概在 300 人左右。差很少有 2/3 的占比。

  2. 森林虚拟仿真防火教学平台:这个项目主要使用了 cesium 以及 jquery 制做的一个三维地球项目,主要功能是将处理后的遥感数据展现在三维地球上。如今挂在学院内网上,主要是供老师教学使用。

    Cesium 是一款面向三维地球和地图的,世界级的 JavaScript 开源产品。它提供了基于 JavaScript 语言的开发包,方便用户快速搭建一款零插件的虚拟地球 Web 应用,并在性能,精度,渲染质量以及多平台,易用性上都有高质量的保证。

    ——来自 CSDN

其他的好比说还有肺炎疫情分布图,我的资金管理。这些主要是因为我的的需求制做的。

3、简历

本身的简历要写的丰富一点,特别是对项目的描述。要写清楚本身担任的职位,项目的源码地址,若是是上线的项目能够写上线上地址,还有项目使用的技术栈、主要功能以及技术难点都要写清楚,这样面试官能够经过你的项目经历作一个初步的评估。因此项目经历越丰富越好,可是也不要什么项目都往简历上写。仍是像我说的那样,写有实际应用价值的项目

还有最最最最重要的一点:千万不要在简历上坑本身!在写本身的技能项时,了解,熟悉,熟练,精通要分的清。本身不会的技能项或者是只是听过这个东西有过一点点的了解,那就不要写到本身的简历上了。切记!

4、心态

保持一个良好的心态也是面试成功的一个关键,不能太过于紧张,固然像我这种第一次面试的确定会很紧张,不过随着面试的次数增多,面试的深度逐渐加深,我也渐渐的没有第一次面试时那么紧张了。可是适当的紧张仍是要有的,这可让你保持必定的清醒,大脑时刻运转。

若是你在面试过程当中由于一道面试题没有接触到答不上来,你能够先向面试官求助,让面试官给你一点提示。面试不像考试,考试你作得出来就作,作不出来那就没办法了,面试不一样,在你没有头绪的状况下,你能够请求面试官给点提示,提供一点思路。若是仍是答不上来,那么你就不要再纠结这个,选择虚心的像面试官请教。面试官会很是愿意给你解答这个问题。但假如你死磕这道题,面试官无疑以为你在硬撑着浪费时间,会给面试官留下很差的印象。因此千万不要这样作,学会有答必应,无答则问。

我是怎么学习前端的

前面说了那么多其实都是我本身在面试过程当中总结出来的,分享给你们就是不想大家也踩坑。那么接下来就说说我是怎么学习前端的,先放一张我学习前端到如今的路线图吧(将来一段时间在阿里可能会注重移动端的前端开发):

Eric的前端学习路线图

第一次接触前端是咱们协会的前任会长给咱们上课时,看着一些简单的 html 和 css 代码却实现出了一些漂亮的效果就以为很惊艳,也是第一次感触到了前端的魅力。因而我就开始走上了前端的道路。利用一切课余休闲时间以及寒暑假的时间自学前端知识。

起初我主要是经过在 b 站,慕课网上看视频学习前端。后来发现若是只经过看视频学习的话,容易遗漏一些知识点,因此我渐渐开始去网上找一些电子书来看(ps:电子书用 ipad 看方便一点,关键是免费哈哈哈哈)。这边能够推荐你们去看看这些书(ps:其中包括一些 webgl 的书,若是有兴趣的伙伴们能够去看看):

  • 《css 权威指南》
  • 《JavaScript 高级程序设计》
  • 《JavaScript 权威指南》
  • 《你不知道的 JavaScript》上、中、下,很厚的一本书,讲的很是细,建议能够挑着看。
  • 《图解 http》
  • 《WebGL 编程指南》

上面这些书小伙伴们均可以去拜读一下,固然《WebGL 编程指南》这本书若是有兴趣的也能够去了解一下,主要是我如今在读这本书以为还不错就推荐给大家。

其实我相信不少和我同样非科班的小伙伴们自学前端的时候,都会有一个疑问,那就是:我如今专业课程都那么多了,专业课都学不过来,我本身自学前端还那么吃力,那我学了前端到底有没有用呢?

我曾经也有过这样的疑问,我当时一度陷入瓶颈,自我怀疑,不自信,以为本身学了那么多东西到底有没有用啊。就算我那么喜欢前端,可是我也不由自问:我学这些我之后能找到工做吗?能找到一个好工做吗?毕竟面临毕业,要面对的是本身的生存问题。我真的还能这么笃定的坚持不懈的去作本身喜欢的事情吗?

解答这些问题以前,我想先送给各位一句话:

时间能够证实一切,你所坚决不移的,在将来的某一天终将会毫无保留的回馈给你

我记得我当时和个人老师说过个人这些疑问,我老师回复我说:“不要把时间浪费在纠结上”。是啊,我为何要把时间浪费在自个人纠结中,我有这些时间我不知道我多学点知识吗?为何要浪费时间!时间是挤出来的,就算专业课程多,我总仍是有休闲的时间,那么我就能够抓住这些零散的时间去学习我喜欢的东西。

渐渐的我走出了这个死胡同,同时在学院的一次项目经历中我找到了属于我本身的方向,第一次我将我自学的前端知识与个人专业——地理信息科学相结合,走向WebGL 编程

WebGL,是一项用来在网页上绘制和渲染复杂三维图形(3D 图形),并容许用户与之进行交互的技术。该技术结合了 HTML5 和 JavaScript,容许开发者在网页上建立和渲染三维图形

——来自《WebGL 编程指南》

在 WebGL 中我将地理数据做为数据源,在前端进行可视化处理。第一次的专业知识与本身自学的前端知识相结合,让我感到了满满的成就感。

因此在这里我想告诉和我同样是非科班自学前端的小伙伴们,不要质疑本身,勇敢地作本身喜欢的事情,而且坚决不移地走下去,终有一天你会找到属于本身的方向(如今的前端和之前不同了,前端的方向太多了真的)。若是你和我同样不知道是考研仍是找工做,犹豫不决的时候,我但愿你也能够腾出一点时间去面试一下,去争取一下。其实如今并非说什么大厂非要 985/211 不可,大厂注重的仍是我的实力和经历。

结语

最后我要特别感谢个人一位校友兄弟 王家祺,起初要不是由于他我到如今应该还在复习考研吧哈哈哈哈。关键我当时也是考研实习之间纠结,他就叫我去试一试,结果咱哥俩就一块儿进阿里了,莫名的缘分呀哎。还有还有就是全世界最好的元泉师兄,在阿里的这一系列的面试流程中,师兄真的帮了咱们好多忙,真的太感谢元泉师兄了!还有个人室友罗振华,他如今是在字节跳动作产品经理呢,他也给了我好多的经验,让我不要踩哪些坑呀哈哈哈哈。固然还有前端将来之星群里面的各位大佬们解答我心里的疑惑。总之就是很是感谢我身边的人对个人帮助与鼓励,谢谢大家!

若是你也想加入东半球实力最强的前端团队,能够加我阿里师兄的微信:wuxiaorui86,我和 @17 级计科 2 班王家祺 同窗两我的就是在师兄的帮助下走到最后的!若是已经有幸加入了东半球实力最强的前端团队,师兄还会辅导你的转正答辩,转正率几乎 100%

若是你也想跟我同样进入阿里这样的大厂,欢迎关注咱们的公众号:Hello FE,咱们会按期在公众号发一些本身的学习心得~

公众号

除了个人这篇文章,个人同门师兄弟也作了总结,面向科班的同窗:

相关文章
相关标签/搜索