前言
程序员,近年来十分火爆的职业,凭着巨大的市场缺口和高额的薪水吸引着大量毕业生加入程序员的队伍。这其中就包括各类专业的学生,像我这种自动化专业的也在其内。这些不是计算机科班出身的可以看作是半路出家了。那么半路出家程序员和计算机专业出身学生有什么区别呢?
先来看一张计算机专业的大学课程表:数据结构与算法、计算机组成原理、汇编语言程序设计、Java语言程序设计、C/C++程序设计、操作系统、计算机系统结构、数据库系统原理、网络编程与计算技术、软件工程、计算机网络、软件开发方法等。
惭愧的说,就上过一门c语言程序设计。毕业找工作也是靠自学编程,然后牛客网(巨牛刷题网站)刷题,看某些面试宝典,做一些小项目才搞定一份工作。像面试某个知名公司时候,当场手写链表逆序程序,以及IP地址的划分规则,感觉是当场就被秒了。既然认识到差距,总是要弥补的。结合自己的学习过程总结了以下几方面。
刷题
我刷题的方式都是老套路了,LeetCode+《剑指offer》,虽然老,但是效果非常不错,除此之外,再搜一搜网上的一些大厂面试题、看了很多面经。这个过程不仅是个脑力活还是体力活,由于不能在公司刷题,我一般的选择方式是在晚上回到家后,刷题、刷面经一个小时到两个小时。当然也可以在上下班的路上抽时间看看题。
边刷题,边整理,方便自己以后可以复习,偶然间一看,居然整理了一千六百多页,下面把我的学习大纲分享给大家:
学习总纲
Java部分
- Java基础
- Java并发
- Java虚拟机
Android部分
- Android基础
- Android进阶
- 开源框架
数据结构
- 线性表
- 栈和队
- 树
- 图
- 散列查找
- 排序
- 海量数据处理
算法
- 剑指offer
- LeetCode
设计模式
- 创建型模式
- 结构型模式
- 行为型模式
计算机网络
操作系统
数据库
最后看一下**《Android框架体系架构(高级UI+FrameWork源码)》**学习需要的所有知识点的思维导图。在刚刚那份学习笔记里包含了下面知识点所有内容!文章里已经展示了部分!如果你正愁这块不知道如何学习或者想提升学习这块知识的学习效率,那么这份学习笔记绝对是你的秘密武器!
习这块知识的学习效率,那么这份学习笔记绝对是你的秘密武器!
[外链图片转存中…(img-KCcfMker-1622530906610)]