我的求职历程大概括总结来说,一是由商转工;二是自学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也好对大厂也好多多少少都有些误解。
以下我列举了需要准备的几个方面,在全力准备的同时,我们也要知道,即使我们没有充足的时间准备到百分之百,通过mock interviews训练出临场应变能力,也能拿到offer的机会。
这里关于如何准备mock interview的一些细节内容我也非常欢迎同学们如果有兴趣可以通过蔓藤教育的平台找到我。
1. 熟悉至少一门编程语言,这里对转专业对同学来说,我强烈推荐用python上手和刷题。python的优点是上手快,简单易懂,大量的语法糖在刷题时能让我们花最简洁的语句去描述逻辑,这样我们能有更多时间专注于算法和逻辑本身。
2. 熟悉掌握基础数据结构和算法。
3. 有技巧的针对性刷题
4. 把简历打造成“大厂喜欢的样子”,内推或海投
5. 搜集面经 准备各厂的oa, 电面,现场面试
就如我之前所提到的,监狱服过刑的小哥都能进入大厂工作,大厂不会对你是哪里人你是之前做过什么而有偏见或偏好,关键是你的能力和技术。
什么样的人就算CS零基础但也能突破重围进入大厂?
执行力强,目标明确,有一定数学逻辑功底的人;
OR 对自己现在收入不满意,对大厂的工资,福利,较为自由的上班时间有憧憬的人。
添加客服Mentorx1221进行咨询~
再来和同学们说说耳熟能详的“刷题”。首先我们要了解需要掌握哪些题目的类型,然后按照leetcode的tag逐个攻破。
比如我们可以花一周时间专攻dp,下一周专攻binary search,集中理解同一类型的题目能帮助我们融会贯通,举一反三。
其次做完一个题,我们可以做同系列的题来即时的巩固。
理解解法的时候我们不能光注意到这个题的解法,而是这道题的解法和同类型的题目的解法有没有通用的内在逻辑,即时归纳记好笔记。
第一遍做题时,不用太过纠结是否要自己解出答案,那样会花太多时间,并且很容易灰心。
我的做法是给自己五分钟,五分钟如果想不出解法时就会立刻去学习答案。
事实上我连python都是边看leetcode答案边学的,学习答案是第一遍刷题掌握的最快方式。
再第一遍理解之后,我们需要反复回顾,反复熟悉之前做过的题。最简单的two sum我一年之内前前后后做了十几遍,当你把你类题烂熟于心,遇到没见过的题目才有举一反三的能力。
刷题很苦,特别对于我这个自学的来说,要努力到什么程度才算可以?我在刷题的时候通常会每天起床就去都在图书馆,一直到晚上回家。有一次在图书馆睡着了,突然被人叫起来,抬头一看灯全关了,原来图书馆已经闭馆,大家都走了,只剩工作人员来提醒我回家。
从零开始刷题必定是非常辛苦的,而且我不是名校,也不是cs专业,但事实证明这些都不是决定性因素。决定性因素在于自己的主观能动性,愿不愿意为了offer想所有的办法。