注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
第一次发帖,求大米,求轻喷。。。
关于背景
本科学商科,毕业工作三年,主要做会计方向的研究和一些数据分析,上岸USC Analytics专业,入学第一学期(2021.10)转码,第二学期(2022.04)找到summer实习,目前打算冲刺秋招
为什么转码
其实来美国之前对于CS, Leetcode啥也不知道,来了之后惊觉转码风气甚浓,真的是三百六十行,行行都转码。
转码的契机其实是处于无奈,第一学期海投了一波数据岗的实习,几乎全是据信,很打击信心;加之室友转码,想着那就跟她和一块学吧,女性码农这不是还有些优势嘛。
转码学习路线
我以为的转码 = leetcode 200+,但随着学习的深入,发现码农需要学习的内容很多,我主要围绕:打基础,刷算法,实践 这三个方向来准备。.1point3acres
1. 打基础
(1)上网课。哪家就不说了。但是系统地学了数据结构、主要的算法和一些java语言知识。算是建立起了对coding的基本认识。
(2)CS 算法课。我们专业其实选课自由度不高,我把仅剩的一门选修课留给了USC大名鼎鼎的CSCI-570(introdution to Algoritnm)。 这门课一半内容是面试/刷题用得到的(Time complexity, DP, Divide & Conquer ......) ,一半用不到(主要是一些理论和证明,很头疼),期末的project是用dp解决DNA序列匹配度问题,不算难。这门课能对面试有多少帮助嘛?我觉得不能。这些时间花在自己刷题上可能助益更大。但是值得上嘛?我觉得是值得的,一来,能对这个算法的理论框架有一个系统的认识,知其然也知其所以然;二来,教授水平很高,深入浅出,醍醐灌顶。
.
2. 刷算法
我leetcode也就100不到,打算趁着暑假刷到200+。刷题顺序主要是高频题,但是高频题的问题是不系统,不是按照算法/知识点来的,所以我会做完一道题,就把相关知识点的题也一并做了。也会适当借鉴一些github整理的刷题顺序
另外,我自己建了一个google docs,专门用来建立知识点框架,形成自己的解题思路。刷了一些题之后发现框架很重要,比如dfs,核心就是想好recursion tree, 知道有多少层,每一层有多少分支,什么时候返回。
我感觉自己一个人刷题会容易懈怠,我就加了一个朋友的刷题群每天打卡(不能拉人了,严格限制人数的。。。);定期约朋友mock coding interview.
3. 实践
(1)做项目
转码选手一个很大的问题就是简历空空,我也是。为了丰富简历,我一方面尽量把之前的工作经历往SDE靠,另一方面就是上一个项目课,跟着做一些项目,从一开始完全懵逼,到后面逐渐清晰前后端开发的框架和一些library,虽花了不少时间,但是简历也因此扩充到了一页半。
(2)实习
去了一个startup,才onboard完,要做一个full-stack项目,这个时候自己做的项目就起作用了,不然进去啥也不会。我其实觉得去startup虽然在简历上不如大厂好看,但是真的是能学到东西的,自己可以发挥的空间很多,比如我们tech lead(很年轻)只用html开发前端,我和另一个intern就说能不能改用react,那真的是说改就改!
就先写这么多吧,求大米!
|