来射|假如 C++ 是一只箭,你会用它来射哪只雕?( 二 )
【 来射|假如 C++ 是一只箭,你会用它来射哪只雕?】一、扎实的编程基础
这个基础扎实首先意味着你比较熟悉 C++ 这门语言了,知道不同版本的语言特性(比如C++11以及新出的C++20的区别),对常见的语言机制(比如多态、虚函数表、模板等)的底层有自己理解。
虽然说不看重你用什么语言,但是最起码你得比较熟练的使用一门语言吧。怎么才算熟练呢,大概C++底层机制、多线程编程、跨平台编程这些你都需要有所了解吧。
除此之外,编程能力的素养还体现在算法思想和数据结构的理解上。毕竟程序的基础就是算法和数据结构嘛。所以一些基本的数据结构,比如链表、数组、二叉树、队列之类的,还有一些基本的算法思想,比如贪心、分治、动态规划等都最好需要好好掌握一下。
二、系统的理论知识
这个就是科班与非科班比较明显的差距所在了。很多非科班的同学其实编程能力很强,但是由于没有接受过系统的理论学习,所以在理论学习上会比较吃亏。而后端开发涉及的东西比较多,从网络到性能再到架构,都需要系统的计算机理论来支撑的。
所以如果连计算机网络、操作系统、计算机组成原理、编译原理这些书都没见过的同学,需要赶紧买几本回来压压惊了。
三、后端基础
想去做后端开发,起码得知道后端是什么吧。这就意味着你得知道一些基本的软件工程、软件架构、设计模式等知识。同时,搞个后端哪能不懂数据库呢,那你不得再学些诸如MySQL、Redis等数据库的基本操作吗?
当然到这,可能也就算是个入门水平。真正上手后端开发的时候,像微服务、中间件(Kafka/Zookeeper/Hadoop等)等相关概念与技术的学习不也得提上日程了嘛。
当然对于校招生来说,由于的确是缺少大型的上线项目经验,所以对后端基础的要求不会太高,更多的是看编程能力和计算机理论基础。不过倘若是已经工作想转行的同学来说,后端基础还是会比较看重的。
这三点是在我看来目前互联网公司比较看重的地方,大家可以对照着反思自己是否具备这样的能力了。如果还没有,可以抓紧时间好好准备准备。
客户端开发
毕竟 C++ 已经是一个很成熟的语言了,所以除了后端开发其实它还有很多其它的开发岗位可以选择。自然而然的,就是客户端开发了。
相信大多数学 C++ 的同学都用过 C++ 写桌面软件吧。那时候估计还是用MFC,照着代码书上敲一遍就能写一个比较简单的界面了。所以如果不想做后端,完全可以靠 C++ 找一份客户端开发的工作。
只不过,客户端也并不容易呀。做客户端同样也需要扎实的编程基础和计算机理论基础,同时可能还要熟悉Windows/C++编译链接机制、QT客户端开发技术体系、Windows消息机制等技术。
- 古代为什么有打更这一行业?假如没人打更,会有什么样的后果?
- 资本主义|假如没有西方影响,中国会产生资本主义吗?
- 孩子|假如能解决这个关键问题,可能很多妈妈都会选择生二胎
- 假如你穿越到春秋时期,下面五位君主你最想辅佐哪位?
- 办法|假如戚继光回到明末,他能挽救明朝败局吗?答案让人失望!
- 假如美国倒下了,世界会变成啥样?这两国的野心可能会更大
- 曹植|假如曹魏“二代目”不是曹丕而是曹植,曹植会让曹魏更好吗
- 东吴|夷陵之战假如刘备获胜, 东吴会灭亡吗? 司马懿说了6个字给出答案
- 庞统|庞统起到了什么作用?假如庞统不死蜀国会怎样
- 李世民|假如李建成当帝王,那么他会杀害李世民吗军师道出真心话