Ⅰ 程序员遇到很难的技术问题是怎样的感觉
昨天刚领一个线上P0级重大事故,持续时间1小时,影响范围全站 !准确的时间点是下午17点开始,具体问题定位且听我下文细细道来。
先说感觉,那感觉真是太刺激了,本来下午五点,昏昏沉沉的,瞬间一个激灵就清醒了(想象一下高中课堂,你在打瞌睡,突然老师走到你面前给你一下子的感觉),原本准备再过一小时吃晚饭了,吃完晚饭再摸鱼到21点就可以下班了呀,别问我为啥到21点,问你就不是程序员!
带着无比紧张且颤抖的心情开始定位问题,先来个错误日志尝尝鲜:
1、下午五点开始有少量的慢sql报警,没有人当回事,因为这种事情总发生,虽然大家都知道在实际开发中如何避免慢sql,但是整个团队要想完全避免慢sql却很难;
2、五点十分左右,开始零星有用户反馈指定功能不可用,SLB开始报警,技术开始介入排查;
3、十五分左右,客服部门电话开始爆炸,用户密集反馈指定功能不可用,技术部开始重视;
4、二十分左右,所有服务大面积出现接口无法响应,整体服务不可用;
5、我们一开始定位觉得是MySQL的问题,因为前面有mycat的慢SQL报警,后来定位并不是MySQL,因为MySQL的内存、连接数、流量这些指标都很平稳;
6、最终在五点三十分的时候我们定位到是ES出问题了,因为所有的java服务不可用最终都指向上面的错误日志,bbo提供的服务线程池满了,再有请求进来直接拒绝了,查看这个服务的代码,最终查询的是ES,此时的ES进程已经处于假死状态。
那接下来大家说怎么办?如何快速的恢复线上服务?
重启!
是的,只有重启大法此时是最快的解决办法,你不可能说保留ES事故现场,让我用arthas之类的工具来现场分析jvm内存情况。
然而重启之后服务依旧是不可用,接口还是无法响应, 大家知道这个时候是什么原因吗?为什么重启了ES服务还是不行?
后续继续重启报错bbo日志的相应服务,当这些服务全部重启完毕后,我们的服务终于恢复访问了,这个过程持续了十几分钟,确切的说,直到17点五十多分,我们的所有服务才恢复了访问。
接下来就是事故总结、相关责任人、产生问题的原因、接下来的优化方案,全公司邮件通报!
你说这个难不难?本身并不难,难的是事情紧急且重要,这个时候你慌了啊,乱手乱脚的,大家你一言我一语的,如何冷静提取有效信息然后尽可能快的解决生产的重大故障才是最难的!
最后,当一切都恢复平静的时候,你会发现:“卧槽,好累啊!”。
虚脱的感觉!
最后祝大家程序员节日快乐,今年可是程序员的本命年哦
2020 = 1024 + 996 = 404 + 404 + 404 + 404
这种感觉能难受,很压抑。
技术难题,对于程序员来说,是经常有的事,关键是如何面对吧。
说下我的事情,虽然也会写点代码,但并不是以此为正业,所以对于真正的程序员来说,可能说法会有点偏颇。
遇到难题时,一般都在网上搜索解决方法,一般来说,都有很优秀的程序员分享他的劳动成果,所以一般都能解决问题。但也真正碰到难的问题,一个就是循环的问题,无限极菜单问题,当时都是找了很久,看了很多遍才明白过来,当时自己是几天都不太开心,也不太想说话,总是在测试着程序。挺烦也挺不开心的。只是最后做出来了,心情就好多了。
这是我的一些经历,当然,如果全职程序员,可能压力就更大了。
如何形容这种感觉呢?焦躁,紧张,失落,无助,亚历山大...
再多词可能都描述不清楚。本人在工作中经常遇到难题,有些问题一两个月都搞不定。遇到这种问题,估计只有下面这张图的表情能描述此时此刻的心态了。
程序员遇到的难题其实分为两种,一种是没有办法定位清除的问题,另外一种是定位清除了,但是没办法,或者很难解决的问题。
难定位的问题所谓难定位的问题,其实就是你根本不知道这个问题是什么。比如系统突然挂掉了,你从现有的信息根本不能确定问题在哪。这个时候你剩下的可能只有满脑子的问号了。
如果系统只挂了一次,后面不再出问题,那就很难找出问题的根源了。不过这样也有好处,那就是问题的影响的程度相对较轻,毕竟不容易出现。所以在软件开发中通常不是什么问题都解决的,因为不是所有问题都能搞清楚是什么问题,谈何解决呢!
难解决的问题难解决的问题是问题搞清楚了,但是基于现有架构很难,或者没法搞定。遇到这种情况,通常先是很高兴,兴奋,然后就只剩下无奈了。
当然,从技术层面来说并不是完全解决不掉。只是如果要解决需要涉及架构调整或者其它方面的改动,修改调整的内容太多。这种情况下就要考虑利弊得失了。
如果改动太大,可能会引入很多新的问题,可能得不偿失。因此,遇到此类问题可能会采取一些规避方案。
当然,在开发和运营当中遇到各种问题是很正常的,关键是遇到不同的问题采用不同的策略。首先保证的是业务的正常运行,然后是考虑是否需要彻底解决。这样慢慢调整,心理压力会小一些。
作为一个工作多年的老码农,在工作也遇到过一些艰难的技术问题,就以切身体会谈谈对这个问题的看法。
首先需要明确一下,问题是否困难除了取决于问题本身之外,还在于解决问题的人的水平,也许对你很难的问题,在别人看来不过是小菜一碟。明白了这一点,那么这些技术问题也就成了考察程序员水平的试金石,有些人可能会因此气馁,甚至放弃;而有些人则通过解决问题学到了很多新的技术,也让自己进一步成长。
记得多年前看工作中要用到一款开源库,那时候刚学完C++不久,自以为对面向对象了解甚深,然而学习这个库时却是一头雾水,最后在经过泡论坛,然后又认真的学习了面向对象设计模式,后来不但能使用那个库,更重要的是对面向对象编程有了更深的认识!
后来还有很多类似的事情,刚开始时感觉无比困难,但是通过自己的努力,或求助他人、或查阅资料,当最终问题解决时,你会发现自己又牛逼了一些,然后再遇到一些新的问题,如此循环……
其实编程也是一个学习的过程,就如同爬山一样,每一阶段都会有一些山头,只有当你爬上山头才能欣赏美丽的风景,但是当你爬上一座山头的时候,就会发现更高山峰!只有当你爬上最高峰,才能“一览众山小”,可是到那时,你可能会向往地球之外的天地!
很难解决一般就是遇到某些瓶颈了,不同瓶颈的感觉是不一样的,但无非可以归结为下面几类。
成本原因
不让马儿吃草,还想让马跑。这个是有些不太理解互联网的一些领导的错误观念,他们会给你安排一个老旧台式机,想要让你承载几万、几十万并发的秒杀系统,你当然很难解决。
外界的评论可能是,“这帮程序员是吃干饭的么?这系统也太垃圾了!”
老板的评论是,“我这台式机也不少钱呢。”
程序员的评论是,“这抠门老板不会是个傻子吧。哎,再优化优化吧。”
当然,有些情况也是能够理解的,公司明白需要更好的设备,但是由于成本控制,不得不在某些方面节省。但换句话说,设备成本是占不了一个大头的,可能有其他方面的成本更加需要收紧。
如果是因为成本原因,我们的心情可能是无奈,又有些不能施展拳脚的束缚感。
历史 原因
举个例子,系统用了5年了,迭代了N个版本,在面对新的需求的时候,就会出现需求限制于系统的情况,常常会有程序员说,这个实现不了,那个不符合现在系统规则。其中很大一部分是这些年的积累,欠下的技术债造成的。俗话说,大船难调头。
这种情况更多的出现在刚创业之后的几年,由于一开始的快速迭代,追求先把业务流程跑通,先生存再规范,会让一开始的软件开发流程并不那么规范,如果在1-2年内没有进行重构,那么积攒的3-5年的技术债就会慢慢把你压得喘不过气来。
解决这种情况,一是需要时机,给出足够的空间和时间让技术团队重构,二是需要魄力,你得有成功的把握,不能干着干着说不行了,咱们还是回到原来吧。
如果是因为 历史 原因,我们的心情可能是期待和渴望,又有些对现状的无奈。
能力原因
虽然说专家很厉害,但说白了,大部分企业需要的研发人员,还到不了需要专家的级别。所以,一般而言,没有什么技术是攻克不了的。如果真的遇上了,那就说明你的公司已经到达了一个新的层次,从而需要那个层次的人员来解决,可以通过外聘或者顾问的方式,引进新的技术。
如果是因为能力原因,我们的心情虽然有些力不从心,但又为公司在新的台阶而高兴。
不管怎样,程序员是一群追求美好的人,不管是外部限制还是内部限制,不能解决的难题对于技术人员来说总是很憋屈的。
不能着急,慢慢分析,找到问题点,没有解决不了的问题
程序员的技术问题,排除架构师技术选型错误以外,都是程序员的功夫不到家所致。
1,面向网络的程序员会第一时间问度娘,各大社区求助大神。
2,面向源码的程序员会第一时间查看源码实现,查找api文档,思考解决方案。
3,不管技术如何发展,架构如何延伸,不变的是基本功,再先进的组件都是由基础语法书写出来的 。
练武不练功,到老一场空,共勉!
首先说下这个很难的技术定义,个人认为在你知道之外的知识都是很难的,一旦你深入了解其使用方式,原理,甚至阅读了他的源码,你会觉得有的时候会恍然大悟。程序员是一个不断要学习的岗位,就要面临很多从未知到已知技术的时候,每当遇到这样的情况时候,总有种不解决了这个问题,睡不着觉的感觉,心里不踏实,总是想尽各种办法去解决这个问题。甚至可以一直追查这个问题。也许这就是一种执拗吧
我老公最近就遇到一个大石头需要敲碎,我作为一个旁观者,都挺心疼他。
他还在读博,最近遇到的问题是他一个项目上的问题,也跟他的毕业设计相关。他刚读博的时候确定了一个方向,去年开题的时候他觉得这个方向没有什么前景,真的是考虑了好久要不要换,如果不换,就是安稳的毕业,换的话接下来的一年多时间他会很艰难,很多新的问题需要一一克服,最后他决定换了,他说他读博就是为了提高自己,还是想挑战一下。
年前,系统板设计好了,然后最近做好回来了,开始调试,说这个板子跟个石头一样,不工作。本来就是礼拜一到礼拜六待在学校不回来,周日是休息的。现在放假回来都是在啃变压器的东西,早上起的很早,晚上又很晚。真的挺心疼的,他还安慰我说,他又要进步了。挺担心他的身体的,我特别希望时间能快点过去,能顺利毕业。他却不希望,总觉得时间过的太快,没有时间搞研究。
今年的生日愿望,希望他科研顺利,身体 健康 。
以我的从业经历,说说遇到很难的技术问题是什么感觉吧: 兴奋、充满挑战性 。尤其是在开发中遇到了技术难题,很多情况下真有种可遇不可求的感觉。
我认为能遇到技术难题,至少证明这个工作是有价值的。 这种价值体现了两个方面,一是你的工作在整个产品开发中占据重要地位,甚至是核心地位。二是你的认知和经验,仍然有成长的空间。如果你的工作一直没有遇到难题,轻而易举地就解决了一切,那么很可能是你没有机会深入重要的核心部分,或者你的工作性质可替代性很高,简单重复性很高。
分解法。 把技术难题拆分,尽量的单元化、模块化,这样有利于逐步攻破,逐步解决。主要是降低技术难度,寻找真正的难点所在。如果问题无法拆分,就是那么一个点,那么需要逆向思维,可以先把问题扩大,看看涉及面有哪些,然后再缩小范围,锁定关键之处。
刨根法。 把技术难题抽象化,理论化,从根本的源头去解决。很多技术问题,从基础理论的角度去看,其实真的不难,只要你能定位到相关的技术点,困难点,知识点,就很容易进行快速解决。解决的终极办法就是从理论上彻底解决,做到知行统一。
讨论法。 三人行,必有我师。很多情况下,所谓的技术难题,在别人的眼中,也许并不是难题。很多情况下,小组讨论,交换意见,方案互补,就可以解决难题。有些情况下,还需要和供应商一起讨论,主要是补充信息的错漏。经常出现的芯片问题,很多情况下供应商都更加有经验。因为供应商有更多的使用客户,有很多解决问题的经验。最主要的是,芯片是他们设计的,他们更加清楚缘由。
没有绝对的技术难题,有的只是尚未解决的技术难题。
Ⅱ 怎样做一名高效率程序员
1、理解编程语言的原理
三流的人才懂应用,二流的人才懂开发,一流的人才懂原理。各种语言之间存在着相似的地方,掌握语言的原理是必不可少的。最重要的,让语言去适应项目,反之亦然。
2、向优秀程序员学习
你有一个苹果,我也有一个苹果,我们交换苹果,你我还是有一个苹果;你有一种思想,我也有一种思想,我们交换思想,你我就有了两种思想。
与优秀的程序员为伍,你将吸收的最实用的经验,这远比你一个人自学、死磕编程来的快一些。有一句话说到好,与臭棋佬下棋,棋会越下越臭。不可否认这样一个事实:和什么样的人在一起,就有什么样的格局,就会有什么样的人生。
3、了解数据结构和算法
如果你要成为一个高效的开发者,就必须学会快速排序、学会辨认O(n2)程序、学会编写递归函数。
学会多种语言,你便会更清楚不同的框架是相同问题的是如何解决的。尽可能去了解底层命令(plumbing),以便能够作出明智的决定(Web框架是怎么存储session状态的?Cookie到底是什么?)。
4、精通一个编辑器
高效开发者通常是用IDE编辑器吗?其实不是的,他们更常用的文本编辑器,因为这样更会学到东西。
如果使用编辑器选择通用的Emacs或Vim,自然是最好的。其次,挑选你的首选平台最支持的。使用宏,不断地写代码;使用Visual Studio或SublimeText的自动补齐功能。
5、整洁的代码胜过巧妙的代码
如果想让别人可以轻松读懂你编写的代码,请尽量使用最少的代码来完成任务。在编写代码过程中,遵循DRY(Don’t repeat yourself)的原则,使用明确定义的对象和库,将任务分解成小而简单的代码段。
6、掌握代码调试技巧
现如今市场和需求变化相当快,项目的周期有时就会缩短。一个月的工作计划,会缩短到2个星期。项目的压力难免会导致程序员的代码质量会有所下降!
因此,调试技巧在这样的环境下就显得尤为重要。高级程序员会在函数的开始和结束输出Log,把所有的参数和返回值打印到日志系统,便于追踪。在解决问题的过程中,使用开发工具一行一行进行调试,实时观看参数的变化。
7、重新回顾代码
重新去回顾和审视自己写过的代码,通常会有两种体验,一种是我怎么写了这么烂的代码;另外一种则是对自己写过的代码充满了成就感。回顾代码有时可以触发我们新的想法,甚至还能对编码有一个更深层次的思考。
Ⅲ 程序员自学要多长时间(自学程序员有多难)
程序员要学多久问题一:自学程序员要多久你要是一点基础都没有的话,你学PHP什么的看视频只要努力几个月就可矗学会了,如果自学JAVA,C++的话就不用想了,我大学上课听都听不懂,虽然我也不想学,但有老师比没老师至少要好多了。如果有一点基础的话,PHP这种弱语言类型也很容易学的,大概就一两个月就可以了。但没有努力再想学也是白搭,而且能看懂学会也不代表会用,程序最重要是会用,这个实践是最好的老师!
问题二:作为一个程序员需要学多少技能介绍下我的想法:
大学里学的是计算机专业,所以顺道学了不少计算机系的基础课程,总体来讲学得很不好,直到大四毕业,我才勉强下定决心要以写代码为生(现在想想,可能是当时实在想不出其他出路)。大学4年,很遗憾的事情就是我没有弄清楚该去真正学些什么东西。
毕业后第一份工作,在一家小公司写servlet/jsp,说实话,我写的很烂,当时带我的人对我的工作很不满意,直到有一次,项目经理跟我谈说,你的工作表现你也看到了,差点就被开掉了,不过我觉得还是要在给你机会。。。当时,我真的是自信心崩溃到极致,觉得自己这段时间其实很努力,但为什么还不入门路。。这次经历给了我非常大的影响,之后的不久,我终于明白了怎么去写那些servlet/jsp,于是我努力的写那些代码,不久,我就成了公司新员工里面,做东西最快的人。当时还发了个公司的什么最快进步奖给我。我想第一份工作给我最大的感受是,想要做为一个程序员,你得先明白,程序是个什么东西。
一年多以后,servlet/Jsp实在不想写了,于是换到另外一家公司,做聊天软件的J2ME客户端。其实我当时不懂J2ME,在刚入职的一个月里,啃完CLDC和一些会用到的JSR的英文文档,然后每天去看项目的代码,有任何问题就去问周边的同事。不久,我也慢慢能写一些J2ME的代码了。接着,我加入了新版客户端的项目组,开始做一些UI组建。最开始,我写一个Text组件,就是把文字显示到屏幕上,还要根据屏幕可显示区域的宽度、高度对文字做调整。没几天,我就信心满满的写完了这些代码,原来写客户端代码也不难啊。不过不久,当同事要用我的组件时,问题百出,以至于同事跟经理抱怨说,这么基础的组件应该给有经验的人去写啊。。这次,虽然我的工作做的很烂,可自信心倒没受多少打击,因为已经工作一年多了嘛,脸皮厚了不少。但是我心里知道,我的工作肯定哪里出了问题,否则我的组件应该能经受住使用者的考验的啊。这份工作中,我学到了不少东西,首先呢,脸皮要厚一点,不会就追着去问,其次,没有想清楚的话,写出来的东西经不住考验的。再次,英文资料好像更准确啊。当然还有一些具体的编程技术。
大概又过了一年多,大家都说J2ME快完蛋了,android已经开始大兴其道,公司里面也有人在做android客户端,可我还在写没有前途的J2ME.恰好,qq群里有人发消息说招人,我脑子一热,扔了份简历过去。于是,一个多月后,我就到了新的公司上班,这家公司是一个做手机的厂商,而我也可以参与android的开发。在这个公司的前3个月,基本啥活没干,除了学习android之外,就是各种培训和等待。大概待到5个月的时候,我实在坐不住了,我去跟经理说,有没有活可以给***。经理说我考虑下,不久便安排给我一个项目,让我去把它维护好了,然后集成到产品里面。可当我拿到代码时,傻眼了,2w多行代码,而且很多地方写的很复杂,看了好几天也没看懂。好吧,不管了,这件事既然是我负责,那怎么都应该挺住。在接下来的快2个月里,我每天都扑在这两万多行代码里,解决里面的bug,理解里面的设计思路、代码风格、编程技巧,使用公司的工具链,从发布、审核到持续集成等等。我了解到了很多我平时不知道的东西,我解决了发现了的所有的bug。可是最终,我并没有把这个项目维护到可以发布的程度,最后一关的AT&T的稳定性测试宣判了我的这个项目的死刑,随后这两万多行代码慢慢的从我的提交列表里面消失掉了。我第一次明白了,竟然还有如此严格的质量测试,也明白了什么叫风险与代价,虽然这些代码,我已经用monkey模拟跑过了5个钟头,但是依然被ATT测试蹂躏2个钟头之后挂掉。......
问题三:自学程序员需要多长时间自学程序员,难不难要看你肯不肯多花时间在上面,有很多方面要涉及,对于编程语言更是需要你多实践多上机,才能有所收获,当然如果你很喜欢编程的话,你也会发现编写程序也是一件很有乐趣的事情,完成了也很有成就感。当然,要考程序员,光编程还是不够的,畅需要涉猎计算机相关方面的知识
问题四:自学成为程序员一般需要多久程序员有很多开发语言每个开发语言学习周期都不同零基础从入门到熟悉怎么着也得半年基本上要1年多三到五年能精通
问题五:当程序员要学习多久?学完了多少钱一个月?看你学到什么程度!看你学多少科目。计算机语言编程常见的大概有10种以上。
大多数大城市的普通程序员都是IT业的民工。工资谈不上高,工作压力大
问题六:通过自学从小白到程序员需要多久学习需要多久就看自己的时间分配了。自学需要的时间真的不好说,有的人一年也许能学到入门了,有的人啥也没学到。
问题七:程序员难学么要学多久才是中级java你要知道一个问题,并不是你学的越久就能达到中级高级,首先你要知道中级的要掌握什么样的技术,比如主流框架,优化数据库等等,还要有一定的工作经验,解决自己或者别人工作中遇到的各种问题的能力,如果没有,你掌握再多也只不过纸上谈兵而已
问题八:自学程序员要多久,如何找工作这个时间就说不准了,自学得看你自己的自制力和接受能力。一般在培训学的话就4个月,自学估计得要更长时间。至于找工作,自学会有点难度,只能说碰运气了。个人不建议自学
问题九:学习编程到成为一个能赚钱的程序员最快要多久这个要看学习编程的天赋了。赚小钱的技能的话,一周左右就可以了
零基础学习Java几个月能学完?零基础学习Java几个月能学完?参加Java培训多长时间可以毕业,其实学习这件事情是无止境的,即便我们参加Java培训之后步入到工作中还需要我们不断地学习和提成因为这是升职加薪的秘籍,其实很多Java培训机构培训周期大概四五个月的时间,如果选择周末班可能时间火稍长一些,当然如果选择购买Java视频教程那时间就看自己自觉啦!零基础学习Java建议参加线下Java培训班。
零基础学Java需要多久
首先想要知道到底需要学多久,得先知道你想学到什么程度,相信现在没有任何一个人敢说自己精通Java。
如果是想要学习到能够找到一份初级Java开发工程师的职位的程度的话,一般参加培训班的同学需要4~6个月左右的时间即可,自学Java的自学时间可能会长一些,一到两年的时间甚至更长。
Java培训班的课程都是按照零基础的标准来设计的,所以小白同学也不用担心自己学不会跟不上进度的问题,课程本身就是循序渐进,并且还有讲师全程教学授课有不懂的问题随时都有老师帮助你理解,所以只要你静下心来学习4个月左右的时间是完全能够学到入门程度找到一份Java初级程序员的工作。
这里提到的4个月时间可不是说学完4个月之后就结束了,虽然已经能够达到初级Java开发者的标准,但你想要持续提升技能的话还需要学习新的技术知识,这些就需要同学们在职的时候利用业余时间学习了,IT行业技术更新换代的速度很快,如果不及时学习新的知识很容易就会被淘汰掉的。
其实关于关于零基础学习Java几个月能学完?没有一个固定的概念,因为要看自己准备学习到什么程度,因为学习本来就是意见无止境的事情,何况Java技术呢!更新换代,我们需要不断的提升自己,如果你也打算参加Java培训不妨填写下面表单来昆明北大青鸟参加Java培训班免费体验课程。
免责声明:内容来源于公开网络,若涉及侵权联系尽快删除!
程序员一般要学多久?
如果零基础,全日制学习,一般需要4个月左右,时间太短应该学不会。有短期的4个月和长期的2年,费用一般在1万。
一般学习it技术需要花费的学费是不一样的,不同的地方收费标准也是不一样的,在学习信息技术的时候,初学者经常犯的错误是只要速度,而不注意基础知识的学习,这样无论是学习后期,还是参加工作后,都会觉得很难,因此一开始就要牢牢掌握计算机的基础知识,比如软件系统,计算机网络知识和数据库知识。
(3)程序员的三个难题扩展阅读:
程序员培训注意事项:
弄清楚整体流程,掌握全局才能形成清晰的思路,就如同写作文要先写提纲一样。
理顺各个模块之间的关系,才能更好的衔接各模块来完成相应功能。
做接口时,要考虑使用者的感受是否易用,并且尽可能少的向使用者暴露内部的实现过程,简化使用过程。
正常分支总是少数,大部分情况下都是异常分支,可以用2-8定律来形容,因此对异常处理很重要。
自学java编程,要多久能学会?因人而异,例如一个零基础的小白自学java,每天学习8个小时来算,而且在有学习资料的基础上,每天学习,从零到找到工作,起码要半年起步,而且还要有项目经验,否则是不会有公司要你的。千锋教育就有线上免费Java线上公开课。
而一个有一些基础的人,在经过有人系统的教学后,是可以很快学会掌握java的,大概3个月左右。不过java相对于C,C++java而言,java无疑简单了很多,不需要指针,不需要销毁对象,使得对java初学者来讲更容易入门,挫折感也少。但是自学也是最难坚持的,如果自制力不够强的话,建议报班学习!身边有没有一个好的学习氛围,极容易半途而废。Java程序员基本上都是高薪待遇的,而通过Java培训课程的学习,是相对而言比较便捷的成为Java程序员的方法。如果想了解Java更多相关知识,建议到千锋教育了解一下。千锋教育目前在18个城市拥有22个校区,年培养优质人才20000余人,与国内20000余家企业建立人才输送合作关系,院校合作超600所。
学习java一般需要多长时间我们大家学习Java从入门到能掌握可以找到一份工作,平均周期在三年左右,也有一些两年就自学完成的,而且我个人认为报培训班是很需要的,我们大家在刚接触Java的时候,会有些迷茫,不知道该从哪里入手,那是因为在学习上没找到对的方法。
学习是场持久战,短时间的突击学习收获并不是很大,学习重在行动、贵在坚持,能坚持下来才是最难能可贵的。
学习java,说实话,入门并不难,但是学精可不容易!对于零基础学习java编程所需要的时间也是受很多因素影响的,比如,你自身的学历,学习态度,是自学还是培训等,所以无法用一个确定的时间段来进行评估。
对于零基础的学生来说,想学好java编程,参加专业的软件编程培训是很有必要的。专业的软件学校都是因材施教,针对不同的人群开设不同的班级,学的时间也有所不同,一般情况下,高中生是两年时间,大学生是6个月左右的学习时间。
如果是自学的话,自学的话比较考验你的学习能力与自律能力,想要熟练掌握Java技术,至少需要两年左右的时间(高中生的话那时间会更长)!不过也有学得快的,建议您如果自学的话,可以采纳!
1、找一个行业当中的师傅进行规划和指导。
2、每天规划好学习时间,不要中断。
3、先掌握了解知识体系后编写项目,边抓细节。
java应用广泛,课程体系全面,零基础通过自学Java最终找到一份Java开发的工作,其实这件事还是有难度的。没有好的学习教材以及良性的学习规划、遇到难题无法解决导致学习效率很低、作为一个零基础的初学者没有人指导带着学都是需要克服的问题。
培训的话,一般培训机构会根据课程安排及大纲进行教学,通过6个月左右的时间,就能掌握Java编程技术,将所学与项目结合,迈出程序员职业道路的第一步,随着工作经验的积累,薪资只会增长。
记住,学java还要看兴趣,如果你真的深入学习,你会发现“学java要多久?”是个毫无意义的问题,不要忘记,技术的道路更新实在太快。人只有在不断学习,才能走在技术的最前端。也许一辈子都要学呢?活到老,学到老,而且互联网技术更新迭代很快,只有不断学习才能更上时代不被淘汰。
学编程难不难,一般要学多久从零开始学编程一般需要4-6个月。入门编程应该先学入门C语言或者python:C语言语法简单,有良好的逻辑抽象,如果是要更全面、深入地学习语言本身就C。python语法更加简单简洁易学,而且有各种强大的库,扩展库,如果是为了通过编程这一手段来迅速地做出有用、实用的程序和界面可以学python。现代很多语言都是从C语言发展而来的,所以可以以C语言做跳板进阶其他面向对象的高级语言。慢慢接触C++,或高级编程语言(如:Net,Java等),网页设计相关的语言(HTML+CSS+Javascript)。如果想做一个程序员,在没有基础的情况下,买书自学是一个办法,但是大多数人会因为没有相关的基础知识,导致看书看得一知半解,在不了解的时候,买的书不确定一个方向,编程语言太多了:java、C++、python、PHP、C等,需要确定方向,从基础学起,建议零基础学编程的小伙伴从C语言开始学起,C语言入门比较简单,会提升自信心。
自学编程入门一定要阶段性的看到成果,这个“成果”并不是在“黑匣子”里面实现,要在用户展现界面呈现,很容易提升信心。
机器语言
在计算机系统中,一条机器指令规定了计算机系统的一个特定动作。一个系列的计算机在硬件设计制造时就用了若干指令规定了该系列计算机能够进行的基本操作,这些指令一起构成了该系列计算机的指令系统。
在计算机应用的初期,程序员使用机器的指令系统来编写计算机应用程序,这种程序称为机器语言程序。使用机器语言编写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。缺点也很明显。
Ⅳ 编程究竟难在哪
1. 难在思路的构建
你学了很多语法,很多 API,但是当给你一个实际问题,让你通过编程实现,不是简单地罗列 API 即可完成,而是需要你对问题进行分析,理清解决问题的逻辑,然后再通过各种算法、数据结构和 API 等进行编程实现。
2. 做出来容易,做好难
当你解决了思路构建的难点,解决了一个问题,但是你是否使用的最好的方法,这就是所谓的做出来容易,做好难。
写的程序能够解决问题且没有 bug 是基本要求。这里的做好不是指功能正确,而是写的程序容易理解,能够很容易让其他接手的程序员(水平不差)看懂为什么这么写。
正确是现在怎么写不会挖坑害将来的人,现在怎么写能让别人1年后看你代码时候不可能理解错你现在的意图,现在怎么写能在别人将来犯错的时候提示他你错了。
编程是给未来的未知人讲故事,你无法知道将来这个人是谁,他都懂什么,他经历过什么,这个系统将来已经是什么样子了。我们需要在这种无知,缺乏信息的情况下做决定,从千万种把这件事做出来的方法里,选出你觉得最能把这个故事给讲好的那种方式,把故事写下来。
编程是一种沟通,用程序跨越时空之沟通则是一门属于程序员的特有的艺术 —— 阿莱克西斯
3. 规范性好,有良好的可扩展性
并且程序的可扩展性,规范性高,后期维护难度小。整体功能实现的过程中,各种情况考虑规范。其实学习编程和学习其他内容一样,没有什么太大差别。心态放好,用对方法,你就能够学好。重要的是学知识的人是什么样子,而不是学的是什么。
在这给你一些学习编程的建议,希望对你有用。
1. 让编程成为一个习惯
想要培养一项技能的最好的办法,就是将他融入到我们的生活并成为我们的爱好。其实说白了,就是让这个爱好成为一个习惯,一天不去做这件事情,都会觉得少了什么。在不知不觉中,这个习惯会像滚雪球一样积累起来。
对我来说,养成这种习惯首先就是要对“拖延症”说不。比如,你想锻炼下自己的写作能力时,但是没有好看的本子,没有好的灵感,没有安静的环境....总之就是找各种理由一拖再拖,最后就不了了之了。
为自己设定一下,每周拿出几天,每天拿出几个小时,编程学习就这样慢慢步入正轨。
2. 将每天的学习过程拆分成小块
对待编程学习,我们没必要像健身狂人那样一口气做到筋疲力尽。与其直接编程2小时,我们完全可以先做40分钟、然后休息5分钟,整个过程重复4次。很明显。