C++学习路线

本篇只讲述我的经验,有不同看法的大伙一起评论区讨论
1. 学徒阶段:C++语法,包括C++11重要特性,比如线程、智能指针之类的。此阶段前面的基础语法,就是条件语句、指针、结构体、类等那些一定要扎实,可以多练习语法题来巩固,比如牛客网上就可以练习,后面的新特性智能指针、线程之类的可以简单有个印象即可。对应资料我推荐b站码农论坛。

2. 入门阶段:这一阶段需要学习数据结构、计算机网络、操作系统。学习数据结构的时候配合刷题来加深自己对数据结构的理解,通过前期扎实的语法基础,实现基本的数据结构。计算机网络和操作系统大家可以同步进行学习,有能力的可以训练对应的代码,比如计算机网络对应网络编程,操作系统对应Linux系统编程,这个阶段你将对网络有一个大概的认知,对学徒阶段的线程会有新的理解,对进程也会有新的理解。这一阶段主要是开始刷题(算法题),并且对计算机有一个初步的认识。(这些内容我看了很多教程,也跟着学校认真学了,就不推荐了,大家只要认真学就可以了,忘了回头补充一下即可)

3. 实习门槛阶段:这一阶段需要学习网络编程、Linux系统编程,学会写makefile或者cmake,使用gdb等。也许还会要求看对应的书籍,比如游双的那本高性能服务器,APUE等。这一阶段就是需要写代码练习,熟悉各种api如何操作,深挖一些细节。比如网络编程那几个api的细节,进程线程的区别、进程通信、线程通信等。可以参考一些面经找到一些答案。对于编写makefile或者cmake时,需要你熟悉计算机组成原理的编译和链接,希望大伙对于这方面要弄清楚,编译四个阶段做了什么事情之类的(这个很重要)。我还是推荐b站码农论坛。

4. 跨越实习门槛阶段:这一阶段在我看来就是代表你已经有了不错的基础知识了,可以开始做项目,并且之后可以拿到offer了。这一阶段主要的事情就是做项目,要把之前所有的知识串起来,可以增添数据库等内容在你的项目之中,可以让你对后台软件开发有了一个大概的认知。或者也可以做一些轮子项目,比如学习网络编程的时候深入各种模式,什么阻塞同步、阻塞异步、非阻塞异步之类的,可以学习陈硕大佬的muduo网络库。webserver就是游双大佬那本高性能服务器里的东西,只不过作为项目来说太儿戏了,学习熟悉api还可以。(项目大伙自己找吧,就不推荐了,要不说我是卖课的了)

5. 扩展阶段:经历以上四个阶段,你手上有2 - 3个项目,你就已经达到找工作的要求了。如果你还有时间就可以补充相关行业知识了,比如你可以学习一下Qt、音视频、嵌入式之类的,了解一下你感兴趣行业的知识。

最后再多说一句,后台开发是通用路线,公司大多不会要求你很多特定领域知识,基础一定是最重要的,八股很重要,大家要深入理解,不是去背,弄懂它,如果又想进的公司需要特定知识,你就按照扩展阶段去补充就可以了。当然这只是我的经验,如果你一开始就打定主意要干什么行业,你可以参考b站程序员老秦给出的学习路线去学习。各位加油!
全部评论
佬我现在27届大二在读大一玩了一年目前才刚刚学新特性好绝望一天就学2 3小时感觉自己效率低又爱玩好焦虑
3 回复 分享
发布于 2024-10-21 15:33 福建
你好,码农那个30多点c++课程入门够了吗?还需要看C++ primer plus吗?
1 回复 分享
发布于 2024-11-16 11:51 广东
C++走后端开发死路一条
1 回复 分享
发布于 2024-11-05 17:42 广东
研二来得及吗,现在基础跟的黑马,还有1/3的课,后面想走软开不知道适不适合用cpp,之也看到用java做的
1 回复 分享
发布于 2024-10-22 06:16 四川
想问一下c++项目有什么推荐吗
1 回复 分享
发布于 2024-10-21 11:32 山东
26届刚开始搓 muduo 来得及吗
点赞 回复 分享
发布于 04-20 22:08 广东
什么乱七八糟的,你这纯C++后端路线,岗位屈指可数。其他方向你是一句也不说呗
点赞 回复 分享
发布于 2024-12-07 23:44 上海
佬 现在研2 我们实验室都是python找算法岗 但是算法一般都要双9 今年几乎全军覆没 准备开始学c++ 把c++ primer跟着黑马看完了 接下来不知道是搞嵌软还是去搞后端开发
点赞 回复 分享
发布于 2024-11-19 11:42 湖北
请问码农论坛的那两个项目够用吗,特别是实现reactor服务器那个,投后台开发或者基础架构别的方向够不够有亮点,佬学长给点建议吧
点赞 回复 分享
发布于 2024-11-09 21:43 陕西
投了200家了,没几个面试的,真不给双非机会啊😭😭😭
点赞 回复 分享
发布于 2024-10-21 14:23 辽宁
哥,推荐点网课
点赞 回复 分享
发布于 2024-10-20 18:40 黑龙江
大伙还想知道什么,如果我知道的话,后续我可以继续出
点赞 回复 分享
发布于 2024-10-19 20:02 广东

相关推荐

期末周面完准备考试去了今天才回过头来总结,想了想还是发吧,不堪回首应聘岗位: 微信金融架构部后台开发实习生面试时长: 约60分钟面试形式: 视频面试 + 在线编程1. 简单的自我介绍自我介绍实习地点与时间2. 手撕算法题要求在45分钟内完成4道编程题。第一题: IPv4地址字符串转为无符号整数。第二题:二叉树中的最大路径和。第三题:链表尾部的K组节点为一组翻转。第四题:带有优先级的括号匹配。 (例如 {[()]} 合法, [{}] 不合法)3. 项目细节与基础知识提问针对简历中的 “高并发AI聊天系统” 项目:Q: 请介绍一下你这个高并发AI聊天系统的项目,以及你在其中承担的职责。Q: 为什么在服务器中需要使用动态线程池?Q: 你的线程池中的线程具体处理什么工作?是CPU密集型计算还是涉及RPC调用等I/O操作?Q: 你们的数据库是怎么访问的?服务端的架构是怎样的?Q: 你的Reactor框架是自己写的还是用了开源库(如muduo)?Q: 既然你用了epoll,为什么不直接在工作线程里也起一个EventLoop来处理多个连接请求,这样效率更高?Q: 你如何设计应用层协议?以及如何解决TCP粘包和拆包问题?针对C++及计算机基础知识:Q: 简单介绍一下面向对象的封装、继承和多态。Q: C++中 class 和 struct 有什么区别?Q: 如何解决菱形继承问题?Q: C++的多态有几种实现方式?Q: C++11有哪些新特性?Q: 介绍一下分段式内存和页式内存。Q: 当内存满了需要换出时,这个工作由谁来做?4. 反问Q: 根据我这次面试的表现,您觉得我在哪些方面需要重点改进?这次面试项目八股整体上不算特别难,但主要在期末周很久没准备加上开头的闪电四连鞭给我心态整崩了,后面一些准备过的八股也想不起来,项目的问题也是确实没深入思考过,现在总结来看这次面试确实学到了很多,补齐了很多纰漏。
查看21道真题和解析
点赞 评论 收藏
分享
评论
29
179
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务