Python程序员的技能树 决定了一生职业的高度

Python:程序员的技能树 决定了一生职业的高度

什么是程序员?

码农、程式猿、程式媛

使用 程式实现价值

程式=资料+算法

软件=程式+软件工程

程序员=工程师?

程序员金字塔

程序员知识结构

面试造火箭,工作打蚊子

会什么是你的下限,能够会什么是你的上限

越底层的东西越决定上限

学习

杜绝 1年工作经验重复 N年

如果自己遇到这种问题会怎么解决,与资料中的解决方案相比优劣如何?

别人为什么会想到这种解决方案?

自己是由于经验欠缺还是技能点欠缺才导致没有想到好的解决方案?

解决这类问题的根本思路是什么样的?

学习能力

不是懂得多,而是学得快

知其然更要知其所以然:技术以深度优先

类比现实:对现实世界的模拟

更好地接受资讯:建立自己的知识体系;阅读并记笔记,纳入知识体系

深度思考:阅读书籍

动手实践、频繁练习:专案驱动型学习;主动思考

自我总结:完善知识体系;笔记、部落格、分享

持续学习:逃离舒适区;学到老,活到老

如何学习新技术

如何阅读源代码

阅读该技术的架构文件,了解其总体架构和组成

根据总体架构,将源代码档案以模组或者上下层级进行分类。

从未阅读过的模组中选择最独立(依赖性最小)的模组程式码读起。

阅读此模组的功能介绍文件。

阅读此模组的源代码: 执行程式,断点除错。

一边阅读一边整理呼叫关系图。

转到第三步。

参考 官方文件或者经典书籍

计算机思维

冯.诺依曼体系:程式储存,顺序执行。

二进位制储存:用位元解决问题

位运算:位运算的高效

逻辑分支:条件判断、循环、迭代、递回

个人规划

长期规划:职业规划;远瞩

短期规划:具体技能、晋升、学习方面的规划;优先级排序

基础学科

物理:电路原理;量子计算机

数学:工程优化;线性代数;微积分

英语!!:阅读英文文献;计算机术语

计算机组成原理

计算机的硬件组成和执行原理

冯诺依曼体系、 摩尔定律、 阿曼达定律

资料的机器表示:原码、补码、反码、浮点数/定点数

指令系统:复杂指令集、简单指令集

储存器:分类、快取

CPU: 流水线、伪共享、快取

IO装置:IO总线、DMA、中断

计算机操作系统

遮蔽计算机硬件的中间层

作业排程: 排程策略、优先级

程序管理:程序和执行绪、程序间通讯

储存管理:内存、虚拟内存、档案系统、页、页快取

IO管理:IO装置读写操作

Linux操作系统

计算机网络

单个计算机之间的互连

TCP/IP协议栈:四层/七层

TCP连线状态

TCP与UDP的区别

HTTP协议、RESTful规范

网络安全

如今的互联网:IPv6、物联网、5G

编译原理

将程式码转换成机器可理解的二进位制,有助于实现DSL

词法分析、语法分析

型别检查

执行时环境、中间程式码

程式码生成、程式码优化

资料结构和算法

程式=资料+算法

无论你在哪里。技术的提高都是靠自己。现在是互联网时代,即使你在深山,你依然与世界同步。

猜你喜欢