工作性质是与UIUX这样的设计师合作,通过代码来呈现他的设计稿。
简单来说他就是蓝图,你照图施工通过代码来实现。
其实编程这个事情,很多人有计算机专业相关和非计算机相关的区分,虽然确实有基础底蕴的差别,但是在努力的共性上还是一致的,有以下几个共性,你可以看一看:1.对编程有求知欲,喜欢自己去探索一些数据或编程的东西。
许多人入行都是听说程序员很赚钱就进来的,虽然对程序没有特别的兴趣,这样的人在经过短暂的训练后,还是可以基本入行的,但他们基本上还是处于初级阶段,升入中级一般都需要主动。
有兴趣和基础的人会比别人更进一步。
2.善于发现程序问题,想办法自己解决。
程序设计中最困难的一点是找出错误,任何程序出现问题都是正常的,关键是你有能力发现和解决问题。
假如你有很强的Bug问题解决能力,那么你就会像一个优秀的程序员一样快速前进3.对编程学习有耐心和自学能力。
许多人说编程和武功一样,一天不练,武功全废。
不要只凭一时的兴趣,简单的玩一玩,然后问很多问题,就问人。
这个学习过程不科学,可以问,但最好有基本的解决办法。
说完了一些注意事项,我们再回到一开始的语言选择问题上来其实没什么好说的,零基础小白当然是推荐Java。
Python固然好,但对一个刚入门的人来说,首先要先找到一份工作。
而且,在求职中,Java无疑是最简单的。
对跨行业的人来说,实际上第一步是最困难的,那就是如何进入这个行业。
假如你进不了门,而且第一份工作迟迟不能开始,那就好好努力,补上数据结构,设计模式,算法设计这些空白就无从谈起接下来,讲一个具体的学习计划:1.了解Java运行环境。
明确path和classpath的作用,以及如何在命令行执行编译、执行。
了解IDE按钮背后实际发生的事情。
2.精通Java语法。
明确包、接口、类,并继承这些基本概念。
学习多态,overwrite,死背IO的界面,包括InputStream/OutputStream和Writer/Reader,死后背对网络编程和GUI编程界面,死背JDBC界面。
3.精通多线程编程。
找出ConcurrencyHashMap是如何实现的,弄清楚synchronized是什么,为什么要使用Runnable接口。
4.错误的数据结构。
明确LinkedList和ArrayList的实现机制,了解每个LinkedList的时间复杂性。
而且还有其他容器,Map啊,Set啊,都是一样的。
堆栈,队列,二叉树,图表贯穿编程始终,如果您无法跨越这一步,那么您将只能在低级程序员中工作。
5.在这个时候,你可以有自己的思考。
Java发展到今天,在很多情况下使用过,认为Java是应用最广泛的编程语言也不为过。
打好基础之后,你可以考虑该往哪个方向发展。
例如服务端的体系结构,最好先了解JavaEE。
长期以来,JEE就是让人们觉得门槛太高。
这一点实际上可以从Spring开始,弄清楚反射,控制反转,依赖注射(这些神灵唠叨的名词实际上是为了解决Java本身不够动态这一缺陷而出现的,在此,我只是想提醒一下,这些概念没什么大不了的,别被那些爱装逼的家伙吓到)。
另外还有消息这件事,还有ORM这件事,快来看看。
想想他们能解决什么问题,然后猜想他们是如何实现的。
在我采访的时候发现,其实大多数优秀的开发人员,即便是没有想过这个问题,就让他现场设计一下Hibernate,都可以设计的差不多。
由此可见,这些框架性的东并不是什么大问题。
在基础上,你也可以设计它。
重要的是要动脑思考。
上面以服务端开发为例,那么在客户机方面,您要考虑事件响应机制是如何工作的(这些我不熟悉,也就不多说了)。
深入研究JVM的源代码,以及它的实现机制,还要学习垃圾收集算法等等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)