(修订)斩获阿里云offer的前端大神的校招经验分享

前言

看到这篇文章,有些朋友心里会有疑问,公号不是java的嘛,怎么分享前端的学习经验了?主要有以下几点原因:

  • 多位公众号粉丝的提出的要求,对于大家提的要求会尽力满足

  • 对于java/C++/前端,除了语言的不同外,其它面试考察的知识,比如计算机网络/操作系统等这些内容具有共通性,其它方向的学习干货对于java学习同样具有参考价值。

零.offer

阿里云-前端开发工程师

一.学习经验分享

1.1 为什么选择了这个方向?

机缘巧合开始做web开发,最后发现是兴趣所在。

1.2 具体是如何学习的?

学习的过程那就根据时间来吧~

第一阶段 大二暑假7月8月和9月 前端基础

  • 这一阶段是我觉得我前端学习过程中最重要的一段时间,到现在还在从中受益。

  • 牛客网HTML/CSS和JS两个专题反复刷,每个题必定做到知其然还知其所以然(给牛客的错题组卷功能一个五星好评)

  • 菜鸟教程的HTML,HTML5,CSS,CSS3这4个专题全部过了一遍,常用的能做到不看文档就写出来

  • JS的基础知识我不看网上的资料,通过看《JavaScript高级程序设计》即著名的红宝书来学习,我之前做项目已经写了很长一段时间JS,但是知识点都是散的,通过看红宝书系统的学习把知识点串联了起来。(当然红宝书并没有看完,而且看的时候也跳了很多,很多知识直接看是看不懂的,很多我都是后来回来看才看懂的)

  • Node.js的学习:跟着一本书来的,书名忘了,直接上手框架的应用,跟着写了一个nodejs的后台管理系统demo,因为有之前JAVA写后台的基础和前端js语言的熟悉,所以这个过程并不是特别难,就是熟悉框架express的使用

  • 前端框架React的学习:书名《深入React技术栈》这本书现在来看也是非常老了,尤其应用方面和代码实现方面,但是前2章对React的基础知识和概念以及后面Flux和Redux的概念讲解我个人觉得非常好,非常有助于新手入门。

第二阶段 10-12月 实践&广度

  • 这一阶段的学习最主要是两个:实践和广度。

  • 10月我进入成都知道创宇开始实习,在一个大数据部门的前端可视化小组,小组技术栈是React.js+Hapi.js的js全栈。实践自然就是实际的代码编写能力了,这个就是参与到公司实际的项目里,多写多思考就会慢慢提高了。

  • 广度主要是前端领域发展很快,有很多新东西,刚入门有很多需要学习和了解的,这个的具体做法有:

  • 知乎:虽然现在知乎装逼气息太浓对新人不太友好,但是多看看大佬的回答总是能有收货的,至少能了解很多东西

  • 看书:JS看了《你不知道的JavaScript》系列,node看了《深入浅出nodejs》

第三阶段 1月2月 计算机基础

这一阶段主要是计算机的基础(算法/计算机网络/数据库/操作系统),因为要准备春招了。

  • 主要有:

  • 回顾暑假学习的基础知识

  • 算法:刷《剑指offer》

  • 计网:这方面前端岗比较偏http,所以重点看了http,《http权威指南》没看完,太多了

  • 数据库:刚好大三上那个学期有数据库课,所以知识点学习的很系统,就是额外看了一下B树,B+树,红黑树相关(这些现在都忘完了……)

  • 操作系统:重点看了进程线程一块

第四阶段 3月4月 面试

  • 这阶段就是刷面经……

第五阶段 5月6月7月8月 深度

  • 这阶段已经去阿里实习了,自己学习的时间比较少,空闲时间就是进行知识点的深入以及回顾

1.3遇到困难时,如何解决?

  • 第一阶段刷基础的时候基本任何问题都能在网上找到答案

  • 第二阶段之后在创宇实习之后,就主要是leader,同事和网络了

1.4书籍/项目

看过的书籍:

  • 《深入React技术栈》

  • 《深入浅出nodejs》

  • 《Node.js实战》

  • 《http权威指南》(没看完)

  • 《JavaScript高级程序设计》

  • 《JavaScript权威指南》(这个当然没看完……那么厚)

  • 《你不知道的JavaSctipt》

  • 《JavaScript函数式编程》

  • 《高性能JavaScript》

  • 《HTML5与CSS3基础教程》

  • 《深入浅出Mysql》(没看完)

  • 《深入剖析nginx》(没看完)

  • 《剑指offer》

学过的课程:

做过的项目:

  • 只列前端相关以及春招之前的:

  • 刚开始的:基于nodejs爬虫的信息汇总平台

  • 在实习时做的项目:

  • 周报系统

  • 统一登录与权限配置系统

  • 大数据可视化相关的

  • 校内的一个项目:物联网数据监控管理系统

对零基础入门的学弟学妹们说一句话:基础很很很很很重要!

二.前端岗位春招总结

准备

准备的有以下几个方面:

2.1基础

  • 牛客网上刷html/css,javascript两个专题

  • 收集当时讨论区的各种面经,一条一条的看,不会的就去学

  • 阅读经典书籍:<你不知道的javascript>,<深入浅出nodejs>等

  • 公众号文章:推荐公众号见文章末尾

2.2项目

  • 提前实习:10月进入一家小有名气的互联网公司实习

  • 学校里的项目尽量用全新的技术栈去实现

受学长简历的影响,我从大二暑假就开始思考,简历上应该要写什么项目上去合适,应该写到什么程度,写上去的东西里面有自己不熟悉的吗,每个东西都去深入了解过了吗,所以后来春招没有遭遇过简历挂

2.3学习

其实我在17年之前都是在做java web相关的,web前端这一块的开发甚至还停留在jQuery+bootstrap,甚至还在前端js里面最原始的手段拼接过html字符串,也是在17年上半年在一个小公司实习的时候,逐渐转型做现代前端开发

下面我简单的写下我自己认为现在前端所应该具备的知识,也是我个人的相关学习经历,仅仅是我个人之见,如有异议还请见谅

我的前端技术栈是React技术栈,React的学习主要是以下几个方面:

  • 入门:陈屹的<深入React技术栈>

  • React深入:项目问题的解决及社区各种文章

  • Redux入门:dva.js

  • Redux深入:Redux官方文档

面试中问到React相关的,大的方面大概有以下几个:

  • React生命周期及其相关钩子函数

  • React v16新特性

  • React diff fiber

  • React与其他库的结合(实际场景实际分析)

  • React性能优化

  • React ssr

  • Redux设计原则与flux架构

  • React与Redux源码相关

  • React与其他框架的对比

也用过vue,但是项目里深入的不够,面试的时候就说了vue不是很熟,所以遇到的问题不是很深入,学习的话基本上就是官方文档,相关的问题如下:

  • -vue双向绑定原理与源码

  • vuex和redux的异同

  • vue diff和react diff异同

  • vue生命周期及其相关钩子函数

从react和vue这两个现在主流的框架的相关问题可以看出,在面试时关于框架的问题一般都会涉及到底层实现和生命周期,状态管理等,所以一定要多看官方文档,千万千万不要出现只是用过就写在了简历上的情况,那样会彻底凉掉的

原生js的学习的话,主要是:

  • 多看书!<你不知道的javascript>

    <- 必看
  • es6: 阮一峰老师的开源书籍:ECMAScript 6 入门 (现在里面的内容还有es6后面的内容,公众号后台回复 感谢邱神  获取书籍网址)

  • 深入理解js异步

  • Promise机制

  • async await

  • 事件循环

  • 宏任务微任务

  • ..

html/css的学习,主要就是w3c的教程配合刷题,这个方面需要多花时间去记,如果有时间,可以自己去实现一些精美的效果那更好

接下来就是nodejs即后端,我身边很多前端er觉得nodejs是后端的,不需要学习也不需要接触,殊不知,现代前端其实就是JS工程师,所有能用JS做到的事都应该去尝试与学习,更别说现在前端这个大环境,JS全栈是有很大的优势的

学习的话,主要以下几个方面:

  • 朴灵老师的<深入浅出nodejs> <- 必看

    • 特点与I/O密集

    • v8内存管理(新生代老生代算法 内存限制)

    • Libuv

    • 进程管理: cluster和pm2

  • 框架: express和koa

  • 框架深入: koa源码,很值得学习

  • 数据库:MongoDB/Redis的应用及简单深入

既然说到了后端,那不可避免就要说到架构相关:

  • Nginx配置与特点

  • Rest架构与新的Graphql

  • 应用部署Docker

可视化这一块,其实水很水,面试的时候只要不说是专门搞可视化的话,基本上也就停留在canvas和svg以及库的使用上,写写与js相关的东西

  • Canvas和SVG

  • D3.js

  • Echarts与G2,G6

  • Zrender

  • webgl

最后,最重要的我一直没有说,那就是计算机的基础,尤其<计算机网络>,<操作系统>,<数据结构与算法>这三大部分,相当重要!相当重要!相当重要!

三.面经

限于文章篇幅,公众号后台回复 感谢邱神 获取面经

四.实习体会分享

  • 个人介绍:昵称:seekhow

  • 专业:计算机类物联网方向

  • 实习公司:阿里巴巴-阿里云

  • 实习岗位:前端

  • 公司部门业务介绍:平台研发部

  • 技术栈介绍:React+Vue,Node+go,Weex+RN

  • 能否转正:能

  • 实习待遇:200+餐补+房补

  • 公司大致性别比例:不太清楚,反正男多女少,不过比例也不是很悬殊

  • 发展前景:好,具体就不细说了

  • 实习体会:

  1. 实习了2个月了,快到转正的时候了,最近又在准备秋招,有点压力

  2. 技术氛围极好,从集团,到公司,到部门,再到小组,最后到个人,都有技术学习分享

  3. 整个部门现在就我一个实习生,组里其他人非常nice,感觉转正没什么问题,希望不是毒奶

  4. 入职第一周2天熟悉了小组技术栈,然后用一周半的时间快速独立完成了一个模块的前后端开发,入职之后的适应速度很重要

  5. 一个半月的时间被拉进了一个紧急项目组进行紧急开发,时间非常赶(留给开发的时间不到1个月),任务非常重(很被重视的项目,有多被重视,要给阿里云大BOSS演示。。),反正有一天直接没回去躺公司里睡了,实习建议还是租房近一点,贵一点无所谓,主要是回去方便,实习生本来时间就很紧,再交通耽误一下,还学个啥…

  6. 主动性很重要。不要等着被安排任务,要自己超前完成任务,主动询问下一步安排或把做过的做的更好。实习就该如此。

  7. 和身边的人至少要和小组的人打好关系。最好了解他们的学校情况,校招还是社招进来的,以前在哪里读书或者在哪里工作,什么时候进来的,做过哪些项目,擅长哪些,不是刻意去查户口,而是看看可以从他们的历程里面学到些什么,对自己的实习和转正有什么帮助

  8. 然后肯定有人要问实习和秋招准备冲突怎么办?!凉拌,我现在也烦恼这个问题,感觉秋招凉了啊,水平还不如过年的时候

五.资源分享

分享两个我自己找工作期间经常看到公众号以及加入的前端交流群(公众号后台回复 感谢邱神 获取)

End

关于本号

作者乔戈里亲历2019秋招,哈工大计算机本硕,百度java工程师,欢迎大家关注我的微信公众号:程序员乔戈里,公众号有3T编程资源,以及我和我朋友(百度C++工程师)在秋招期间整理的近200M的面试必考的java与C++面经,并有每天一道leetcode打卡群与技术交流群,欢迎关注。

(修订)斩获阿里云offer的前端大神的校招经验分享_第1张图片

3T编程资料等你来拿


等等,先别走![程序员乔戈里]公众号又有活动了!参与活动,不仅可以培养自己良好的习惯,还能拿到“现金红包与书籍奖励”,动作要快,姿势要帅!

戳我看详情

(修订)斩获阿里云offer的前端大神的校招经验分享_第2张图片

640?

今日问题:

(辣条走起)对前端你想说些什么?

留言格式:

打卡xx天,答:xxx

你可能感兴趣的:((修订)斩获阿里云offer的前端大神的校招经验分享)