收割三家大厂offer,从零自学CS她是如何做到的?

December 18, 2020
CS导师:从零自学CS突破重围
同学们好,这次来到这个平台主要想和同学们分享一些关于转专业求职,关于从零开始自学CS求职的故事。2020年,我相信不少找工作的同学们都相对比较艰难一些,无论是身心健康还是政治因素等等都影响着我们的求职进程。根据我自己一些求职历程,于此分享一些我的亲身经历给到同学们,希望在未来能帮助到同学们。

我的求职历程大概括总结来说,一是由商转工;二是自学CS拿大厂offer。

具体来说我是在大学从商科转到电子工程,两年完成电子工程专业学科,毕业后在motorola solutions 任system engineer, 但不涉及编程,后来决定转码,所以18年开始攻读计算机工程硕士学位做为跳板,19年2月开始自学编程,自己刷题,并在cadence 做了 summer sde intern, google fall sde intern。并顺利拿到microsoft, amazon, google 全职offer。

目前在Google核心广告组 ads targeting 做 面向广告商的keyword optimization, keyword targeting,并负责基础设施,架构优化。

今天主要和大家分享关于“从零开始自学CS拿大厂offer”这一点上我的一些所见所感,我相信很多不太了解的同学们对CS也好对大厂也好多多少少都有些误解。

首先我们不要觉得只有名校科班出身,或者一定要刷够五六百道题,才能有去大厂工作的机会。这里我讲一些身边的例子,跟我同期入职google的有一位以前在监狱服刑的小哥,他是在监狱里自学了计算机知识,后来出狱之后拿到了google offer,入职时就坐在我旁边。身边也有刷了四五百道题面试fail的同学,还有刷了仅仅不到一百道题就拿到offer的朋友。而我本身也并非出身cs名校,之前也没有cs经验,纯粹靠自己刷题自学,还是收到了多家大厂的面试邀请以及offer。我认为最好的心理预期就是没有预期,不要给自己设限。

以下我列举了需要准备的几个方面,在全力准备的同时,我们也要知道,即使我们没有充足的时间准备到百分之百,通过mock interviews训练出临场应变能力,也能拿到offer的机会。

这里关于如何准备mock interview的一些细节内容我也非常欢迎同学们如果有兴趣可以通过蔓藤教育的平台找到我。

1.           熟悉至少一门编程语言,这里对转专业对同学来说,我强烈推荐用python上手和刷题。python的优点是上手快,简单易懂,大量的语法糖在刷题时能让我们花最简洁的语句去描述逻辑,这样我们能有更多时间专注于算法和逻辑本身。

2.           熟悉掌握基础数据结构和算法。

3.           有技巧的针对性刷题

4.           把简历打造成“大厂喜欢的样子”,内推或海投

5.           搜集面经 准备各厂的oa, 电面,现场面试

就如我之前所提到的,监狱服过刑的小哥都能进入大厂工作,大厂不会对你是哪里人你是之前做过什么而有偏见或偏好,关键是你的能力和技术。

什么样的人就算CS零基础但也能突破重围进入大厂?

执行力强,目标明确,有一定数学逻辑功底的人;

OR 对自己现在收入不满意,对大厂的工资,福利,较为自由的上班时间有憧憬的人。

向上滑动阅览2021年 最新蔓藤教育内推岗位

添加客服Mentorx1221进行咨询~

大家都知道大厂求职一定要刷题,要会一门编程语言和基础数据结构/算法。如果作为一个门外汉怎么去获取这些知识内容?从最容易的出发,同学们可以上网搜索就能轻松获得的:leetcode forum;reddit 等一些耳熟能详的网站。同时,别忘了Linkedin的作用。在Linkedin上找到自己在大厂工作的前辈礼貌的发送私信咨询,从我现在作为一个前辈的心理出发如果有学生问到我这,将心比心我会非常愿意帮助这个学生希望他能获得机会。所以不要多虑,有礼貌得发问并且怀着一颗感谢之心,你会收获到你想要的答案的。

再来和同学们说说耳熟能详的“刷题”。首先我们要了解需要掌握哪些题目的类型,然后按照leetcode的tag逐个攻破。

比如我们可以花一周时间专攻dp,下一周专攻binary search,集中理解同一类型的题目能帮助我们融会贯通,举一反三。

其次做完一个题,我们可以做同系列的题来即时的巩固。

理解解法的时候我们不能光注意到这个题的解法,而是这道题的解法和同类型的题目的解法有没有通用的内在逻辑,即时归纳记好笔记。

第一遍做题时,不用太过纠结是否要自己解出答案,那样会花太多时间,并且很容易灰心。

我的做法是给自己五分钟,五分钟如果想不出解法时就会立刻去学习答案。

事实上我连python都是边看leetcode答案边学的,学习答案是第一遍刷题掌握的最快方式。

再第一遍理解之后,我们需要反复回顾,反复熟悉之前做过的题。最简单的two sum我一年之内前前后后做了十几遍,当你把你类题烂熟于心,遇到没见过的题目才有举一反三的能力。

刷题很苦,特别对于我这个自学的来说,要努力到什么程度才算可以?我在刷题的时候通常会每天起床就去都在图书馆,一直到晚上回家。有一次在图书馆睡着了,突然被人叫起来,抬头一看灯全关了,原来图书馆已经闭馆,大家都走了,只剩工作人员来提醒我回家。

从零开始刷题必定是非常辛苦的,而且我不是名校,也不是cs专业,但事实证明这些都不是决定性因素。决定性因素在于自己的主观能动性,愿不愿意为了offer想所有的办法。