语言学习和编程能力有gap: 基础四大件和企业级的实践
前沿
- C和C++是偏向底层一点的语言。JAVA是纯应用层的东西。
- 岗位方向:”造轮子”的语言。
- 后台开发,服务端开发。
- 后端的概念较为广泛。
学习路线
语言本身。
C:指针、内存管理
C++: 面向对象的特性,面向对象,代码才能更好的复用、拓展和工程化。
语言学习不要拖太久,一鼓作气
基础四大件 理论
比语言更重要
- 数据结构与算法 :刷题leetcode Algorithems 算法导论
- 计算机网络 :TCP/IP协议栈,原理,具体协议。
- 操作系统:进程和线程,并发与多线程;内存,内存分布与调度;
- 设计模式: 常见的设计模式;
应用于工程实践
做完这一部分可以自己做一些东西出来
Linux操作系统;
- shell编程:生产力工具,批处理与自动化
Missing for automation and efficiency up
- shell编程:生产力工具,批处理与自动化
编译工具:
- Linux的编译器:gcc
- 交叉编译工具
- Make与makefile:自己设计去写整个编译
调试: gdb
linux环境编程
- linux系统编程,API
- 多线程编程实践:线程、资源、信号、同步互斥锁
- 网络编程:IO函数的具体代码