不知道大家在当初是一个什么都不懂的小白的时候会不会想一些下面这些问题:
我不是科班的,转行的,计算机零基础,啥也不懂,学计算机可以吗?计算机基础什么的都不知道,像什么操作系统啊,计算机组成原理啊,还有什么数据结构和算法,完全懵啊,咋整?“
其实这些就是一个计算机基础知识的问题,那么这些不会,影响你学习编程吗?答案是不影响你开始学习编程,但是影响你未来可以走多远,学多深!
作为程序员,我们都清楚学习的重要性,毕竟时代在发展,互联网之下,稍有一些落后可能就会被淘汰掉,因此我们需要不断去审视自己,通过学习来让自己得到相应的提升。
计算机基础该怎么学
大部分人眼里的计算机基础就是计算机专业基础了,这对一个学编程的来说问题不大,但是对于那些真的是计算机小白的话,这些也显得有点专业了,但是无论你是学习Java还是Python,无论是前端还是后端,只要你是个程序员,敲代码的,搞编程的,这些知识都是你所需要的,就像前面说的,这是可以让你突破瓶颈,拓展知识上下限的一个东西。
下面这位大佬总结的学习笔记可以说是可以手把手带你学习参考的。
- 冯诺依晏体系结构与哈佛结构
- 一个程序在计算机中是如何运行的?
- CPU
- 内存
- 内存和磁盘
- 二进制
- 新建一个TXT, 会发生什么?
- 编译和解释
需要这份计算机基础学习笔记的话,点赞+评论后访问Github地址获取:传送门
数据结构与算法
不知道你们是什么样,反正我大学的时候数据结构与算法那是惨的一批,上课就是听天书,但是在后来的工作与学习中会要面对数据结构与算法。虽然一般用到数据结构与算法的时候真的蛮少的,但是面试的时候必考啊,一般人就是临时抱佛脚呗,大概率也能搞定面试.....但是对于这个大家都是短板的的地方也是你与其他开发的好兄弟拉开差距的地方,但是知识在于积累,学习需要耐心!很多人的学习数据结构与算法都是还没开始就结束了......(手动狗头)那么数据结构与算法到底怎么学?当然是站在巨人的肩膀上学!
下面这份数据结构与算法学习指南,可能是最适合新手的了!
- 数据结构与算法中的复杂度
- 不一样的数组深入讲解
- 轻轻松松学会栈和队列(附有顺序栈的实现思路分析)
- 链表
- 手写一个单链表
- 哈希表
- 数据结构之树
- 二叉搜索树
- 数据结构与算法必懂知识点
需要这份计算机基础学习笔记的话,点赞+评论后访问Github地址获取:传送门
操作系统
操作系统这块在面试时也是经常被问到的点,下面我也是为大家整理出一些操作系统方面的面试题,大家可以查漏补缺一波。
操作系统导图
- 解释一下什么是操作系统
- 解释一下操作系统的主要目的是什么
- 操作系统的种类有哪些
- 操作系统结构
- 什么是按需分页
- 多处理系统的优势
- 什么是内核
- 什么是实时系统
- 什么是虚拟内存
- 什么是进程和进程表
- 什么是线程,线程和进程的区别
- 使用多线程的好处是什么
- 什么是RR 调度算法
- 导致系统出现死锁的情况
- RAID的不同级别
- 什么是DMA
- 多线程编程的好处是什么
- 什么是设备驱动程序
- 进程间的通信方式
- 进程间状态模型
- 调度算法都有哪些
- 页面置换算法都有哪些
- 影响调度程序的指标是什么
- 什么是僵尸进程
怎么样这些面试题大家是否都能答出来,不会没关系我也不会(狗头),不过我有学习文档,为了不影响大家的阅读体验,就不能将全部内容展示出来了。
除了面试题当然还有基础知识点总结,点赞+评论后访问Github地址获取:传送门
结语
还是那句话,学习不会辜负任何人。我们作为程序员一般很少直接操控硬件,我们一般通过C、Java 等高级语言编写的程序起到间接控制硬件的作用。所以大家很少直接接触到硬件的指令,而硬件的控制是由Windows 操作系统全权负责的,操作系统也是我们程序员绕不过的一个坎。需要这份操作系统笔记以及上面的计算机基础+数据结构与算法笔记,关注小编支持一下,传送门