6

有什么适合大一计算机专业学生免费的刷题网站?

 2 years ago
source link: https://zhuanlan.zhihu.com/p/405413943
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

有什么适合大一计算机专业学生免费的刷题网站?

FLAG资深工程师,美帝代码搬运工,公众号:九章算法

我打算按照菜鸡-初级-进阶-大神的顺序给大家推荐刷题网站,通通可以白嫖,大家可以根据自己的需求选取合适的学♂习网站噢,绝对不亏!

菜菜子刷题网站

对于大一计算机专业的学生来说,怕的不是没有刷题网站,而是刷不通(废话,人家连专业课都没学,你让人家码啥?)。所以要从零开始刷题的话,我先推荐这几个小白也能刷的网站或题集:

核心目的:找到coding的感觉,规范代码写法。

①Programming by Doing

以作业的形式整理的编程基础题,题目相对还是比较简单的。

v2-fb5f92acefc9be6d7775b4eb8740ac0f_720w.jpg

②新手编程必刷50题

这是LintCode上的一份在线OJ,题目由ACM铜牌选手心编撰。

出题核心在于从基本编程知识点学起,覆盖刷题过程中最常见的算法与数据结构,主要包括基本数据类型、判断语句、数组与循环、字符串与循环、栈与队列、简单递归六大阶段。

刷完这些题目,可以熟悉编码流程,并建立起刷题的信心,刷下来感觉还是不错的。

v2-3071b4c9829bf7dfad2f3ec15c3a5710_720w.jpg

《算法基础班》

都说师傅领进门,修行看个人,但很多人就是缺少这个领进门的过程,so推荐一个夯实算法基础知识的《算法基础班》

课程容量很大,助教和老师会带大家手把手coding。光是前五节免费试听课就覆盖了学习算法的前期阶段必备的知识点(相信我,就算是白嫖五节课也够香了)。

包含了这些核心知识点,入股不亏!

a.程序控制流:for 循环和 while 循环

b.函数:函数的定义及使用,函数的参数传递

c.面向对象入门:什么是面向对象,类和对象的概念

d.Java语言基础,IDE介绍:IntelliJ,int变量及其范围,char变量,什么是Unicode,boolean变量的与或非运算,如何写好if语句

初阶刷题指南

如果前面的内容对你来说过于基础,那么可以来尝试下这里的网站。

核心目的:夯实算法与数据结构知识点,应付简单的面试。

①LintCode

LintCode 收集了网上一些最常见、最高频的大厂面试真题,支持中英双语。

如果你在准备计算机相关面试,在 LintCode 刷题是很有帮助的,它的每道题都有详细的解答,能帮助你更好地理解,你也可以按照算法与数据结构的知识点、按照公司类别刷题,事半功倍。

我喜欢它的一点在于页面整洁干净,没有太多花里胡哨的内容。

②洛谷

洛谷上的题目很多,还有很多的基础题,使用体验很不错。

缺点是筛选方式比较少,也没有相应的阶梯训练,但很适合时间比较充裕的同学。

③牛客网

牛客上也是有算法题库的,按照算法、SQL、shell、前端分类,还有像是公司真题和高频题等,分类比较细致,还可以刷刷面经。

④hihocoder

这个页面也比较直接,而且按照刷题频次排序,个人是比较喜欢这种比较清爽直观的页面的。

⑤LeetCode

LeetCode也是个比较出名的刷题网站了,讨论区人比较多、题目覆盖也比较全面,不过带锁的题目比较多。

进阶刷题之路

这个阶段,你应该可以搞定绝大多数的easy题,刷题对你来说已经是种习惯了,这时候核心目的是短时间冲刺。

核心目的:尽可能实现bug free,或是在最短的时间熟悉高频考点,冲刺大厂面试。

①国内外大厂高频真题

我的策略是在面试前刷目标企业的高频题、真题,快速熟悉大厂面试风格,及时查缺补漏。

这套OJ是以公司分类,采取了阶梯训练的方式,一道一道刷过去,也可以体验升级打怪的感觉,刷起来也会比较有趣。

②算法进阶80题

这是前面提到新手刷题的进阶版,覆盖了12个核心知识点,像是二分法、双指针、简单的动态规划等,如果觉得自己水平尚可,可以来刷一下。

③一些实用的刷题技巧

当然,除了刷题网站也要分享一些实用的刷题技巧:

1.刚开始刷题时,每道题给自己20分钟,如果想不出来就直接看答案。

在面试中面试官根本不可能给你这么多的时间,而且在刷题的阶段,“速通”很重要,注重效率。

2.前期,按照算法与数据结构的知识点刷题;后期,隐藏掉算法与数据结构的标签。

一开始刷题的时候,可以刷一种类型的题,找到这类题的出题规律。比如二分法的题有什么特征,这种题可以怎么解,但掌握套路以后就不能看着知识点刷,这样容易陷入思维定势,而且在面试中也不会告诉你这道题是考察什么内容。

3.一道题,至少掌握2种解法,最好能掌握3种。

一般来说可以掌握标准解法(面试常考、面试官能理解)、最优解(自行钻研、炫技)、暴力解(实在做不出来的时候还有个保守解法)

④辅助的书籍

最后,就推荐两本书吧。

《剑指offer》和《编程之美》,这里也有配套的题集,将白嫖进行到底。

大师-殿堂级

如果你想往算法精进下去,而不仅仅局限于算法面试,而是想去打比赛,成为专业的选手(如acm)的话,这些OJ会比较适合你。

①杭电OJ

可以说是国内最有名、应用最广、难度设置最为合理的OJ吧(别杠,杠就是你对)。由于很多比赛都会在上面举办,因此它也是众多大佬刷题和打比赛训练的首选,虽说页面略有点朴素,但谁让它人气高呢?

UVa Online Judge西班牙Valladolid大学的Online Judge,最古老也是全世界最知名的Online Judge,题库有详细的分类,题目类型非常广泛。最重要的是,题目类型属于中等,比较适合初学者刷题学习。

北大OJ:同样是国内口碑较好,而且比较经典的OJ了。题目难度不算高,打开速度很快,适合大佬们在此切磋学习~

④Codechef

一个印度的OJ,相对于其他的刷题网站,这个网站的特点是有更多的比赛题。

v2-b7498e0ac347b14723b097fea5ac28ac_720w.jpg

最后,祝各位都能找准自己的定位!无论你将来想从事何种行业,想去什么公司,找到自己的方向最重要。不要觉得自己不行,不试一试怎么知道呢?

莫负年少好时光,现在就是最好的时候。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK