计算机专业学生必备技能

时间:2020-12-30 15:02:02

           身为计算机专业的学生,我在看过好多同学找工作的经历后,开始思考,到底什么样的学生才能很好的契合公司的需求,才能很容易的拿到offer。

        我认为,计算机专业的学生,在大学四年里,要学的东西很多。 

        第一、编程能力。

        以国内计算机的发展状况来看,大多数人刚去公司就职时都是程序员。身为程序员,第一要义就是编程。如果一个毕业生有比较强的编程能力,那么找工作很容易。比如,那些搞ACM竞赛的,很容易就去了百度。

        我认为编程能力包括三方面内容:

        1、熟练使用一种语言。编程首先要会一种语言,当前环境下,这种语言是面向对象的会比较好一些,C++、Java等。当然,想=比较古老的C语言,也是有用武之地的。但是现在公司一般都是用面向对象的思想来开发软件。

        什么叫熟练使用呢?

        首先你应该了解这种语言的语法,比较常见的、用的多的语法一定要非常了解,比如循环语句,控制语句,数组,字符串,指针(C/C++)等;

        其次,有将想法变成程序的能力。如果你能想到这个问题如何解决,那么你就应该能用程序写出来,即使这种想法很笨,耗时很长,你也应该有把它写出来的能力。比如最大公约数,不懂模运算的时候,你会用试除法,再比如矩阵乘法。

        2、掌握数据结构。数据结构是很重要的,几种常用的数据结构,链表、队列、栈必须信手拈来,很随意的就写出来了。二叉树、图也要会,要到什么程度主要还是看以后工作类型。

        3、掌握一些基本算法。有一些算法,应该成为一种必备技能,可能你用不到,但是必须会。最典型的就是排序算法了,很多人都会冒泡排序,但是快速排序比冒泡排序用的更多,其它的7种排序算法也要会,能够迅速的说出这种算法的优劣,是否稳定,复杂度什么的。据说很多公司的技术牛人,快排对他们来说已经成为一种本能反映,只要用到快排,很快就把代码写出来了。还有动态规划、回溯等,必须要会写。

        总之,提升自己的编程能力需要多编程,一段时间不编,手就生了。

    

        第二、基础知识

        在公司面试的过程中,比较注重专业基础知识。良好的专业基础知识表明你有良好的专业素养,这样学习一些专业内的东西会比较快。

        基础知识涵盖的内容很多,反映了你对专业的系统认识。

        计算机组成原理。必须懂冯诺依曼结构、内存、缓存、指令系统、CPU、中断等。它让你对计算机有比较系统的认识。

        操作系统。必须懂进程、线程、内存管理、页面替换等。它让你对操作系统有比较系统的认识。

        计算机网络。必须懂网络模型、HTTP协议、路由算法、IP协议等。它让你对计算机网络有比较系统的认识。

        这三门是计算机考研的课程,由此也可以看出它的分量。还有编译、计算机体系结构等,也也描述基础知识的。

        总之,大学时期开的课程,基本上都是计算机的基础知识,涉及范围很大,学好十分不易,要尽力掌握。

 

        第三、扩展技能

        除了上面两个能力以外,我们还需要一些扩展能力。

        英语。这个扩展能力十分重要。良好的英语阅读能力可以使你获得第一手的资料,良好的口语,可以使你更容易的进入外企。

        小语种。除了英语,必要的时候可以会一些小语种语言,比如日语、德语。日企的待遇还是挺不错的。

        软件工程。之所以把它列到这里,是因为有时候这个东西不是很必要,当然如果去很大的IT公司,这个能力就十分有用了。如何写注释,如何写文档,如何画类图等等,都非常有用。

        还有其它的能力,视工作环境而定。计算机这一行业,分的很细,不可能什么都学到。所以只能选定一个方向,一条路走到底。

 

         恩,就写这么多,这些都是我自己的看法,也是我在未来的一段时间内要学习的东西。这些东西本来应该是大学四年时候学的,可惜玩过去了,现在尽量补回来。