xiaoji1543 发表于 2023-10-16 16:55:52

研究生生涯还剩两年,学C++(达到可以找工作的标准)时间够用吗?

研三师兄学的java,已经签了工作;研二师兄一个要读博,一个在学c++,师兄的意思是想让我跟他学C++,以后有啥不懂的还可以问他。但是我看了很多资料以及其他问题的回答,都说C++内容很多很繁琐,所以就想问一下两年时间(每天能够有效学习编程的时间在4-6h)能够学到能找到工作的程度吗,还有就是具体需要学习什么内容?(本人具有一定的C语言基础,但不是计算机专业,也不是很精通)

疯狂de少年 发表于 2023-10-16 16:56:33

如果只是学C++基础语法,你就是倒背如流,也找不到工作!
C++的从业方向有很多,这里推荐你linux C++服务端开发,最容易进鹅厂的岗位之一,两年时间绝对够了!
下面分三个阶段介绍这个岗位的知识,学到第二阶段,能进创业公司,学完第三阶段,工作随便找。

这些内容学完以后,基本上具有了工作两年的水平,别说校招,就是社招找工作都是非常简单的。

记得帮我点赞哦。

为了方便大家,我把以下推荐的所有书籍、工程文件、开源工程地址,都已经整理好了,需要的同学可以去下载。
linux C++技术路图及推荐学习资料下载第一阶段:C++入门

很多同学问我,学C++要先学C语言吗?当然不需要!
C++和C语言本来就是两种不同的编程语言,但C++确实是对C语言的扩充和延伸,并且对C语言提供后向兼容的能力。
所以,如果你本身就要学C++,反而从C语言开始,把C语言学完以后,还需要重新学习和适应C++的区别和特性,浪费时间。
当然,如果你原来就会C语言,那你学C++会更快。毕竟,他们之间的区别并不像跟其它语言一样那么大。

http://pic1.zhimg.com/v2-6722853fefaa8137510ab0b97c6efc60_r.jpg?source=1940ef5c
第一阶段,大家只需要了解C++的语言基础、一些基础的linux命令和常用的几个数据结构即可。
我们只需要能够在linux上面简单跑起来代码,或者直接在IDE中跑出来,也是可以的。
在这个阶段,我们需要的是快速入门,最后我们可以做一个电子词曲人小项目,以使用C++的基础知识。(电子词典的源码将和推荐的书籍、技术路图一同提供)
强烈大家刚开始要跟着视频学,C++本身就难,如果自己看书的话,会非常吃力。在看视频的同时,把书做为辅助,有奇效。
视频强推侯捷老师的C++面向对象程序设计,我当前入门C++就是跟着侯老师学的,讲的非常仔细,现在候老师在B站上开源他的讲课视频,大家可以去看:

http://picx.zhimg.com/v2-d4364819d316774c23a7433ae1997fd3_r.jpg?source=1940ef5c
候捷-C++面向对象高级开发(上)_哔哩哔哩_bilibili候捷-C++面向对象高级开发(下)_哔哩哔哩_bilibili但候老师的课,一如即往的每节都非常长,短的也要三十分钟……着实很难坚持。
对于定不住的同学,可以看小甲鱼的《C++快速入门》,每个视频十分钟左右,共49集,看完以后,再看候老师的课会轻松很多。

http://pica.zhimg.com/v2-f01c4b5643e9706eb2005de94b4512dd_r.jpg?source=1940ef5c
【C++语法】《C++快速入门》_哔哩哔哩_bilibili配置书籍首推《C++ Primer》
本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。

http://picx.zhimg.com/50/v2-64bf15ec532c97f6f0192815d706e751_720w.jpg?source=1940ef5c

(后面会提供下载地址)

《Effective C++:改善程序与设计的55个具体做法》(中文版)
一共组织55个准则,每一条准则描述一个编写出更好的C++的方式。每一个条款的背后都有具体范例支撑,教你怎样才能写出优雅的C++代码。这里也是很多关于C++方面面试问题的出处。

http://picx.zhimg.com/v2-054f5255075187a2fc7e8988ea40a15a_r.jpg?source=1940ef5c

(后面会提供下载地址)

第二阶段:C++进阶

这个阶段主要了解STL的使用,学会应用一些常用的设计,并且能够开发一个贪吃蛇项目,以学习类和设计模式的使用。

http://pica.zhimg.com/v2-b37a498990ca1460a09c5214af0cfe37_r.jpg?source=1940ef5c
有关STL标准库的使用是比较难的,同样推荐大家以视频入手。
再次感谢侯捷老师,他录制了46集的系列视频讲解了《C++ STL标准库和 C++ 泛型编程》

http://picx.zhimg.com/v2-294b51d9114343f4e336eec3d85ffab9_r.jpg?source=1940ef5c
【高清完整版】侯捷-C++ STL标准库和 C++ 泛型编程_哔哩哔哩_bilibili配置书籍推荐《C++ 标准程序库》
这本书给我感觉就是既适合初期入门,又适合当字典用,因为里面的内容比较多,好多第一次记不住。
所以也可以大致看一遍,以后用时再具体记,这样根据实际去学习我个人觉得效果会更好。

http://picx.zhimg.com/v2-eb10440b2cdfbf3b6ecf68b73d1cca85_r.jpg?source=1940ef5c

(后面会提供下载地址)

《STL源码剖析》
学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。在你仔细推敲之中,迷惑不解之时,恍然大悟之际,你的经验、思维、视野、知识乃至技术品位都会获得快速的成长。

http://pica.zhimg.com/v2-409a4f7cca016f120a918a078aaef618_r.jpg?source=1940ef5c

(后面会提供下载地址)

第三阶段:征服Linux

到了这部分,就真正开始涉及linux开发了

http://picx.zhimg.com/v2-e6ef898aa8755673c1fc794c8fb61f1b_r.jpg?source=1940ef5c
首先,我们需要熟悉Linux的常用基本指令:

http://picx.zhimg.com/v2-4ce3fafcabe398cae3208f8bd16d26a7_r.jpg?source=1940ef5c
书籍首推《鸟哥的linux私房菜》:

http://pica.zhimg.com/v2-afc9e3d1bd484e36914e55b2ea6e134c_r.jpg?source=1940ef5c

(后面会提供下载地址)

内容讲的很好,比较简单易懂,当然,如果你还是觉得困难的话,可以跟着视频一块学,在B站有一些up主录制了《鸟哥的linux私房菜》的教学视频,可以一起参考:

http://pic1.zhimg.com/v2-6ea850039d0d668e5f631d3dcadcdc63_r.jpg?source=1940ef5c
鸟哥的私房菜linux_哔哩哔哩_bilibili然后,我们需要学习各种基于linux的编程API,分别学会系统编程、网络编程、数据库编程。这些内容学完,已经能够自行实现软件开发了,找个工作问题不大。
1、系统编程

众所周知,Windows系统编程里有各种各样的Windows API,同理Linux系统API的使用就更加重要。

http://picx.zhimg.com/v2-c6e4c2dfabf1686c226de91d9e8a45ec_r.jpg?source=1940ef5c
2、网络编程

后台开发是离不开网络编程的,甚至简单来说,后台开发就是用厉害点的电脑去处理大规模的网络请求。所以作为一名合格的后端开发人员,对Linux网络编程的熟悉是必不可少的。

http://pica.zhimg.com/v2-59fd1260e6643d14d931b0fa761cc60c_r.jpg?source=1940ef5c
3、数据库编程

如果只是会MySQL基础可能是远远不够的,像是Redis,MongoDB等非关系型数据库也是当前的热门。分布式数据库,分布式存储是当前每个大公司都会非常重视的核心,所以数据库基础非常的重要。

http://picx.zhimg.com/v2-b995deb4e6a82c9cc1b2b06a6ca6e78d_r.jpg?source=1940ef5c

http://pica.zhimg.com/v2-deee1e094add123b253affd7d740282f_r.jpg?source=1940ef5c

(后面会提供下载地址)

一般而言,Linux/Unix的书籍会一齐覆盖系统、网络、数据库这三个方面的知识。所以,这里的书籍做一次统一推荐。
首推Linux编程经典书籍:《UNIX环境高级编程》,本书是被誉为UNIX编程“圣经”,这本书大而全,但也比较难啃,可以挑着看

http://picx.zhimg.com/v2-778bf4aa9ffde1f736e07ba140b718d6_r.jpg?source=1940ef5c

(后面会提供下载地址)

如果觉得上面那本书看不懂,那推荐《Linux高性能服务器编程》,这本书对菜鸡比较友好,内容很庞大,而且基础讲解的比较详细。

http://pic1.zhimg.com/v2-73c781e1aa81c53fb6b1d07940be28b7_r.jpg?source=1940ef5c

(后面会提供下载地址)

如果只是会MySQL基础可能是远远不够的,像是Redis,MongoDB等非关系型数据库也是当前的热门。
分布式数据库,分布式存储是当前每个大公司都会非常重视的核心,所以数据库基础非常的重要。
MySQL入门建议可以看《MySQL必知必会》。原理比较少,基本都是语法和使用细节,适合先过一遍。

http://pica.zhimg.com/v2-05161ee651874d577dc0464d7fae70e4_r.jpg?source=1940ef5c

(后面会提供下载地址)

Redis入门可以看《Redis设计与实现》这本书。非常详细的讲了Redis的底层数据结构,包括其集群部分也做了很好的解释。除此之外可以再去理解一下分布式的Raft算法,Gossip协议等等。

http://pic1.zhimg.com/v2-a4b14a58bafba594421c4dc0119731d8_r.jpg?source=1940ef5c

(后面会提供下载地址)

很多同学在学习的同时,想要做些实战项目,我也把Github的优秀开源项目进行了整理,这里也分享给大家。

http://pic1.zhimg.com/v2-0ad806ff1f91c99c36a08645719e4680_r.jpg?source=1940ef5c

(下载地址见下文)

关于linux C++开发,除了这些还有很多内容,但只要能把这些学会,找份工作是非常简单的,其它的在工作中用到的时候慢慢学习就行啦 。
整个linux C++的学习路线和学习资料都推荐给大家了,正如我文中所说,技术的学习并不是线性的,有时候,我们会发现一本书中在学着A同时讲解着B的知识,而你会发现我居然没把B跟A列在一个等级。
这是因为我分割技术时,是以是否以找工作必备为前提进行划分的,对于找工作必备的知识点我尽量靠前,对于不那么必需的技能,一般往后放,以减少大家初入门时的学习压力。
希望能帮到你,大家帮我点个赞吧。

另外,我把我这些年的所知所得,整理成了一本书,开源到github上了。相信会对大家很有帮助,大家可以去看.
目前还在持续更新,欢迎大家star。
地址:https://github.com/harvic/FightingCoder

http://pica.zhimg.com/v2-e874aee04b3177532fa3c83aab902a95_r.jpg?source=1940ef5c
好了,这篇就到这了,希望大家毕业都能找到好工作。
我是 @启舰 ,原创不易,帮我点个赞吧。


本人所有文章皆为原创,著作权归@启舰 所有,未经授权,转载必究

扇公子 发表于 2023-10-16 16:56:50

其实远远用不了两年,甚至连一年都不需要。C++不管多繁琐,它也仅仅是一门语言而已,别把它想的太复杂。
我当年自己学 C++,是高三那年给高考解闷用的。就这么零敲碎打的时间,学到足够用它来做简单的项目,也用不了一年的时间。
怎么学?千万别被 C++ 很繁琐吓到,不要上来就啃那些大部头的书,否则你很容易被打击兴趣的。

[*]找一本好点的书,例如C++ Primer,粗粗的了解最基础的语法和程序结构。然后照抄书里面那些简单的例子。找最简单的那种例子,抄上十几二十个。不要计较那些细节,就是照抄,在实际的环境中把它编译通,抛出正确的结果。不要copy/paste,不要上网找代码,就简单打开编辑器,照着书,用手抄。这一步的目的,是给你找编程的感觉。编程是有肌肉记忆的,你会在潜意识里形成一种记忆,一个C++程序看上去是什么样子的,编程序大致是个什么感觉和套路,这就够了。如果你编程基础好的话,有个三五天时间就找到感觉了。
[*]接下来,在B站上找一些视频,开倍速,快速看。这些视频可以帮你系统性的构建知识体系,同时也提供了更多的例子来供你学习。一边看,一边把视频中提到的例子代码抄下来,编译好运行通。同时,打开一个文档,做好你自己的笔记。视频中不懂的地方,可以反复回放,或者直接上网查。你身边有师兄带,就更方便了。
[*]视频看得差不多,又可以回过头来看书了。比如说《C++ Primer》。这时候看书,就不是从头到尾啃了,而是差缺补漏。把视频中没看透的那些概念,再补一遍。然后把书上的习题也做一遍,看看是不是真的学会了。
上面这一套走下来,按照你一天 4 ~ 6 小时的估计,也就差不多 3 个月时间吧。剩下的时间,大量的刷题。既然是准备拿它找工作,就刷leetcode吧。把easy和medium水平的题目给刷个七七八八,去大厂找工作足够了。当然,编程就是一个熟能生巧的过程,刷题无止境。你写的代码越多,碰到的实际问题越多,在实际工作中就越容易随心应手。
刷完leetcode,基本上你就已经入门了。找工作是够用了,下面就是进一步提升吧。可以考虑读一些经典的代码,例如STL和boost库。这两个代码是比较虐的,这时候会体现出C++的复杂之处了。建议读一本书叫《Effective C++》,它可以帮你避开一些常见的坑。
《STL源码剖析》是一本劝退书,我不大喜欢。看它不如直接去读源代码,去思考作者为什么这么写。自己思考得到的知识,总比别人喂给你的要有效的多。
C++是一门入门简单,精通极难,天花板很高的编程语言。更多精深的东西,等到你真的以它为职业后,在工作中慢慢探索吧。

www.im286.net 发表于 2023-10-16 16:57:33

我校招时找的就是C++工作,如果C++要学到能找工作的标准,完全不需要两年时间,每个4个小时,一年时间其实就已经很充裕了。
有C语言的基础后,入门C++相对简单一些:
你需要了解这些知识点:
重载的定义与使用、namespace、class与struct的区别
模板使用
程序喵大人:c++11新特性之模板的改进指针与引用
程序喵大人:面试系列之指针和引用的使用场景多态
new/delete使用
程序喵大人:new和delete以及new[]和delete[]一定要配对使用吗四种强制类型类型转换
面向对象布局
程序喵大人:面试系列之C++的对象布局【建议收藏】C++11 新特性
程序喵大人:c++11新特性,所有知识点都在这了!类型推导
程序喵大人:C++11的类型推导详解RAII特性
程序喵大人:RAII妙用之计算函数耗时智能指针
程序喵大人:c++11新特性之智能指针线程的使用:
程序喵大人:c++11新特性之线程相关所有知识点std::function和lambda表达式:
程序喵大人:c++11新特性之std::function和lambda表达式列表初始化
程序喵大人:c++11新特性之列表初始化左值右值
程序喵大人:左值引用、右值引用、移动语义、完美转发,你知道的不知道的都在这里C++14新特性
程序喵大人:C++14新特性的所有知识点全在这儿啦!C++17新特性
程序喵大人:C++17新特性内存检测问题:
C++不用工具,如何检测内存泄漏?chrono
std::vector内存扩容以及常用函数
std::array使用
std::map&std::unordered_map
std::list
std::tuple
具体可以看这个
c++到底该怎么学?关于C++还有一些编码规范问题可以移步到这里:
大一下,写数据结构觉得自己写的代码像辣鸡一样,自己都不想看怎么办?至于学习资料:
这里我只列出来两本学习C++的书:
《C++ Primer Plus》,注意是Plus
《Effective Modern C++》
可以按顺序阅读,我相信读完并理解这两本书的内容可以算是入门C++啦。
有喜欢看书的也有喜欢看视频的,这里再推荐个比较好的C++视频教程:
清华大学郑莉教授的视频,通俗易懂
【附课件&源码】【基础篇】清华大学-郑莉-C++语言程序设计_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili打完收工。
从去年年初开始写文章以来,受到很多朋友关注,我把之前写过的所有C++文章学习资料全部系统地整理成PDF电子书,可以说干货满满,可以点击下方卡片获取:
程序喵大人:整理了一年的Linux C++武林秘籍,你早晚用得到(C++进阶必看)觉得不错的话,记得给 @程序喵大人 点个赞吧!

小新技术 发表于 2023-10-16 16:58:04

2年足够了。这题感觉就是给我量身定制的。
小老弟我6年前游戏直播平台直播写c++游戏,3年前转战知乎的。这是我当年买的书。放一起合个影。

http://picx.zhimg.com/v2-63dfd3bdfb67c237e24f0c86dbab2dd0_r.jpg?source=1940ef5c
知乎c++大佬们推荐的书我都给买了,就是为了跟得上大佬们的步伐。我知道书买的还不够,看的还不够,我还要继续努力去读。

http://picx.zhimg.com/v2-7c1d3013baad9a6771dbaadaba3fcf81_r.jpg?source=1940ef5c
小弟立志成为c++学霸,支持的话,请点个赞,小弟会继续努力买书,写读书笔记,帮大家爬坑。
你师兄学的java,我都早看完啦。想看语言之间优劣的话不妨点个关注

http://pica.zhimg.com/v2-10f658c40ee1386ea2808cb245c9e4d8_r.jpg?source=1940ef5c
这些书,都是你和是你师兄必须掌握的内容。想要避坑,不妨看看我的文章,点个关注,我会陆续根据大家喜欢的内容和顺序,来讲知行合一。什么叫编程。什么叫能够找到工作的编程,什么叫做,可以随意变更编程语言的编程。什么叫做干一辈子编程。
小弟的新作

[*]新手如何系统性地学习编程?
[*]#程序新人怎么才能提高编程语法能力?
[*]C#、C++、Java、Python 选择哪个好?
[*]为什么这段相同的代码Java比C++运行得更快?
[*]你都用 Python 来做什么?
[*]C++ 如何入门?
[*]如何正确通过 C++ Primer 学习 C++?
[*]认真学完 C++ Primer 后,C++ 语言到了什么水平?
[*]大一学的是C语言,现在需要学习《数据结构与算法》,请问学习C++版的《数据结构与算法》有影响吗?
[*]2020年各位后端开发者更看好谁,Java,go,node.js还是php(swoole)?
[*]家境贫寒能否选择计算机专业?
[*]作为一名程序员,您有想象过当自己 70 岁的时候还乐此不疲,津津有味地编写代码吗?
[*]是否应该放弃C++转投Java或Python?
[*]c++程序员真的是工作的时间(年)越长越好吗?
[*]29岁转程序员,应当选择哪个学习方向才能保证相对的竞争力?

008at 发表于 2023-10-16 16:58:27

两年时间都不够的话,早点转行搞其他的吧,估计不适合在it行业混。
很多人真正花在技术上的时间加起来也没那么多的。大部分时间其实就是上上课,作业随便写一写,过关就行的。实打实写代码的时间没多少。
有人带多好呀,自己搞的话,那问题肯定少不了。
你这有有经验的人带,感恩吧!你遇到好人了,需要的就是努力了。
先把语言基础学好,再写一写项目,刷刷题。
加油吧,路线或是资料什么的,你师兄估计也心里有数。
整挺好。
一个不是很了解CS(计算机科学)的人,该从哪里开始自学CS?
页: [1]
查看完整版本: 研究生生涯还剩两年,学C++(达到可以找工作的标准)时间够用吗?