选择大于努力,选好一个方向总比什么都要尝试来得效果好。 既然身边大部分同学(比较菜的那种)都是通过 C++ 找到了还不错的工作。那么我完全可以复制这条路线,不再去追求什么 Java 好跳槽。只要在一个技术栈上深入,没有混不好的。
那么接下来主要回答几个问题:
1,C++ 可以干什么
后台开发:
- 编程基本功扎实,掌握 C/C++/JAVA 等开发语言、常用算法和数据结构;
- 熟悉 TCP/UDP 网络协议及相关编程、进程间通讯编程; (计算机网络,操作系统)
- 了解 Python、Shell、Perl 等脚本语言;
- 了解 MYSQL 及 SQL 语言、编程,了解 NoSQL, key-value 存储原理;(数据库)
- 全面、扎实的软件知识结构,掌握操作系统、软件工程、设计模式、数据结构、数据库系统、网络安全等专业知识;(设计模式)
- 了解分布式系统设计与开发、负载均衡技术,系统容灾设计,高可用系统等知识。** (分布式技术 or 主流技术)
测试开发:
- 计算机或相关专业本科及以上学历;
- 一至两年的 C/C++/Python 或其他计算机语言的编程经验;
- 具备撰写测试计划、测试用例、以及实现性能和安全等测试的能力;
- 具备实现自动化系统的能力;
- 具备定位调查产品缺陷能力、以及代码级别调试缺陷的能力;
- 工作主动积极,有责任心,具有良好的团队合作精神。
2,C++ 学习路线是什么样的
- 语言相关STL:
- 《C++ Primer》
- 《Effective C++》
- 《More Effective C++》
- 《深度探索 C++ 对象模型》
- 《深入理解 C++11》
- 《STL 源码剖析》
- 算法
- 操作系统
- 计算机网络
- 网络编程
- 数据库
- 设计模式
- 链接装载库
- 分布式
3,C++ 学习计划
由于要学的知识比较多,而且时间紧,预计三个月左右的时间学完。 90天: =》有效时间 1,3,5 :上班1h,回家4-5h,路上0.5h -> 5.5-6.5h 2,4:上班1h,回家3h,路上 0.5h -> 4.5h 周末:12*2h
目标:
- 算法至少刷200道,并且有些题目反复刷。平均每天至少2道题,上班完成。路上复习,睡前复习,早上公司复习。还需要刷数据库相关的题目。周末可以多刷点。
- 操作系统及计算机网络比较熟悉,大约2周左右。
- 数据库需要较多的时间,重要的知识点采用费曼学习法。讲给女朋友听。2周
- 设计模式比较快 1周
- 分布式相关 2周
- 项目 1周
- 简历 1周
- STL 2周 还剩下1周
虽然是这么规划时间的,但是可以多个项目并行,毕竟需要换换大脑。 最好能够学两轮,第二轮不用这么多时间。打印出文档每天看。
| 项目 | 安排 |
|---|---|
| 算法 | everyday 2-3 题 |
| STL | 11.25-12.10 + 12.17 |
| 数据库 | 11.25-12.17 |
4,C++ 项目准备
项目比较偏底层,或者偏后台开发一些。 能够覆盖要问到的知识点即可。