大二参加蓝桥杯需要做哪些准备呢?
我是搬运工
CSDN:先给我们简单的介绍下自己吧。 李慧斌:好的。我是个准大四学生,就读于盐城信息工程学院,主修网络专业。大学三年过去了,感觉也没做出什么特别有成就的事情。大学前两年,我认为考证是实现自身价值的一个比较好的途径,为了证明自己,在大一那年考了3级计算机网络;大二的时候考了数据库系统工程师。 大三本来准备考项目管理师的,学习2个月又复习1个月,可惜考试时间跟蓝桥笔试相冲突,于是我果断去参加了比赛,也是因为这个比赛,改变了我对实现人生价值的想法。 CSDN:为什么会参加蓝桥杯比赛呢?是因为兴趣还是为了未来就业? 李慧斌:当时也没想这么多,就觉得有比赛就去参加,肯定能学到很多东西。兴趣也有,对未来就业有好处,干嘛不参加呢? CSDN:参加完比赛有哪些感受? 李慧斌:就觉得和自己有相同爱好、喜欢编程的人原来有那么多。进入赛场才知道,有很多是著名大学的学生,看着TA们飞快的敲着代码,自己的斗志也被燃烧起来了。能够和这些高手们一起同台竞争,也算是一种荣耀。 CSDN:为什么要学习算法? 李慧斌:为什么要学习算法,这个没什么目的,纯粹是因为兴趣。像我对什么都充满了兴趣,什么都想学。在校期间,我学习了网球、攀岩、散打、轮滑、漂移板、围棋、国际象棋、游泳。最近还在学跆拳道。 有件事我一直很奇怪,就是那些不喜欢编程和算法的人为什么要来学这个专业呢?人活着不应该做自己喜欢做的事情么?我一直敬佩那些对自己的兴趣爱到疯狂的人。 CSDN:在比赛过程中是否遇到过一些困难?都是怎样解决的? 李慧斌:比赛不是做项目,有困难就得去解决,有时候灵感来了难题自然就被解决了。对了,当时比赛时,有一段程序不想写,就拿Excel处理了一下数据。真想说一句,技多不压身啊! CSDN:在学习过程中,除了课堂外,你是怎样一步一步提升自己的能力的? 李慧斌:说实话,课堂上真学不到什么东西。仔细想想,课堂上学的东西应该是培养思维用的。而更多的操作知识都是在课外亲力亲为学到的,比如像TED之类的,里面有最先进的思想;MIT做的实验、优酷里面的那些科技水平等,都是好东西,值得我们学习。 关于提高自身的编码能力,主要还得靠自己经常编写程序获得经验。像老师让做的东西,我喜欢做到最精。记得刚接触到网络的时候,看到Winpcap,自己不是很懂,老师也没讲得那么深,我就通过各种资料去搜索,什么百度、博客等等。总之一句话,要想提高编程能力还需要自己多动手做些实践。 CSDN:通过学习算法,参加比赛有哪些心得? 李慧斌:在准备写代码之前一定要把算法先想好,记不住就写在纸上,不然会对着屏幕发呆的。还有不要浪费时间,哪怕快结束了也要对自己说,不管成绩如何,做到最好就行了。 CSDN:本次比赛你主要使用Java语言,在语言学习上有什么心得? 李慧斌:在语言学习上的心得就是一定要把Java自带的那些包熟悉清楚,很多人对Java里现成的东西都不熟悉,更谈不上怎么用。站在巨人的肩膀上总比自己爬上去要轻松。 在比赛的时候,我的一个朋友为了求大数乘积还专门写了函数,因为他主攻C/C++,不知道java有大数类,这就很吃亏。虽然有能力,却没能发挥出来。此外,自己也要多做一些不相关的程序,这样就能接触到更多的API。在以后就业时,这都是一种优势。 CSDN:你的代码经验很足,除了日常课程之外,还有其他什么增加代码经验的途径? 李慧斌:说到增加代码经验的途径,我的经验是写+阅读。因为每个人写代码的风格都不一样,如果你只是跟着老师学习,时间长了就会形成思维定势;去一些开源网站或者一些论坛找成熟的代码,有时你会发现,“我去,竟然开源这样写!”“这样也行?”。还有一些课堂上学不到的东西,比如说C/C++,我敢说很多人都不知道结构体可以这么用。我也刚刚知道,因为这个我还跟一位贴吧里的大神吵了起来。所以,多看看成熟的代码可以少走一些弯路。 还有就是,因为课堂时间总是有限,老师讲的东西也不那么全,有些先进的算法或者程序也根本不会讲到。所以,为了自己的将来,除了C/C++、Jave、C#这些主流的语言之外,像JS、HTML 5、CSS、CAD、Python这些都是比较好的东西,多涉及一些,比较这些语言的优劣对自己发展还是有好处的。