大家好,我是大彬~
今天跟大家分享知识星球小伙伴关于【非科班转码如何补基础】的提问。
往期星球提问整理:
读博?找工作?
性格测试真的很重要
想找一份实习工作,需要准备什么
球友提问:
大彬大佬,想问下非科班要补哪些基础? 求推荐视频,国内国外都行。
大彬的回答:
你好,我也是非科班转码的,Java方向,不知道你打算想往哪个方向发展。不过没关系,无论哪个方向,计算机基础都是相通的,下面分享一下我的经验:
- 数据结构:程序员可以不关注硬件,软件部分就是代码的逻辑实现,其中数据结构是基础,推荐橘黄色的算法书,想进中大厂就刷 leetcode ;这部分我觉得熟悉常见数据结构,了解常见算法就够了。
- 操作系统:推荐电子科技大学的蒲晓蓉老师的操作系统课程,看完觉得意犹未尽再去翻翻现代操作系统或者 csapp 吧,这部分主要看下进程、内存、文件系统。
- 计算机网络:推荐自顶向下,重点看两章就够了,应用层和传输层,更下层的说实话用不到。这里工作用到的更多的是 http,看下图解 http 之类的,有需要的可以看下图解密码学。
- 数据库:推荐伯克利的 CS168 课程。国内的推荐中国人民大学王珊老师的《数据库系统概论》
- 编译原理:不推荐太早看,代码写多了再来看,前期直接跳过。如果你是前端程序员,至少接触过 babel 这一类工具,了解过原理之后再来学习,这门课太早接触我觉得真的没用,晦涩难懂
- 最后补充下个人理解:这个阶段最重要的不是深入细节,熟悉原理这一类的,看到不懂的部分直接跳过就行了,先大概过一遍建立计算机的一些基本思想和概念,比如分层和抽象、时间和空间、接口和实现、分治等等等等,先悟到这一层,再回头看书能快很多,接下来再去深入一些感兴趣的细节部分,我觉得就差不多了
最后给大家分享200多本计算机经典书籍PDF电子书,包括C语言、C++、Java、Python、前端、数据库、操作系统、计算机网络、数据结构和算法、机器学习、编程人生等,感兴趣的小伙伴可以自取:
https://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247486208&idx=1&sn=dbeedf47c50b1be67b2ef31a901b8b56&chksm=ce98f646f9ef7f506a1f7d72fc9384ba1b518072b44d157f657a8d5495a1c78c3e5de0b41efd&token=1652861108&lang=zh_CN#rd