JavaShuo
栏目
标签
程序员基础技术
时间 2019-11-10
标签
程序员
基础
技术
栏目
快乐工作
繁體版
原文
原文链接
基础技术分为两部分:
编程和系统
算法
编程部分
C语言:接近底层,内存管理更直接,掌握程序的运行状况。《C程序设计语言(第2版)》,学习 C语言精细控制底层资源,如内存管理、文件操做、网络通讯
汇编语言:能够深刻了解计算机怎么运行,针对lock free之类高并发,能够更好的理解和思考
编程范式:有助于培养抽象思惟,提升编程效率,提升程序的结构合理性、可读性、可维护性,下降冗余,提升运行效率。面向对象编程(C++、JAVA)、泛型编程(C++、GO、C#)、函数式编程(JavaScript、Python、Lisp、Haskell、Erlang)等
算法和数据结构:编程中最重要的东西,提升程序的合理性和执行效率。不只是为了写出运转更为高效的代码,更是为了能写出覆盖更多场景的正确代码
数据库
系统部分
计算机系统原理:价值在于,除了可以了解计算机的原理以外,还能触类旁通的反推出高纬度的分布式架构和高并发高可用的架构设计。《深刻理解计算机系统》(Randal E.Bryant)
CPU的体系结构(指令集【CISC/RISC】、分支预测、缓存结构、总线、DMA、中断、陷阱、多任务、虚拟内存、虚拟化等)
内存的原理与性能特色(SRAM、DRAM、DDR-SDRAM等)
磁盘的原理(机械硬盘【盘面、磁头臂、磁头、启停区、寻道等】、固态硬盘【页映射、块的合并与回收算法、TRIM指令等】)
GPU的原理等
操做系统原理和基础:理解程序是怎样被管理的,提供了怎样的支持与接口,性能特性如何,进程间怎样通讯。《UNIX环境高级编程》《UNIX网络编程》《Windows核心编程》
进程
进程管理
线程
线程调度
多核的缓存一致性
信号量
物理内存管理
虚拟内存管理
内存分配
文件系统
磁盘管理等
网络基础:学习网络层次结构(ISO/OIS模型、TCP/IP协议栈)。《TCP/IP详解》
数据库原理:
SQL(基于B+数,强一致性)
NoSQL(较弱的一致性,较高的存取效率,基于哈希表或其余技术)
分布式技术架构:
负载均衡
DNS解析
多子域名
无状态应用层
缓存层
数据库分片
容错和恢复机制
Paxos
Map/Reduce操做
分布式SQL数据库一致性
信息来源
常见的信息源有
编程
Google等搜索引擎
Stack Overflow、Quora等社区
图书
API文档
论文和博客
相关文章
1.
基本程序员的技术组成
2.
Java程序员技术栈
3.
程序员技术月刊
4.
程序员的技术栈
5.
程序员技术周刊
6.
Aabdroid编程技术基础
7.
程序员数学基础
8.
程序员基础知识
9.
【程序员基础篇】vi
10.
黑马程序员 六、线程技术
更多相关文章...
•
XML 相关技术
-
XML 教程
•
Hibernate的快照技术
-
Hibernate教程
•
Docker容器实战(一) - 封神Server端技术
•
三篇文章了解 TiDB 技术内幕——说存储
相关标签/搜索
程序员基础篇
技术员
技术人员
基础技能
老程序员
程序员
基础教程
线程基础
技术教程
JAVA基础☞探针技术
快乐工作
Hibernate教程
PHP 7 新特性
Spring教程
技术内幕
教程
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
网络层协议以及Ping
2.
ping检测
3.
为开发者总结了Android ADB 的常用十种命令
4.
3·15 CDN维权——看懂第三方性能测试指标
5.
基于 Dawn 进行多工程管理
6.
缺陷的分类
7.
阿里P8内部绝密分享:运维真经K8S+Docker指南”,越啃越香啊,宝贝
8.
本地iis部署mvc项目,问题与总结
9.
InterService+粘性服务+音乐播放器
10.
把tomcat服务器配置为windows服务的方法
本站公众号
欢迎关注本站公众号,获取更多信息
相关文章
1.
基本程序员的技术组成
2.
Java程序员技术栈
3.
程序员技术月刊
4.
程序员的技术栈
5.
程序员技术周刊
6.
Aabdroid编程技术基础
7.
程序员数学基础
8.
程序员基础知识
9.
【程序员基础篇】vi
10.
黑马程序员 六、线程技术
>>更多相关文章<<