后台开发知识体系整理(一)

准备找暑期实习,但是对于面试所需的庞大知识感到有点懵,所以打算系统的整理一下自己的知识体系,查漏补缺得先知道自己会什么不会什么。

这些天看面经和书籍,认为后台开发(C++)需要4项核心技能:C++、数据结构与算法、网络编程、linux

其中linux是系统应用,网络编程属于用户应用,都是程序,C++则是编程语言,而数据结构与算法是贯穿于程序中的高效思想和优雅技巧。

以一个大蛋糕作比

C++是奶油、水果、面粉等原材料,

而Linux是蛋糕最底下一层,撑托起网络编程开发的服务器应用,上面一般更吸引人,

而数据结构与算法则是做蛋糕的所有技巧,如面粉与奶油、水搭配的百分比、水果摆放的美感,如何做到味道好、又好看还节省原材料。

C++可分为基础语言特性(变量、操作符、控制语句)、特殊语言特性(面向过程、面向对象、泛型、)、对象模型、内存管理、STL库

其中基础语言特性是一门语言必备的,包括变量、操作符、控制语句,理论上基础足以可以构建出任何需要的软件,但是考虑到开发成本、效率、可读性等等,付出太过庞大, 所以需要特殊特性作为补充,来简化开发过程、使得软件更易维护、更可读、可写、可重用。

而对象模型是复杂继承情景下对象在内存中的布局考虑,是语言设计层面的考虑,

内存的自由管理是C++最大的益处,但是也是最大的弊处,它赋予开发人员以操控任意内存单元的能力。

STL是常见数据结构和算法的优雅实现库,深入理解后才能用的更好,在面临选择时知道选择哪个容器、算法更恰当。

数据结构与算法可通过学习理论以及STL代码的方式来学习。

linux是OS的一种,一切皆文件,整个系统由许多的功能模块以及核心内核组成,集文件管理、内存管理、IO、资源分配于一体。

网络编程主要用于实现   可以响应网络请求的服务器应用,所以需要了解网络间的通讯(主要是TCP),计算机网络

发布了18 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_33500066/article/details/104605673
今日推荐