美文网首页互联网科技Web前端之路让前端飞
程序员的技能树,决定了一生职业的高度

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

作者: 560b7bb7b879 | 来源:发表于2019-06-04 15:18 被阅读9次

    什么是程序员?

    码农、程序猿、程序媛

    使用 程序实现价值

    程序=数据+算法

    软件=程序+软件工程

    程序员=工程师?

    程序员金字塔

    ​​

    ​​

    程序员知识结构

    面试造火箭,工作打蚊子

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

    越底层的东西越决定上限

    学习欲望

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

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

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

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

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

    学习能力

    不是懂得多,而是学得快

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

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

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

    深度思考:阅读书籍

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

    自我总结:完善知识体系;笔记、博客、分享

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

    如何学习新技术

    如何阅读源码

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

    根据总体架构,将源码文件以模块或者上下层级进行分类。

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

    阅读此模块的功能介绍文档。

    阅读此模块的源代码: 运行程序,断点调试。

    一边阅读一边整理调用关系图。

    转到第三步。

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

    计算机思维

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

    二进制存储:用比特解决问题

    位运算:位运算的高效

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

    个人规划

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

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

    基础学科

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

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

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

    计算机组成原理

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

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

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

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

    存储器:分类、缓存

    CPU: 流水线、伪共享、缓存

    IO设备:IO总线、DMA、中断

    计算机操作系统

    屏蔽计算机硬件的中间层

    作业调度: 调度策略、优先级

    进程管理:进程和线程、进程间通信

    存储管理:内存、虚拟内存、文件系统、页、页缓存

    IO管理:IO设备读写操作

    Linux操作系统

    计算机网络

    单个计算机之间的互连

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

    TCP连接状态

    TCP与UDP的区别

    HTTP协议、RESTful规范

    网络安全

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

    编译原理

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

    词法分析、语法分析

    类型检查

    运行时环境、中间代码

    代码生成、代码优化

    数据结构和算法

    程序=数据+算法

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

    推荐阅读:

    学Python的程序员,编程能力都“退化”成什么样了?

    学习前端开发的路线是什么?互联网趋势,技能需求

    选择程序员,意味着终生学习,眼前的安逸,不过是迷惑人心的温床

    相关文章

      网友评论

        本文标题:程序员的技能树,决定了一生职业的高度

        本文链接:https://www.haomeiwen.com/subject/xthraqtx.html