双非本计算机从零开始三年努力能做到什么程度【学习路线回顾&总结&问答】_codeforces数论+数据结构

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

在刷题之余,抽空学了Django框架,打算做一个OnlineJudge,不过最后因为难度和时间的关系搁置了,不过在未来的某一天一定会出现在大家面前的~

1.6 大三下
1.6.1 第六个学期&第三个暑假

继续刷题,备战4月的昆明,结果昆明又铁了,之后就打算退了,因为一直占着位置也不好,而且还出不了成绩,然后就滚去考研复习了,然后就和上次提到的接轨了,这个时候才开始准备,真的感觉有心无力,周围的队友都一轮复习快完了,我才开始,后面复习复习着就跑路了,就是这里的剧情了:https://acmer.blog.csdn.net/article/details/127457819

1.7 最近

最近签了三方后,感觉压力明显小了许多,现在在学习网络安全相关的东西,以及继续学习C++相关内容,然后每天看看买的4k电影,去完成第二课堂的一些劳动任务(志愿时长、生成顶岗、职业能力等),体验一下不用内卷的生活,哈哈,后面会考虑继续更新天梯赛系列视频或者算法小讲堂~

在这里插入图片描述
在这里插入图片描述

二、关于竞赛

2.1 书籍推荐

在这里插入图片描述
这本书比较适合新手,内容从简到难,感觉梯度不大,不过训练的平台是POJ这个有点难受

在这里插入图片描述
这本书难度跨越较大,前几章到后面的内容难度梯度很大,建议学完基础的算法再来看这本书(也就是下面讲到的第三阶段),不过内容质量还是不错了,训练平台是UVA可能需要科学上网

在这里插入图片描述
这本书主要是学习数学方面的东西,涵盖的比较广,比如离散数学、数论、生成函数等等难度偏大,感觉可以缓慢推进学习,这本书需要慢慢啃(我到现在还没看完,之前还打算做一个专栏专门记录和讲解来着……)

其他的书并不是笔者认为不好,而是笔者没有读过,所以不好随意评价,也不好推荐没有阅读过的书籍,所以抱歉啦,不过我认为更重要的并不是在书籍上面,而是从实际的比赛中或者训练或者博客中学习

2.2 B站up推荐

ps:排名不分先后,我毛遂自荐一下(

名称空间地址特点
qscqeszehttps://space.bilibili.com/611212算法小讲堂涵盖了很多基础和进阶的算法,以及讲解了很多远古场的cf
Sonoko_Watanabehttps://space.bilibili.com/7711573感觉进阶算法讲的挺多
大雪菜https://space.bilibili.com/7836741只从b站来看的话,适合观看leetcode、acwing周赛题解和面试相关的题目,但是可以花钱去acwing平台购买更多内容
正月点灯笼https://space.bilibili.com/24014925感觉这个up的话适合一些没有基础的同学听,讲的内容是比较基础和易懂的,纯教学向
电音抖腿不能改https://space.bilibili.com/35198030知名codeforces div2 题解up
kaptreehttps://space.bilibili.com/486738984讲一些入门算法讲堂(并附题单)以及天梯赛、蓝桥杯真题
2.3 学习路线

我知道大家都很关心学习路线,也会在学习算法的时候有很多疑问,是应该多刷题从题中学习算法还是说先学算法,再去刷对应的题,开始的我也有这个疑问,于是在知乎提了这个问题:

在这里插入图片描述
问题传送门:https://www.zhihu.com/question/361725313

有很多前辈都给出了很不错的建议,以及自己的学习方法,其实我想说学习方法最好是能找到一个适合自己的,如果实在不能找到,那就选一个你认为不错的方法,然后去习惯他

  • 第一步、在现在我的感受看来,我认为可以先去做一百题左右的基础题目,就是那种完全没有算法的题目,比如出名的HDU100题,或者其他平台的
  • 第二步、从 入门 的一些算法开始学习(这里去学相关的算法可以去B站搜相关的名称或者去一些博客或者OI-wiki看相关的原理讲解或者你也可以去一些平台例如牛客竞赛、acwing购买相关的课程,手把手教你),不要太浮躁,要搞清楚算法的原理,以及应用,也就是能解决什么问题,然后去Vjudge或者洛谷、牛客这些地方去找对应的题单,然后刷题,遇到一些不会或者认为很好的题目,可以记录下来,方便以后复习,当然你也可以全都记录下来,记录的时候需要注意,写上思路以及自己的代码,不要只粘一个代码,重要的是你怎么一步步想到这里来的,至于基础算法有哪些,可以参考OI-wiki的基础算法板块,或者参考牛客和acwing的基础算法班,然后偶尔参加一些平台的训练赛,例如 codeforcesnowcoderatcoder等等,检验自己,然后赛后把自己本应该做出来的题目补一下(这个很关键!)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 第三步、这个阶段其实你已经掌握了大部分用得上的算法了,不过如果想参加XCPC或者说想提高算法能力的话,可以学习一些高级的算法,可以往某一个方向,图论、数论、数据结构、动态规划发展,算法的学习同样可以去找一些免费的视频或者博客,当然也可以去上面提到的平台购买(我这里购买了牛客的专项课程,买了数据结构、动态规划、数论、字符串),这个看自己吧,学完后仍然是找对应的题单,然后专项练习,完事后就需要刷cf div2套题了,根据自己实力来吧,比如平时能做三题,那么结束后去把第四题补了,以此类推,注意的是找到一些思维的手感,特别是某些构造题目(遇上了真有点看运气和手感),然后如果有时间的话,各大平台的比赛也最好参加吧,同样赛后补题加记录,如果有队友的话,建议一周拉队友打一次cf gym 拉一些往届的真题做一次vp,配合真的很重要,毕竟“三个臭皮匠,顶个诸葛亮”,打比赛的时候会有很多同学害怕掉分,所以打着打着就不打了,这一点我觉得可以开两个号,哪一个低就打哪一个,这样的话,会好受一点?

题外话:

  • 语法入门班,我个人认为不管是哪个平台的都没必要,这种东西真的很简单
  • 思维题多做,感觉xcpc越来越喜欢思维题了,多找找手感吧
  • 有时间可以去看看洛谷日报,里面可能就会有一些黑科技还很好用或者是拓展自己视野的东西~
  • 你要思考你是否真的需要学习这些高级的数据结构和算法,如果是找工作那么前面的第二阶段已经够了,这一部分就需要你大量付出时间去学习了,算法竞赛感觉这几年越来越卷了,搞不好你就三年打铁,啥也没有,所以你需要思考是否能接受这样的结局,如果不能的话,建议及时止损,去卷一些其他的

在这里插入图片描述

2.4 我的训练平台

这里列出我以前训练用的一些平台,关于这些平台的话,可能有的平台已经不适用了,这一点大家自行斟酌咯,当然我这里推荐一个up的视频:【人生经验谈】算法竞赛如何上分

  • FJUTOJ:491题

传送门:http://120.78.128.11/index.jsp

在这里插入图片描述

  • Codeforces:214题

传送门:https://codeforces.com/

在这里插入图片描述

  • atcoder 大概100题

传送门:https://atcoder.jp/

在这里插入图片描述

  • 洛谷 205题

传送门:https://www.luogu.com.cn/

在这里插入图片描述

  • 牛客 271题

传送门:https://ac.nowcoder.com/acm/contest/vip-index

在这里插入图片描述

  • HDUOJ 73题

传送门:http://acm.hdu.edu.cn/

在这里插入图片描述

  • vjudge 117题

传送门:https://vjudge.csgrandeur.cn/

vjudge炸了,就先不放图了

  • leetcode 89题

传送门:https://leetcode.cn/

在这里插入图片描述

  • acwing 大概两百题

传送门:https://www.acwing.com/
在这里插入图片描述

  • 本校的OJ(老+新) 大概300题吧

老OJ已经炸了,新OJ两百来题(不过大部分题目本来是准备给新队员训练的以及比赛的题目)

传送门:http://acm.mangata.ltd/
在这里插入图片描述

  • 还有一些零零散散的OJ吧,不过那就不是主要的训练平台了~

三、开发&工作

这里默认大家有一定的计算机基础,例如:学习过程序设计设计、数据结构、计算机组成原理、计算机网络、数据库这些,如果没有的话,这里有一个cs自学指南,可以在上面去找相应的课程~
https://csdiy.wiki/

这个是笔者自己搭建的网盘,用于存储电子书籍,如果有中意的可以直接下载哦~:
http://yun.mangata.ltd/s/x9T4

3.1 书籍推荐

排名不分先后

《C primer plus》
在这里插入图片描述
《C语言深度解剖》

在这里插入图片描述
《剑指offer》

在这里插入图片描述
《图解TCP/IP 》
在这里插入图片描述

《Linux高性能服务器编程》
在这里插入图片描述
《Effective Modern C++》
在这里插入图片描述

3.2 技术学习

通过前面的回顾,大家也能看出在开发方面其实我的钻研是不够深入的,我是今年八月份初的时候才确定找C++开发方向的,由于之前的一些Linux编程的基础,所以过度起来不是很恼火,看了一眼之前的项目,发现都是一些小玩具,于是打算再边面试边准备,于是接触到了webserver这个网红项目,开始的时候是在b站上找,不过后面发现牛客也有相关的免费教程,于是转战牛客,事实证明,看完后发现牛客的视频是比较偏向基础的(我是直接从项目开发开始看的,所以不是很清楚前面讲的如何),不是很困难,而且他还是从Linux编程入门开始讲的(所以后面不会放一些系统编程、进程、线程、makefile这些基础的东西了,因为大纲里面都有),这点非常不错,我放一个链接:https://www.nowcoder.com/courses/cover/live/504
在这里插入图片描述
当然这是比较基础和烂大街的项目,不过用来练手还是可以的,然后接着可能需要去学习一些关于分布式和一些中间件、或者开源组件的东西比较好了。关于这一部分内容我觉得可以看一下零声教育的这个大纲,我感觉还是比较全面了,不过他们的课要钱而且有点贵,当然也是可以白嫖一些内容的,不过这需要善于搜索资源了

零声教育大纲:https://www.0voice.com/uiwebsite/html/courses/v12.5.html

ps:下面的内容没有学习先后顺序,只不过我想到哪就说到哪了,学习的时间顺序建议按照自己的情况来看~

  • 关于分布式:我的个人感觉可能先去学习MIT 6.824的课程然后再去学习grpc会比较好?这个我也不是很清楚,反正我是这样计划的,目前正在学习课程

课程链接:https://www.bilibili.com/video/BV1R7411t71W

grpc:https://github.com/grpc/grpc

我也看到很多大佬手撕自己的rpc

  • 关于消息中间件,感觉C++可能需要学习的就是grpcRedisnginx ,需要具体学到什么程度可以参考上面的零声教育大纲,你直接去谷歌或者百度搜索你要学的内容即可,不过貌似grpc英文的资料多一点?
  • 然后就可能需要掌握一点关于云原生方面的知识,比如dockerk8s相关的东西,还有gitsvn的使用(不过一般就git就行了)

docker入门的话推荐这个:https://www.bilibili.com/video/BV1r3411W79q
docker的一个文档:https://www.kancloud.cn/zatko/docker/2291357
至于docker的进阶,我感觉可能需要大家去官网或者一些博客看看?,官网地址:https://www.docker.com/

git的话推荐廖雪峰老师的博客:https://www.liaoxuefeng.com/wiki/896043488029600,当然如果看不懂的话,可以去b站搜一下视频?不过我感觉没必要

nginx 的话我看的是狂神的:https://www.bilibili.com/video/BV1F5411J7vK ,感觉比较入门和简单

  • QT,这一块怎么说呢,可能有很多小伙伴都做过相关开发,这一块其实不属于后端开发了,属于客户端和软开,不过,有幸学习入门过一短时间,我就分享一些我之前收集的资料吧

QT官方文档:https://doc.qt.io/qt-5/classes.html

《QT 学习之路 2》:https://www.devbean.net/2012/08/qt-study-road-2-catelog/

  • 设计模式这一块只需要去百度或者谷歌看一下就行,感觉很少提到这个问题
3.3 刷题

对于一些选择、填空题,我觉得可以去牛客上面的题库专项练习去多做做选择题

传送门:https://www.nowcoder.com/exam/intelligent

在这里插入图片描述

如果是一些编程题目,我看好多人推荐leetcode hot 100https://leetcode.cn/problem-list/2cktkvj/,我感觉可能还需要去牛客的平台刷一刷,因为有很多公司的模式是

A

C

M

ACM

ACM 输入输出模式,需要熟悉一下,牛客上面也有一个类似的nowcoder top101https://www.nowcoder.com/exam/oj?page=1&tab=算法篇&topicId=295

感觉对于面试这两个题库已经够了?感觉笔试的题目多是链表、二叉树、动态规划的题目,大家可以多注重一下这个,大厂感觉喜欢动态规划,当然简单的图论和数据结构还是要学学,当然目标是大厂的话可能需要多刷刷,拓宽一下自己的算法技能树

3.4 面经

之前已经分享过了,我这里就直接粘贴过来吧 ~


这里的话,我开始是收藏了许多C++的面经,最后我发现小林coding讲的是真的不错(虽然只看了图解网络部分),于是后面计网部分的讲解我就基本看的小林coding:https://xiaolincoding.com/

我再附上我收藏的一些其他人的八股文吧,感觉还是非常有用的~

标题Link
秋招结束,春招再战!(附面经)https://www.nowcoder.com/discuss/125248
面试鹅厂c/c++后台开发岗,要学到什么程度才可以?https://zhuanlan.zhihu.com/p/513407028
谁能分享一下c++工程师面试经验?https://www.zhihu.com/question/423364880
牛客官方C++面经https://www.nowcoder.com/issue/tutorial?tutorialId=93
2018年秋招面试经验总结https://www.nowcoder.com/discuss/140814
牛客面试题收集https://www.nowcoder.com/exam/interview

至于其他的内容我就不太清楚了,欢迎大家评论区补充吧,因为我自身开发经验就不太够,而且也没有实习,可能见解比较片面,哪里说错或者说的不好希望大家海涵吧~

四、问答环节

  • Q1:学长 我想问问算法学习有啥路线 和好的经验习惯吗 因为最近打比赛看大佬的代码 有些写的真的很长 用到很多结构 就感觉自己很菜 想问问学长如何学习的算法,目前在学习acwing的算法基础课,cf的div3只会a、b

1.我个人的建议的话就是acw基础算法学完,然后多刷cf,最好每周两套div3 A-E,做不来就看别人的题解,胖到现在很多同学都会在b站发布视频题解,这个你可以留意下,如果你很需要的话,然后去选一个方向深入学习,比如数据结构或者图论,数论,当然在一些公共的算法要掌握,如果掌握算法自己不会太能变通,那就多刷题,每一种算法去vj上面拉题单,平时多在各个平台参加比赛,然后比参加比赛更重要的就是补题,当然如果有余力可以写博客记录自己的刷题,方便后面的复习

2.至于深入学习的话可以购买acw的提高课或者牛客的专项课,前者我没看过不过yxc的名气应该也不会太差,不过貌似听说就是一大堆题单,如果你喜欢yxc这种手把手授课模式那可以购买这个不然的话可以去牛客上面购买专项模块,他们请的都是近几年的金牌选手授课,质量还是不错的,不过可能需要基础扎实一点,这个我买了几门感觉不错当然你也可以不买课程,这样的话就建议以oi-wiki和博客为主,然后b站为辅然后去学习

  • Q2:关于公司的笔试题目需要刻意去刷题吗?

你先随便刷几套选填的题目,如果发现很简单的话,那就没必要了,但是如果有很多不知道的地方,那么我觉得还是有必要的,至于编程题,我认为还是需要长时间的刷题去维持手感,同样如果你之前有过竞赛经验,那么稍微熟悉一下各个平台的做题方式,然后多刷刷动态规划就行,如果没有的话,我认为至少每天做一题吧,不过别做简单题,没用,所以综上所述要看你的能力

  • Q3:面试官都问了你数据结构的问题是因为这个在工作阶段很重要吗?

数据结构更多的是反馈你在大学阶段有没有认真学习,而且很多的一些开源框架或者项目的底层都会有一些很高级的数据结构,比如红黑树,LSM树、B+树等等,对于不同的场景,也会有不同的数据结构作为支撑,学习数据结构大概就是从原理上去学习这些东西,真正的这些开源项目的实现都是很复杂的,作为学生可能会很少接触到,所以就会问一些数据结构的问题

  • Q4:推荐学习哪个方向的技术比较好进大厂

我认为任何方向,想进大厂,那么还是需要沉淀的,只要你在那个方向学的很深入那么还是很有把握的,所以选一个自己喜欢的方向开卷就好了(当然不建议非92卷算法岗,对于学历有限制的一些方向就不要去卷了)

  • Q5:我有点纠结明年到底是考研还是实习,家里面之前是想我就业,现在又想我先考研,但是我自己还是比较想先就业,但是今年感觉都很困难了,明年估计更困难

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

深入那么还是很有把握的,所以选一个自己喜欢的方向开卷就好了(当然不建议非92卷算法岗,对于学历有限制的一些方向就不要去卷了)

  • Q5:我有点纠结明年到底是考研还是实习,家里面之前是想我就业,现在又想我先考研,但是我自己还是比较想先就业,但是今年感觉都很困难了,明年估计更困难

[外链图片转存中…(img-MBwSgRxg-1715800475177)]
[外链图片转存中…(img-W5EYaFNe-1715800475177)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值