商科转码 狗家sde全职 经验贴

avatar 351914
hry6108
13152
18
[align="left"] 签下狗家offer已是一个月前的事情了,想写这篇帖子很久了,但是因为期末周拖了好久。[/align]
[align="left"]先自我介绍一下,17年毕业于某国内211本科工商管理,17年秋漂洋过海来到美国一所排名70多的大学攻读mis硕士。18年暑假找了份水水的web developer实习,每天的工作任务就是喝咖啡吃饼干。18年初失恋了,放飞了几个月,4月份时觉得这种状态不行啊,要为自己未来好好做打算。18年8月底投了狗家sde全职,过了oa,9月中旬电面,10月初onsite,onsite3周后通知hc过(hr中途旅游去了),然后11月中旬签了offer。[/align]
[align="left"]一年强转专业进了狗家必然有运气成分(以及得亏刷题冲关这种游戏机制),现在我身边的人都管我叫 H超越。但是,厚脸皮地说,我觉得我走到这一步还是因为 我很坚强。2018年,起起伏伏,从地里获得了不少小伙伴的帮助,决定回馈地,给同样在转专业或者迷茫的小伙伴分享一点心得。[/align]
  1. 1. 找到支持点
[align="left"]对于转专业的同学来说,这必将是更艰难的一条路。支撑点着个听起来神乎玄乎的,但在自己累到不行时候,有个motivation支撑住自己非常重要。[/align][align="left"]可以是兴趣。我不知道有多少人是因为CS好找工作才选的CS,我是对tech很感兴趣,我很想知道how everythign works. 对于我来说,刷题不是一件痛苦的事情,对于一个非常clever的解法,我会感到非常excited。也有可能是物质,我的想法很简单,我觉得出国就是父母对我的教育投资,我要是找不到好工作,这笔投资就相当于打水漂了,我会觉得对不起父母。[/align]
  1. 2. Timing is important, 觉悟要早
[align="left"]准备越早越好:[/align][align="left"]1.准备简历要早,刷题要早,别一定等到投了简历之后才开始慌张地准备,不仅时间不够,人还会虚,人一虚,面试就容易紧张,更不利于正常发挥。你要是准备转码了,我建议你看完这篇帖子就着手准备了,别拖啊,多拖一分钟,成功的概率就少一分。[/align]
[align="left"]投简历的时间要准:[/align][align="left"]1.准备到一定程度再投。有些傻逼找工作中介(某tiger)在我题刷了两道,连基本算法都没学明白的时候就告诉我投啊头啊,不投找不到工作啊,这些傻逼中介天天挂嘴边“就业寒冬”,无非就是想让你兵荒马乱手足无措,然后走投无路花重金买他的课,他们根本不在乎你找不找得到工作的。但是!你要是没准备到一定程度,投了挂了还冷冻一年就划不来了。本来硕士留学时间就非常宝贵,一年半两年就毕业了。[/align][align="left"]2.准备到什么程度?根据我自己经验和身边人的情况,我个人感觉题目刷到300左右submission1500左右就可以准备投全职了,但是这个数字因人而异。地里有大牛100道不到就进了大厂。也有刷了700道的还是没上岸。所以你可以搜集下面经,找人mock,一道题能不能再30min内写出来code?45分钟能不能写出无follow-up的code,并答出follow-up或者写再出tests。[/align][align="left"]3.坑多的时候投。你永远都不会觉得自己准备完全了,面试总会问到你的盲区。然后的投的时间最好是开放了岗位就投,那个时候坑多。我身边有朋友面fb的时候,坑只剩加州office几个,你想想看平均30个人竞争1个坑,难度多大啊。[/align]
[align="left"]总结下,我觉得最好的策略就是提早准备,现在开始准备,然后在坑多的时候投。[/align]
[align="left"]以上经验不适用于大牛。[/align]
[align="left"]3. 简历准备[/align]
  1. 地里有很多关于优秀的公开课和网课的帖子:
[align="left"]https://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=26078&highlight=%B9%AB%BF%AA%BF%CE[/align][align="left"]https://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=81136&highlight=%B9%AB%BF%AA%BF%CE[/align][align="left"]上面的project虽说不高级,但是放在简历上充数也不算太坏,这里就不赘述了。[/align][align="left"]我上的第一门编程课是python https://www.udacity.com/course/viewer#!/c-cs101/l-48299949/m-48698544[/align][align="left"]berkley cs61b data structure(现在貌似没视频了)http://www.cs.berkeley.edu/~jrs/61b/[/align][align="left"]princeton 的 algorithm 1point3acres.com[/align]
  1. 学校的课程也尽量找有project的上
  2. 有实习经历或者开源项目的话,就更好了

[align="left"]其实,我的简历准备得也不算太好,如果大家有什么更好的想法,可以在评论一下分享给其他人[/align]
  1. 4.刷题准备
[align="left"]拿到一道题,第一步,先要找准方向,dp?backtracking?第二步,具体解题思路,第三步,把思路快速转换成code[/align][align="left"]第一步,1.你先得知道有哪几种基本算法吧,系统学习算法,网课或者算法书都行 2. 针对性训练,比如我这周只做array的题,下周只做graph,后期更难的结构trie,这样能帮助自己发现题目的pattern,什么题用什么方法解,提高自己的敏感度。[/align][align="left"]第二步,1. 做题的目标不只是accept,而是领会思想,做题的目标不只是accept,而是领会思想,做题的目标不只是accept,而是领会思想,重要的事情说三遍。做完题一定要看讨论区,有没有更优秀的解法,为什么这道题人家用这个方法,人家是怎么break down这个problem的,这个方法如何优化了复杂度,为啥人家脑袋这么聪明???因为面试的目标不只是你一遍accept,面试并不想看到你做过原题然后一遍过的,他想看的就是你problem solving能力,你的分析能力。2. 面试官还会看重你的讨论表达能力,你写出来的东西只有你自己能理解就完蛋了。那有的同学说语言能力就是短期无法提升怎么办?那就画图啊,讨论区很多优秀的大神,用简单的动图,避免了晦涩的语言,优秀地展示了解题思路。除了画图,还有种方法就是给自己讲题,做完了,给自己简单讲一遍。题目做的多没用的,得深入理解。[/align][align="left"]第三步,1. 其实coding量上去了,速度也就上去了。2. 然后就是总结自己的模板,二分法,dfs,bfs等等都是有基本模板的,变动的地方总是固定的那几个part,比如二分法变动的地方基本上只有是while loop里的if statements;dfs变动的part就是 进行search的条件,终止search的条件,return什么值。有了模板对于第二步,找到具体解题思路也有帮助。[/align]
[align="left"]一开始做做easy题培养兴趣和信心,后期就主要medium 和 hard,锻炼自己能力。hard也没什么好怕的,除了有些特别clever的方法,一般就是两个medium合在一起。对于hard,把问题分解成几个sub问题的能力是关键。[/align]
[align="left"]onsite要白板写代码的话,平时就找个白纸写代码吧,我觉得差不多。[/align]

  1. 5.心态调整
[align="left"]1.不要相信运气,虽然我事后说自己是超越附身😂,打心底还是相信天道酬勤四个字。面试没过,八成是自己哪方面能力有缺陷(当然也有是skill set不match),地里哪些骂面试官坑自己,抱怨自己面的题比别人难的,他们没过我觉得并不奇怪,这种心态失衡的人格局太小。[/align][align="left"]2.我还想跟女生们说一句,一天到晚都有人在耳边说女生有优势,这种话听听就好,别忘心里走。我爸从小教导我,男生能做到的事,女生也能做到的。把自己当做男生去准备面试,准备最难的题,做最坏的打算。这样的话,面试时,人家给你放水了,你能秒了;刁难你了,你也不用慌。[/align]

[align="left"]关于2018最深刻的记忆,莫非半夜12点从图书馆出来,吹着夏夜微凉的风,听着吹梦赤子心,等着回家的公交。并不觉得自己辛酸,并不觉得自己可怜,这种充斥着目标感的人生阶段,是珍贵的。能为某一件事燃烧,能为某一个目标全力以赴,这样浪漫的煎熬,不是想要就能要。[/align]
[align="left"]最后,如果大家觉得我的经验有帮助,跪求加加大米,已经花了很多银子买米了,快穷疯了😂[/align]
[align="left"]最后祝大家Merry Christmas!![/align]
  • 172
18条回复