美文网首页个人收藏IT课程分享代码改变世界
想做程序员,你真的准备好了吗?!

想做程序员,你真的准备好了吗?!

作者: 蓝桥云课 | 来源:发表于2016-09-12 13:08 被阅读757次

    写在开始:

    9月开始,校招也陆陆续续的展开了,一如既往的还是那句老话“今年是最难就业季”,光听这句话就挺吓人的,一来是因为好多小伙伴在学校4年就是混过来的,还没有找到自己到底可以做什么的方向,二来是因为所学的专业知识不扎实,怕一面试就露馅。

    所以,找工作,你真的准备好了吗?

    你了解自己现在所掌握的知识足够应付面试官吗?你了解以后实际的工作开发所涉及到的知识吗?你确信自己就可以在众多面试者中脱颖而出吗?……

    如果你觉得你没有准备好,那么接着读下去吧,或许会给你一些有价值的信息。

    文章主要想谈的就是“一个计算机专业的毕业生,在找工作时,至少要了解哪些方面的知识才算是一个合格的毕业生”

    当然这篇文章不是面试指南,也不是面试技巧方法,关于面试技巧论,网上有太多了。

    文章不会对每个专业语言进行介绍,主要介绍需要了解的一些通识性的基础知识,关于为啥不对每个专业语言所需要掌握的程度做介绍是因为:

    • 1)Java/python/c……方向太多,每个语言学进去细分也太多,这就需要自己去找到自己想做的方向了;
    • 2)往往通识性的基础知识是最容易被忽略的,但是这些知识在以后的工作中却非常重要;

    好了,以上说了太多废话,下面说正事,先上一张脑图吧:

    准程序员,找工作,你至少要了解这些.png

    注:图中推荐阅读的教程,在实验楼网站上都可以找到。


    1、先从简历说起

    既然是找工作,那么首先肯定是简历了,一个计算机专业的学生,还在网上搜索大同小异的简历填写一些大同小异的老师布置的小组开发项目?!那你从最开始就没能吸引面试官的注意!!

    你的简历需要让你看起来就是计算机专业的学生,比如,你可以在Github Pages上部署自己的简历,说明你至少对git和github都不陌生,都会用,而这两样是企业在招聘时的一个加分项或者说一个必有项;继而说明你至少是一个比较爱学习的人,因为大多数学校是不会教这两样的。

    如果你不知道如何在Pages上部署,这里有教程:在Github Pages上部署自己的简历

    这个教程就是教你如何在Pages上部署自己的简历,一步一步的按照教程步骤即可做出一份自己的简历,而且教程里面还有简历模板福利,你在找工作之前一定要去看看!

    开发出来就是这个样子:

    在Github Pages上部署自己的简历在Github Pages上部署自己的简历

    2、Git和Github

    前面说了会不会用Git和Github是一个加分项,那是因为大势所趋,如今越来越多的企业、项目都使用git作为版本控制工具。Git简化了多开发者开发协作开发的开发流程,而且Git速度快,风险低。而Github则是分布式的版本控制系统,也越来越受到广大企业和开发者的喜爱,都愿意把代码托管在Github上。

    所以如果你作为一个毕业生,一开始就会这两样,那将是一个非常亮眼的加分项。

    如果你不会Git,这里有教程:Git 实战教程

    这个教程是给《Git Community Book 中文版》提供的拥有在线开发环境的配套教程,里面汇聚了Git社区的很多精华, 可以帮助你尽快的掌握Git,如果还不会使用Git,那么快点看看这个教程,跟着教程动手学习Git吧。

    而Github,自己注册一个账号,好好玩一下,就慢慢会用了。

    3、Vim

    很多人可能会说,我不想用Vim啊,我有常用的IDE,那也是可以的,熟练掌握就行,毕竟,我想说的是要熟练掌握所用的开发工具。推荐Vim的原因是使用VIM编写代码,可以完全抛弃鼠标,专心于编程,而且多功能的插件配置可以把VIM打造成你想要的IDE。

    如果你还不会使用Vim,这里有教程:Vim编辑器

    这个教程适合那些还不会使用Vim编辑器的人进行入门学习,从Vim简介到常用功能的使用到高级功能,都做了一个介绍。

    记住,编辑器是开发工具,掌握的熟练的话可以让你的开发更高效。

    4、正则表达式

    为啥要掌握正则表达式基础呢,简单而言,正则表达式通过一些特殊符号的帮助,让开发者可以轻松快捷的完成查找、删除、替换等处理程序。而且正则表达式可以提高对数据的处理能力和提取能力,精简代码,提高代码效率,在开发中会经常用到。

    如果你还不会使用正则表达式,这里有教程:正则表达式基础

    这个教程也是带你入门学习正则表达式的,适合对正则表达式还不了解的小伙伴,最重要的是提供了在线的环境,可以跟着教程动手学习正则表达式。

    5、TCP/IP网络知识

    TCP/IP网络知识是网络编程和Web编程的基础知识,而且啊,作为一名程序员, 不可能不与网络打交道。现在我们的手机, 电脑, 不夸张地说, 离开了网络就是一块'废铁'。所以,你就知道掌握网络知识对于开发的重要性了吧。

    如果你对TCP/IP掌握的不是那么好,那么建议在找工作前去复习一下,毕竟还是有很多面试会问到,最主要的是工作中会用到啊,这里有教程:TCP/IP网络协议基础

    这个教程是自顶向下分层介绍TCP/IP网络协议基础的,非常适合新手以及复习使用。

    6、算法

    先不说熟知各种算法,能够使写出的代码精炼简洁,运行高效;就说为了应付面试也是该好好掌握的,因为算法也是面试中常被问到的。

    所以,趁着校招之前好好去复习一下算法吧,这里推荐:经典算法解题实战

    这个教程是教你在线编程解决 LeetCode 等题目,给题目,然后用算法进行解决,而且是各个语言版的解法都有,都是赤裸裸的实战啊,建议面试之前一定要好好看看,权当复习!

    7、数据结构

    数据结构不多说,都是知道的,它是算法的基础,编程的基本功。

    有这么一句话,形容了数据结构和算法的重要性:

    如果把编程比作做菜,数据结构就好比食材,算法就好比厨艺!

    所以,如果你对数据结构掌握的还不牢固的话,回去复习吧,这里有教程:数据结构

    这个教程虽说是数据结构入门教程,但是如果你对于数据结构还有哪些方面不太了解熟悉的话,也是可以当做备忘学习录的,直接查看想学习的章节进行复习。

    8、操作系统原理

    操作系统原理就如地基一样,只有理解了操作系统才能够写出更加稳定健壮的程序,越是深入底层开发,越要了解操作系统原理相关知识。

    如果你对操作系统原理不是那么的了解的话,可以看看这个教程:操作系统原理与实践

    这个教程是通过在一个小Linux(Linux 0.11)上针对操作系统的各个模块开展的深入实践,实践为主,理论为辅,动手实践开发掌握操作系统原理。

    9、软件工程

    软件工程制定了开发流程和规范,使开发者能够如期开发出满足需求的产品,只有一开始把开发流程和规范都掌握的好了,才能写出更规范的代码,以后工作时,你会知道,规范的代码是多么的重要。

    找工作之前,好好复习一下吧,这里有教程:软件工程

    教程给出一个个小项目,让你在线编码开发,以实践的方式来强化动手能力,并规范自己的开发流程。

    10、Linux

    或许很多人都只接触过Windows,也会问“为啥我还需要掌握Linux呢?也用不到”,我想说,那是你用不到,那是你没接触过,了解Linux可以加深对操作系统和文件系统的理解。而且Linux平台是一个很实用的工具,很多企业实际的开发都会涉及Linux,可以说熟悉Linux的程序员是一个更加值得信任的程序员。

    所以,如果你还没有了解过Linux的话,这里有教程可以看看:Linux基础入门

    教程带你全方位的了解Linux系统、基本操作、shell 环境下的常用命令等,非常适合想学习Linux的小伙伴。

    11、若干实战项目经验

    当然只有以上几点基础知识是不够的,你还需要若干的项目开发经验。有些人的项目开发经验是经过实习获得,但是如果你并没有去实习,没有实习经验的话,那也不要心慌和着急,至少要自己开发过一个完整的项目,项目不一定要多大,但是一定要完整的进行过一个项目的开发,只有这样,才能了解其开发流程,能够将所学的理论知识运用在实际开发中。

    这里列出一些项目开发教程,当然,语言不一定是你所学的,但是原理是相通的:

    爬虫是众多学习者最爱写的脚本了,方便有趣又实用。

    Python3 实现火车票查询工具Python3 实现火车票查询工具

    其实还有很多有趣实用的爬虫,你可以上实验楼上去找教程。

    实际开发工作中肯定会有的一个功能,如果没有实习经验,那么试着开发一些在实际工作中会用的项目也是一个非常不错的选择。

    实验楼有一个开发者专栏,专门教你使用开发者常用的服务和工具,如果你想多获得一些近乎实际开发项目的经验,那么这个专栏一定要看啊!!

    聊天室基本上是所有老师都会给学生布置的一个开发项目,主要是了解socket 通信的相关技术,对于这类学校老师会布置的开发的项目还是应该好好了解一下的,毕竟老师布置我们进行开发,肯定是需要让我们了解某个知识点的。

    当然,也可以开发一些和其他人不一样的东西,这样会让面试官耳目一新的,比如用C++实现一个射击游戏,听着就挺不一样挺好玩的。

    如果自己开发的软件自己在用,那样就更不错了,比如,你告诉面试官说,自己的博客是自己开发或者搭建的,那面试官听到心里会想“oh,不错……”

    还是需要有一个稍微大型一点的项目开发经验,这样在面试的时候会加分,这个算是一个大型的开发项目了,教你使用Python语言开发一套类似OpenStack的云计算管理平台LouCloud,具备基本的用户,服务器,镜像与虚拟机管理功能,学习IaaS,虚拟化,Libvirt API,Flask Web开发等知识。值得一看!

    太多太多项目可以开发了,这里就不一一列举了,如果你想找项目教程,点击这里,随便找吧。

    只要记住,一定要自己开发过至少一个完整的项目,这是非常重要的,我想这也不必说了,毕竟都在找工作了,肯定或多或少都开发过项目了!!

    最后

    当然,以上涉及的肯定不全,而且都是基础知识,相当于是让你加强基本功,要成为一个出色的开发者肯定还需要很多,但是只要你了解或者掌握了以上的基础知识,那么我想找工作是不在话下的,最后希望所有小伙伴都能用自己最好的状态去面试,自信,积极,激情……

    相关文章

      网友评论

        本文标题:想做程序员,你真的准备好了吗?!

        本文链接:https://www.haomeiwen.com/subject/sfieettx.html