内容简介:讲述决定程序员上限的一些知识技能点,包括如何学习、如何阅读源码、计算机科学基础知识体系等。
讲述决定 程序员 上限的一些知识技能点,包括如何学习、如何阅读源码、计算机科学基础知识体系等。
什么是程序员?
- 码农、程序猿、程序媛
- 使用 程序 实现价值
- 程序=数据+算法
- 软件=程序+软件工程
- 程序员=工程师?
程序员金字塔
程序员知识结构
- 面试造火箭,工作打蚊子
- 会什么是你的下限,能够会什么是你的上限
- 越底层的东西越决定上限
学习欲望
杜绝 1 年工作经验重复 N 年
- 如果自己遇到这种问题会怎么解决,与资料中的解决方案相比优劣如何?
- 别人为什么会想到这种解决方案?
- 自己是由于经验欠缺还是技能点欠缺才导致没有想到好的解决方案?
- 解决这类问题的根本思路是什么样的?
学习能力
不是懂得多,而是学得快
- 知其然更要知其所以然 :技术以深度优先
- 类比现实 :对现实世界的模拟
- 更好地接受信息 :建立自己的知识体系;阅读并记笔记,纳入知识体系
- 深度思考 :阅读书籍
- 动手实践、频繁练习 :项目驱动型学习;主动思考
- 自我总结 :完善知识体系;笔记、博客、分享
- 持续学习 :逃离舒适区;学到老,活到老
如何学习新技术
如何阅读源码
- 阅读该技术的架构文档,了解其总体架构和组成
- 根据总体架构,将源码文件以模块或者上下层级进行分类。
- 从未阅读过的模块中选择最独立(依赖性最小)的模块代码读起。
- 阅读此模块的功能介绍文档。
- 阅读此模块的源代码: 运行程序,断点调试 。
- 一边阅读一边整理调用关系图。
- 转到第三步。
参考官方文档或者经典书籍
计算机思维
- 冯.诺依曼体系 :程序存储,顺序执行。
- 二进制存储 :用比特解决问题
- 位运算 :位运算的高效
- 逻辑分支 :条件判断、循环、迭代、递归
个人规划
- 长期规划 :职业规划;高瞻远瞩
- 短期规划 :具体技能、晋升、学习方面的规划;优先级排序
基础学科
- 物理 :电路原理;量子计算机
- 数学 :工程优化;线性代数;微积分
- 英语!! :阅读英文文献;计算机术语
计算机组成原理
计算机的硬件组成和运行原理
- 冯诺依曼体系 、 摩尔定律 、 阿曼达定律
- 数据的机器表示 :原码、补码、反码、浮点数/定点数
- 指令系统 :复杂指令集、简单指令集
- 存储器 :分类、缓存
- CPU : 流水线、伪共享、缓存
- IO设备 :IO总线、DMA、中断
计算机操作系统
屏蔽计算机硬件的中间层
- 作业调度 : 调度策略、优先级
- 进程管理 :进程和线程、进程间通信
- 存储管理 :内存、虚拟内存、文件系统、页、页缓存
- IO管理 :IO设备读写操作
- Linux操作系统
计算机网络
单个计算机之间的互连
- TCP/IP协议栈 :四层/七层
- TCP连接状态
- TCP与UDP的区别
- HTTP协议、RESTful规范
- 网络安全
- 下一代互联网 :IPv6、物联网、5G
编译原理
将代码转换成机器可理解的二进制,有助于实现DSL
- 词法分析、语法分析
- 类型检查
- 运行时环境、中间代码
- 代码生成、代码优化
数据结构和算法
程序=数据+算法
- 基本数据结构 :数组、链表、栈、队列、哈希表
- 最大堆、最小堆 :TopN问题
- 树 :平衡二叉树、B树、B+树、红黑树
- 跳跃表 : 简单可实现
- 经典 排序 算法 :快速排序、归并排序、插入排序、冒泡排序
- 经典查找算法 :顺序查找、二分查找
- 高级算法 :贪心、分治、回溯、动态规划
- 大数据处理 :Bitmap、Bloomfilter、Hyperloglog、MapReduce、MPP
设计模式
软件可复用、可扩展、可维护。善用而不滥用。
- 面向对象SOLID设计原则 :单一职责、开闭原则、里氏代换、接口隔离、依赖倒转
- 常用设计模式 :单例模式、工厂模式、代理模式、适配器模式、观察者模式
- 常用框架中的设计模式 :Spring
以上所述就是小编给大家介绍的《这些知识决定了程序员的上限》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Docker容器上限思考
- 智能监控成效的上限该如何突破?
- 木兰编程语言重现——范围语法“下限..上限 by 间隔”,重构
- Linux Mint 19 “Tara” Cinnamon 音量上限突破至 150%
- 万豪事件最新回应,将受害者数量上限缩小到3.8亿
- 程序员高薪盛宴背后:程序员正在消失?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JavaScript & jQuery
David Sawyer McFarland / O Reilly / 2011-10-28 / USD 39.99
You don't need programming experience to add interactive and visual effects to your web pages with JavaScript. This Missing Manual shows you how the jQuery library makes JavaScript programming fun, ea......一起来看看 《JavaScript & jQuery》 这本书的介绍吧!