裸辞两个月,海投一个月,从Android转战Web前端,一举拿下京东offer

前言

看到这个标题的童鞋,可能会产生两种想法:

  • 想法一:这篇文章是标题党

  • 想法二:Android开发越来越不景气了吗?前端越来越火了吗?

我一向不喜欢标题党,标题中的内容是我的亲身经历。我是2019年6月份毕业,第一份工作是做Android开发。2020年7月初,我辞掉了工作,从零开始,在家自学了两个月的Web前端开发,9月份开始找Web前端的工作,9月底找到工作。

Android开发并非不景气,如今,手机人手一部,肯定是需要APP开发,但是APP开发的热潮已经过去,现在缺的不是初级人员,而是中级、高级、专家。

在互联网的下半场,想要通过开发出一个APP就去创业,几乎不可能,难的不是开发成本,而是运营成本。

我从Android开发转Web前端开发,没有别的原因,纯粹只是因为兴趣。你所见到的网站开发、手机网页开发、朋友圈里的H5活动页、小程序开发、公众号开发等,它们都是属于Web前端开发的范畴。

关于裸辞

有句话说得好:“裸辞穷半年”。

如果你没有找好下家,不到万不得已,千万不要裸辞,这是我给你的良心建议。我们先来分析一下原因。

假设你刚毕业一两年,如果裸辞,你可能面临的问题有:

  • 支付宝里的存款并不多,工作还没找好,说不定就已经把钱花完了,下个月的房租可能没有着落。

  • 如果你是单身,那就是孤军奋战。就算自制力再强,在家待久了,很容易变得颓废和堕落,进而自暴自弃。你甚至会觉得,外面的世界与你无关,进而有逃离北上广深的冲动。

  • 如果你有对象,因为你没有收入,你会很容易被对象嫌弃。可能她一开始会支持你的理想。但久而久之,两人之间一定会产生很多问题和矛盾,这是一定的。

假设你已经有了家室,裸辞的压力应该更大吧,过来人可以谈谈感受。

当然,以上所描述的情形,是在默认你具备极强的自制力的前提下。很多人在毕业之后会变得很懒散,如果你没有自制力,就更加免谈了。

既然如此,我为什么要裸辞呢?

首先,我已经非常确定以后要做Web前端开发,但我对这方面的知识几乎没有任何基础和经验,如果我直接去找相关的工作,显然是不可能找到的。所以,在找工作之前,我需要先自学一段时间。

有人可能会会认为:“不都是程序员吗?Android开发和Web前端开发的区别有这么大吗?”那我给你类比一下,医院挂号也分不同的科室,外科医生转去做内科医生,自然没有那么容易。同样,符合全栈工程师的特质的人,自然也是少数。

我尝试过利用下班后的晚上时间和周末时间来学习,但是发现,就算不加班,可利用的时间也非常少:社交、锻炼、聚餐、睡懒觉、偶尔做做饭、单身的人想要找个对象、有对象的人周末要出去浪……

时间是我们最坦诚的朋友,但我们最大的敌人就是时间不够。

所以,为了能够让自己有充足的时间集中进行系统性地学习,唯有裸辞。都说「金九银十」是社招找工作的黄金时期,于是,我就计划着在7月初离职,学习两个月,9月份刚好找工作。实际上,我也是按照这样的计划执行的。

在此,我给大家提一个建议:要转型,就趁早。如果没有把握好「金九银十」的大好机会,可能要再等一年。

当然,也有人会说,工作随时都能找,不分淡季和旺季。但这只是针对有实力的人说的。

风险与退路

如果你的工作是下面这些情形:

  • 在一家公司工作,看不到未来的前景,但目前的工作还基本能胜任

  • 工资不高,但也能维持着过日子,只是没有存款

  • 待了两年,工资只涨了一千多。这种涨幅并不高,只是和通货膨胀、物价上涨保持平衡而已。

  • 也想过要跳槽,但是翅膀还不够硬,能往哪里飞呢?

这个时候,你是时候要考虑转型了。当然,跳槽也许还有其他的原因,但单从个人的薪水和前景来看,以上这些,就已然可以成为跳槽的理由了。

还有一种人的选择是:“就算我现在的工作不够理想,但也不算太差,我可以继续待着,我可以不做选择。”是的,你当然可以让一切保持原状。但是,你就不要一边指望着发家致富、财务自由,一边还待在原地不动。

做任何决定都是有风险的,但是没有风险哪来的回报。

付出本身就是一种风险。举个例子,考研可能会失败,也失去了找工作的最佳时机,但如果一边找工作一边考研,基本是两边都得不到好处。此时唯有坚定的选择其中一条路,不能给自己留退路。

说到这里,我给出的建议是:如果一直躲在舒适区,最终一定会进入恐慌区

裸辞的这两个月

如果让我每天在家学习八小时,持续两三个月,这是没有任何问题的,这点自制力我还是有的。只是,自从毕业后,任何人就再也不会有纯粹的学习环境。因为可能有经济的压力、内心的隐忍、未来的不确定,当然还可能要面临其他人的情绪等。

裸辞的这两个月,有两个问题要面对:一方面是,越学越觉得时间不够用,因为不会的东西实在是太多;另一方面是心理和经济上的压力。

现在想想,其实永远都没有准备好的时候。最好的办法是:尽早去参加面试,把每次面试碰到的问题都记录整理下来,碰壁越多,进步越快。别的领域我不清楚,单看Web前端这个领域,面试官提的问题,重复率非常非常高。

找工作的这一个月

海投的这个月,感慨颇多。说一下我的大致经历,坐标深圳。

社招里,“没有前端经验”这几个字,就基本可以被大部分公司鄙视掉了,公司招没有经验的应届生就可以了。

9月中旬,同时内推到BAT。过了两个工作日,腾讯通知我即将进入面试安排阶段,结果一直没有消息。或许这家企业在成为最受尊敬的公司之前,要先成为最让人惦记的公司。

内推到阿里和百度时,简历很快被刷,也是意料之中。

内推到今日头条,简历倒是通过了。可第一轮的笔试题,大部分都不会。但也算是自己参加的第一次面试了。

内推到oppo,官方说三个工作日内给回复,结果等了一周也没消息。让同学主动去问的时候,才知道是简历没通过。

内推到微众银行,收到我简历的人应该是个leader,他叫来一位前端工程师安排我一面,面试官出了十道JavaScript相关的题目,我可能只对了一半。leader倒是对我没放弃,问了我一些基本情况,然后说:“下周我会给你安排二面,你好好准备。”结果等了十几天也没消息,但我也不能惦记(两周之后,微众联系了我,但此时我已经找到工作了)。

内推了这么多,都以失败告终,我决定在拉钩、boss直聘、51job上海投。海投了无数个,基本被拒绝。

海投期间,我面了两家:平安银行和招商银行,但是没有通过。另外还有一家公司邀请我面试,等我到面试现场,要求先做逻辑推理题,我一看到题目,毫无犹豫地走人了。因为做这种题目简直浪费青春,我截取其中一道题,你们感受一下:

海投的时候,我把100人以下的公司都过滤掉了,可能是不小心手抖了,投递了一家小的创业公司(员工规模在30人左右)。一面是电话形式的技术面试,聊了一个小时,感觉甚是投缘;二面是直接和CEO对话。最终拿到了offer,薪资也达到了预期。我和对方商量好了入职时间,我仿佛感觉到“在创业公司很锻炼人,综合能力会得到充分地体现”这句话能够在我身上得到充分地体现。出乎意料的是,我在入职的前一天晚上把offer给拒了,具体原因我就不说了,只是不想去而已。

是的,在没有任何其他offer的情况下,我拒绝了这家公司。这时候已经9月底了。

我甚至想过最坏的打算:如果实在找不到工作,我可能会尝试做自媒体,虽然这条路也不好走。

与此同时,我尝试内推到了京东。只需一个下午的时间,我就依次经历了京东的技术笔试和三轮面试(技术面、boss面、hr面)。三面时,hr说会在下周一给我通知。结果,下周一没等到hr的通知,却又接到京东的一轮电话形式的技术面试。经过整整一周的苦苦等待,终于在9月底收到了JD的正式offer。

在此给大家提个两个小建议:

  • 1、找工作尽量走内推渠道,会是一种更好的选择。最大的好处是,hr可以把你的简历在人群中多看一眼。

  • 2、技术笔试和技术面试时,重复率非常高,所以每次面试之后,一定要把问题记录和整理下来,一定。

每个面试官都会问我:“你为什么从Android转型到前端?”最开始的几次面试,我的回答只有四个字:“因为兴趣”。但是后来发现,这种回答似乎无法打动别人。于是想了一个答案,每次面试,我都是这么回答的。答案如下:

首先是出于对前端的热爱,所以才下了坚定的决心;其次,前端开发和Android开发都是属于大前端领域,二者有很多相通的地方,我在掌握前端的过程中,上手相对顺利;再次,在具备其他技术知识的前提下,去做前端开发,或许可以更好地从全局的角度思考问题。

整体来看,9月份这一整个月,找工作的机会都是非常大的,大家不用担心。至于10月份情况如何,我还没有经历过。

新手如何学习前端

新手该如何学习前端呢?新手入门前端,需要学习的基础内容有很多,如下。

一、HTML、CSS基础、JavaScript语法基础。学完基础后,可以仿照电商网站(例如京东、小米)做首页的布局。

二、JavaScript语法进阶。包括:作用域和闭包、this和对象原型等。相信我,JS语法,永远是面试中最重要的部分。

三、jQuery、Ajax等。

四、ES6语法。这部分属于JS新增的语法,面试必问。其中,关于promise、async等内容要尤其关注。五、HTML5和CSS3。要熟悉其中的新特性。

六、canvas。面试时,有的公司不一定会问canvas,靠运气。如果时间不够,这部分的内容可以先不学。但如果你会,绝对属于加分项。

七、移动Web开发、Bootstrap等。要注意移动开发中的适配和兼容性问题。

八、前端框架:Vue.js和React。这两个框架至少要会一个。入门时,建议先学Vue.js,上手相对容易。但无论如何,同时掌握 Vue 和 React 才是合格的前端同学。

九、Node.js。属于加分项,如果时间不够,可以先不学,但至少要知道 node 环境的配置。

十、自动化工具:构建工具 Webpack、构建工具 gulp、CSS 预处理器 Sass 等。注意,Sass 比 Less 用得多,gulp 比 grunt 用得多。

十一、前端综合:HTTP协议、跨域通信、安全问题(CSRF、XSS)、浏览器渲染机制、异步和单线程、页面性能优化、防抖动(Debouncing)和节流阀(Throtting)、lazyload、前端错误监控、虚拟DOM等。

十二、编辑器相关。Sublime Text 是每个学前端的人都要用到的编辑器。另外,前端常见的IDE有两个:WebStorm 和 Visual Studio Code。WebStorm什么都好,可就是太卡顿;VS Code就相对轻量很多。

个人总结一下:新手一般用 WebStorm,入门之后,用 VS Code 的人更多。

如何准备面试呢?

我只说一点,一定要多刷题,刷题,刷题,重要的事情说三遍,我在头条面试没过后就开始刷题,把大厂近几年的前端面试题刷了个遍,因为基础的技术点以及原理问题真的很重要,基本上都会问到,而大厂又是互联网公司的风向标。

最近我把之前刷过的面试题做了一个整理,居然接近300页了,都是被我一道一道啃完才拿到京东offer的呀,现在分享给大家,算是一个感恩回馈吧。

如果你需要这份完整版的面试题+解析,【点击我】就可以了。

篇幅有限,仅展示部分内容

篇幅有限,仅展示部分内容

篇幅有限,仅展示部分内容

最后一段

最后有一句话与大家共勉:

如果你有什么区别于他人的,那就是对自己的追求契而不舍的精神。坚持下去,总有一款适合你。

【点击我】无偿获取这份面试题+解析PDF。

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):