Skip to content
/ csstart Public

Help you become a new developer

Notifications You must be signed in to change notification settings

Kwuin/csstart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

csstart

  • 这是我的第一个GitHub上的开源项目,希望能帮助转专业同学尽快成为一名Developer
  • 目前只有很久以前写的一篇转专业如何找到实习
  • 最近正在整理以前做的项目代码,转专业最大的问题是没有项目简历关过不去(现在有也可能过不去),如果可以会推到这个仓库
  • 立个Flag,长期更新...

毕业后如何在5个月之内找到国内大厂实习...

前言

科班老哥们可以直接右上角了,这是写给转专业同学的,极其功利和面向面试学习2333...一个多月来一直断断续续有同学私聊问我找实习做了什么项目,看了什么来复习,刷了多少题blahblah...我顶不住说车轱辘话了,把毕业后的找实习经历分享一下。首先牢记作为转行的同学,找实习是一门玄学,80%靠的是运气,比如可能是某些组正好缺人,可能面试官和你聊得来...毕竟换了一个行业,计算机专业课没学过,找工遇到困难太正常不过,最后结果很可能也不取决于自己,剩下20%尽力而为,听天由命就完事了。

背景

目前实习主要写Java(客户端),毕业时一行Java不会写,但之前学过C++(学会这玩意转啥语言都不怕)。本科的水项目写过一些Python,所以不是完全0基础的,如果你真的0基础,往下看

毕业后如何准备

本科确实学过数据结构但是太水了,整个一学期作业只有一次写了代码你敢信。因此我毕业时还是决定重学数据结构,这是0基础入行必修的第一门课,我决定补一下这门课,在网上找到了CS61B。这门数据结构课UCB有录播课,主语言是Java,而且头几次课从0开始教你写Java,蛮良心的,老师讲的很好。这门课会带你深入了解重要的数据结构和算法,学完这门课就可以去刷LC了。但是这门课对于刷LC本身用处很小,只是一门入门课而已,如果你掌握了一些数据结构还会一门编程语言那甚至可以跳过直接开始刷LC,刷题的时候遇到不会的数据结构直接现学就好,不要浪费时间,后期上这门课的时候作业基本就不写了。

如何补计算机基础课

首先这是不可能的,然而面试也不是照着教材把教材上的内容全考一遍,因此时间紧迫的情况下其实可以针对性准备。我着重看了操作系统这门课,极力推荐哈工大李志军老师操作系统课,我推荐课程很少推国内老师的课,确实国内大学课程和美国大学课程质量差距过大,但是这门课真的很棒,老师讲解重点,细节非常到位。老师讲的虽然有点啰嗦不过B站可以2倍速嘛。如果时间充足想做实验作业,网易云课堂有同名课程配有实验台。对于面试来说,并不需要掌握到课后作业那种一定要手撸代码的程度。首先看这门课的原因是Java虚拟机借鉴了很多操作系统的设计模式和原理,在后来准备Java八股文的Java虚拟机这一部分的时候遇到了很多和操作系统这门课相同的知识,因此我个人比较建议先看OS。其他三门面试中最多的是计算机网络,我的体验就是计网背背背就完了。剩下的两门完全可以跳过不看因为面试不考。

如何过简历关

转行最大的问题就是简历关了,因为工科的同学简历上非常有可能全是机器学习深度学习,其他行业同学简历上很可能就是数据分析(哭了),这种简历基本投一个拒一个或者建议你转岗,过了简历关一面也绝对被拒。在这里要痛斥国内的辣鸡学术环境,这种什么好发论文就去水什么论文的做法会坑惨一群无辜的学生,多少可怜的廉价研究生被忽悠的根本不知道业界需求是什么样的,被什么大果宫酱,自主研发洗脑,自己还不知道跳坑,毕业秋招傻眼了!麻了!首先简历必须要有至少一项开发有关的项目,对于Java开发来说需要自学Spring全家桶的相关知识,不学也行,边做项目边学,反正SpringBoot这玩意真的666,全自动化了,做项目跟着教程做就好了。然而这很可能是不够的,我加了开发项目以后还是收到了无数简历拒,意料之中了,理由是才研一,计算机硕士刚入学...不过不要紧,有总比没有好。首先说明有些项目可能是需要付费学习的,看自己了,找Github开源的项目也不是不能找。我首先尝试的是这个https://how2j.cn/k/trend/trend-2070/2070.html(要付费)这个是模仿天猫商城的项目,有难度,所以我做了一半放弃了,不过实习后学习组里代码,再回去看这些东西,能看明白不少。第二次尝试了这个博客系统搭建https://www.lanqiao.cn/courses/1367(需付费),难度稍微降低了一些,也最终成为了简历上唯一的开发项目。做完项目要熟悉这个项目,要准备对应的基础知识,比如做了Springboot的项目就要背Spring的基础Spring原理——IOC,AOP,Springboot启动过程啥的。如果不知道熟悉项目要熟悉到什么程度可以多面试去感受。比如我第二次冲某厂,一面时,面试官好像不会Java,于是问了我50分钟的简历上这个唯一的项目。这个方法的优点是可以直接弄清楚对于自己做的项目要熟悉到什么样子,缺点就是问得我当场自闭。

如何准备Java八股文

Java八股文其实就是Java基础知识,包括Java并发(多线程),Java虚拟机,垃圾收集等等,在我这里Java八股的范围还包括了Mysql八股和Spring八股和OS计网,都是面试要准备的就统一归类了。链接在这里第一个https://github.com/Snailclimb/JavaGuide第二个https://github.com/CyC2018/CS-Notes。Java八股是国内面试必备的逃不过的,计算机基础OS计网考的最多,因为时间不多,看的都是上面两个网址里的高频面试题。我是按后端的面试标准准备的,所以着重看了Java基础Mysql基础OS计网。然后项目用到什么就背相应的八股,比如项目用到了Redis还要背Redis八股,etc. 平时背的时候注意还要看牛客网字节的面经,他家面经是最全最好的(因为最难还三次面),平时浏览器常年保持20个页面开着,上面两个网址的东西还不够,看面经的时候就知道了,很多知识还要额外google学习。

如何刷题

刚开始刷题是很有难度的,几乎所有题看到以后都没有思路,要不就是有思路会写但是复杂度爆炸。我刚开始刷题时做了这个课程https://www.educative.io/courses/grokking-the-coding-interview?coupon_code=GCI-1point3acres,挺贵的,某知名美帝留学论坛有优惠券,一共100多道题刷完很多题就有思路了,第二个材料是某东的公众号和他的gitbook了,这个差不多大家都知道。第三个就是这个国内大厂高频题就不知道准不准了https://codetop.cc/#/home

总结

最终其实结果不算很完美,我本来想做后端的,但也不能要求更多了。上面的东西看着很多,不过我事后算了算如果能天天学习的话大概三个多月就可以完成外加刷250道LC题。说是5个月才找到其实中间打游戏加拔牙耽误了很多时间,王国风云3刚出的那一阵天天想着如何恢复拜占庭昔日荣光...而且对我来说最有价值的经历不是什么去哪哪大公司,都是给zbj打工了,而是面对一个全新的行业,在过往经历一篇空白的情况下如何能迅速适应并融入,还得有点点儿胆量去作出改变。比如8月在美国这么乱搞的情况下我连拒了两个国内研究生机会,然后上网课ALL IN 找工实习了,导致Biden当天下午暂时落后的时候心态崩了,还好后来翻了...现在想想都害怕,不知道哪来的胆儿。。面试的时候面试官问我:“我看你是本科学医的吧,计算机这块你咋了解得这么多?我挺意外的。”(让我们来数数这句话黑了几个专业xD)想想自己再过几年可能又喜欢别的行业了,跑路了,或者被裁了,啊不是被优化了,会觉得过往很多经历并不只是用来装点充满泡沫的简历,还有许多珍贵的经验和曾经破釜沉舟的勇气。我很佩服我们班那些大龄转码的同学,有人是来二硕,还有人Phd读完来读硕士,这勇气我可能没有。人生不易,是真的为了生活迫不得已,向每一位勇于改变的人致敬,Respect。

其他

下面是两位非常优秀的并同样是转专业同学写的博客,一位去年春招拿到字节核心组的全职,一位在今年春招拿到了腾讯阿里的实习

进击的steve的知乎专栏

https://github.com/huangrt01/CS-Notes

About

Help you become a new developer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published