Codeforces是什么 对找工作有没有用(2)
2023-03-16 来源:你乐谷
之前我给大家科普过leetcode(力扣),leetcode也是一个在线编程的平台,不过和codeforces相比有很大区别,不管是从输入输出的方式,题目的语言(codeforces没有中文,大家必须要懂英文或者俄语才能做题),题目难度分布以及类型,都有很大不同。最大的区别就是,leetcode主要是用来找工作的,而codeforces主要用来搞竞赛的。
那么codeforces的主要功能是什么?其实就是比赛,大家要在规定时间(通常是两个小时)完成6-7题,当然了,真正的比赛很少有人真能把所有题都做出来,一般人能做出3道题就相当不错了。我参加了十几场比赛,不管整体难度如何,从来没有做对超过四道题,都快成魔咒了。
codeforces比赛界面,绿色表示你这道题暂时做对了,为啥只是暂时,后面会说
而且,绝大多数比赛,如果你成功AC (accepted),意味着这道题你稳了,可以放心进行下一题了。但codeforces不是,因为比赛过程只会测试一小部分数据,之后还要面对漫长的hack过程。hack顾名思义就是黑,用官方以外的数据挑战你的代码,某些比赛的hack时间长达12小时。在这个时间,如果有人发现你的代码有缺陷,在某些符合题目要求的输入里,会输出错误结果(WA)或者超时(TLE),他会直接hack你的代码,你的这道题分就没了。
如果你没有被hack,也不要得意,因为最后系统会把hack其他人成功的测试数据全部收集好,所有人统统再重新跑一遍。如果你的代码挂了,对不起,煮熟的鸭子飞了,这就叫Failed system test,简称FST,这是令人非常恼火和沮丧的。我曾经有一次比赛AC了6道题,然后被hack了一道,又FST了一道,最后还是没能打破4题魔咒。
当然了,你被别人hack你也可以hack别人,在某些比赛,你hack别人还可以加分,提高你的排名。因此好多专门搞竞赛的人说hack是codeforces比赛的精髓。
那么,codeforces这样的平台对找工作有用吗?我个人觉得,如果你是初学者,而且只有几个月时间了,那么刷codeforces没有什么意义,还是好好刷leetcode吧。
1,codeforces的题目大多数都不适合面试。
因为要用作竞赛嘛,codeforces的题目原创性都很高,不可能出一些众所周知的经典题目,肯定要改编绕个弯之类的,这一绕弯就大大提升了题目的难度了。
首先介绍一下力扣和codeforces的难度标记。 leetcode网站的难度是三个等级,easy, medium,hard。而codeforces的题目难度是分数表示的,如果强行对应的话,1000分以下对应着easy,1100-1500对应着medium,1600-1900对应着hard,2000分以上就基本不可能出现在面试里了,要不然没几个人做的出来。
有人呢可能会问了,说这些有什么用呢?因为,codeforces1300分以下的题目,或者比赛中A题和B题,都不会涉及到什么算法,纯粹就是脑筋急转弯。只要你脑瓜转过来了,会写简单的if else和循环之类的,基本都做出来。这样的题目,出现在面试里,没有任何意义,毕竟算法面试不是纯智商测试。
那涉及算法的题目呢?对不起,codeforces只要考算法,题目难度都不小,如果涉及两种以上算法,则巨难。比如程序员面试经常出现的搜索类,什么二分, BFS, DFS,记忆化搜索,codeforces只要考了,基本就要是1600分起步,相当于leetcode的hard。
那么codeforces的主要功能是什么?其实就是比赛,大家要在规定时间(通常是两个小时)完成6-7题,当然了,真正的比赛很少有人真能把所有题都做出来,一般人能做出3道题就相当不错了。我参加了十几场比赛,不管整体难度如何,从来没有做对超过四道题,都快成魔咒了。
codeforces比赛界面,绿色表示你这道题暂时做对了,为啥只是暂时,后面会说
而且,绝大多数比赛,如果你成功AC (accepted),意味着这道题你稳了,可以放心进行下一题了。但codeforces不是,因为比赛过程只会测试一小部分数据,之后还要面对漫长的hack过程。hack顾名思义就是黑,用官方以外的数据挑战你的代码,某些比赛的hack时间长达12小时。在这个时间,如果有人发现你的代码有缺陷,在某些符合题目要求的输入里,会输出错误结果(WA)或者超时(TLE),他会直接hack你的代码,你的这道题分就没了。
如果你没有被hack,也不要得意,因为最后系统会把hack其他人成功的测试数据全部收集好,所有人统统再重新跑一遍。如果你的代码挂了,对不起,煮熟的鸭子飞了,这就叫Failed system test,简称FST,这是令人非常恼火和沮丧的。我曾经有一次比赛AC了6道题,然后被hack了一道,又FST了一道,最后还是没能打破4题魔咒。
当然了,你被别人hack你也可以hack别人,在某些比赛,你hack别人还可以加分,提高你的排名。因此好多专门搞竞赛的人说hack是codeforces比赛的精髓。
那么,codeforces这样的平台对找工作有用吗?我个人觉得,如果你是初学者,而且只有几个月时间了,那么刷codeforces没有什么意义,还是好好刷leetcode吧。
1,codeforces的题目大多数都不适合面试。
因为要用作竞赛嘛,codeforces的题目原创性都很高,不可能出一些众所周知的经典题目,肯定要改编绕个弯之类的,这一绕弯就大大提升了题目的难度了。
首先介绍一下力扣和codeforces的难度标记。 leetcode网站的难度是三个等级,easy, medium,hard。而codeforces的题目难度是分数表示的,如果强行对应的话,1000分以下对应着easy,1100-1500对应着medium,1600-1900对应着hard,2000分以上就基本不可能出现在面试里了,要不然没几个人做的出来。
有人呢可能会问了,说这些有什么用呢?因为,codeforces1300分以下的题目,或者比赛中A题和B题,都不会涉及到什么算法,纯粹就是脑筋急转弯。只要你脑瓜转过来了,会写简单的if else和循环之类的,基本都做出来。这样的题目,出现在面试里,没有任何意义,毕竟算法面试不是纯智商测试。
那涉及算法的题目呢?对不起,codeforces只要考算法,题目难度都不小,如果涉及两种以上算法,则巨难。比如程序员面试经常出现的搜索类,什么二分, BFS, DFS,记忆化搜索,codeforces只要考了,基本就要是1600分起步,相当于leetcode的hard。