ahyyxx222
ahyyxx222
关注数: 236
粉丝数: 1,768
发帖数: 3,420
关注贴吧数: 10
2018版JAVA程序员成长之路的总结 12年发的贴,居然还有人在催更,才发现我还真说过5年后再写续,好吧。 附传送门:http://tieba.baidu.com/p/2017010306 当年看过我贴子的人,经过这么些年,应该都有所成就了吧,为了避免技术上献丑,这次我就不再唠叨该学些什么技术了之类的烂大街的话题了。我尽量讲点新手老手都能看得下去的话题。 开门见山抛出两观点: 1、你之所以没成为大牛,根本原因是领域知识的欠缺,不是理论基础不好。 2、懂得让技术方案适应环境,让技术与现实挂勾非常重要。 解释下第一点。 你有没有经常羡慕做开源项目的大牛,什么分布式框架,什么网络IO框架,什么支付聚合方案,什么自动代码生成方案。**,一个个都好牛B,自愧不如,于是想想自己基础那么差,多线程啊、IO啊、反射啊,都是半桶水,想去学又不知从何学起,最后感慨,果然是比不上大牛啊。 我相信有这种心态的人不少,从新手到老鸟都是,但是,在差距上,你根本就找错了原因好吗。 技术水平,绝不等于对底层代码的滚瓜烂熟+设计模式。 你和大牛真正差的,是领域知识。 例一:刚培训出来的你,为什么连OA办公系统的在线考勤签到这种小项目都做得一塌糊涂,因为你没有彻底弄明白员工、排班、班次、加班、早退、外勤这些概念之间的关系影响,你不知道某种局面出现以后,应该怎么处理以确保数据能让人看得懂,又不互相矛盾。这不是技术水平问题,这是领域知识欠缺的问题。 例二:工作三五年的你,为什么写不出分布式开发框架?先问问你有没有了解服务器节点、注册中心、网关、代理、总线、选举机制、脑裂问题、幂等性、最终一致性、服务降级、熔断等等这些名词的真实含义以及它们代表了一种什么样的问题场景? 这些名词,如果解释得够清楚,一个不会开发的人都弄懂。 因为这就跟一个人他自己干活没问题,却不懂得怎么指挥一群人分工干他原来在干的事是一回事。 所以你写不出分布式框架首先是你缺乏在分布式环境下处理事情的领域知识,然后才是你对io包的api的使用水平和设计模式的实战能力。 延伸开去你会发现,无论是做底层类库,还是做大型系统,还是做游戏开发,你如果想去开始敲代码,首先让你卡壳的,都是“领域知识”。 可能在新手眼里觉得我就是大牛,什么都懂,那我可以告诉你,上面提到的这些什么什么分布式框架,什么网络IO框架,什么支付聚合方案,什么自动代码生成方案,我统统写不出来,或者说写出来的也就凑合用用。 因为,领域知识是无穷无尽的,如果不是工作所需或浓厚的兴趣所在,我根本没有时间去研究这么多的领域知识深入到能自己实现的程度,所以我写不出来,我了解这些知识只是达到一个我能去合理使用别人写好的框架的程度。因为我更多的关注点在于:用技术解决现实问题。 如果你想当一个合格的,能做正确的技术路线选择的人,首先就是要知道从哪里学,怎么学会你要做的东西的核心领域知识,然后才是你对各种开源框架或底层API的熟悉和设计模式的运用。领域知识最好的直接来源,就是你的产品经理、客户、业务部门同事,以及看书。 3、好,以上说明了文章开头所说的两观点其一,下面解释第二个观点:懂得让技术方案适应环境,让技术与现实挂勾非常重要。 假设你做为一个程序员,天天老老实实听需求,写代码,突然有一天,老板一拍板,你表现不错,接下来这个新项目,就交给你负责了。 接下来你要干啥?研究采用什么技术方案好?那,是做个单工程的应用呢,还是用maven做分模块工程的应用呢,还是做成分布式微服务呢。这是个技术决策问题,但你可不要忽略了那些技术以外的问题,对你做这个决策的影响。 你需要考虑的非技术问题有: 1、你的公司是想靠什么赚钱。 2、你的项目交付客户是群什么样的人,他们对BUG、交付周期、使用体验的容忍度有多高。 3、你的交付客户要用这系统做什么事,他们用与不用,有什么好处,用是为了达到什么目的。 4、你的公司在系统上线后扮演的是个什么角色,一锤子买卖,还是提供持续技术服务,还是要参与运营和策划。 5、你的公司团队,在提供运营支持上,是个什么样的人员配备和部门分工,工作流程是什么。 ..... 你如果等上线以后再考虑这些问题,可以肯定地告诉你,到处都要改,而你会喷他们怎么早不说清楚需求,陷入长期的互掐状态。 很多所谓需求不靠谱的事,如果你及早注意到你的项目所处的非技术性背景,你在技术决策阶段就可以解决。比如: 你做电商系统,你们公司做营销和库管的是同一个拨人,小公司嘛,身兼多职,好,那你直接把优惠活动模块和库存管理、订单模块全扒拉到一块,做成一个叫销售模块的工程,也没什么大问题。因为他们自己一职多能,提需求都是从自己角度提的,你用一个工程实现他们的需求是可以满足的。 而如果做营销的和管仓库的是两拨人,尤其是这两拨人有一套固定的工作对接协作流程,好,我劝你最好用微服务,至少要maven分个包。然后在不同模块间的交互上,严格遵照他们两个部门之间的协作流程来设计接口。那你在做分布式时,你就不要从技术角度再去纠结我这个出库请求过去了,要是没响应怎么办,我该怎么实现分布式事务。你可以直接去问这两部门的人,如果你们销售把出库单填给了仓库,结果仓库一直没动静,你们怎么办。他们现实中怎么办,你系统就也怎么办。无论是重发、定时询问、确认回调、两段式提交什么乱七八糟的处理,都是来源于现实的。 这样,你最后做出来的系统就会比较贴近实用环境。 还有一种典型问题是:你忽略掉了某些和你的软件利益相关的人,比如财务。 没有经验的人,会觉得财务就是那个给公司管钱,给他发工资的会计,只会看看资金统计报表。而他在做电商系统设计时,满脑子都是怎么满足消费者,让他们能顺利下单,如何用手机支付把钱打过来,成交。而把与供应商结算、清算对帐、垫付款这些事全都忽略了,最后系统上线财务肯定首先跳出来说这系统没法用,因为他忽略或者轻视了财务这个角色,在系统流转中的地位。 一个系统的正常运转,是需要很多部门,很多人参与的,如果你只懂得一部分人的述求,不懂得其他人要干嘛,其他人在做这些事时有什么互相冲突,需要协调的问题,有什么固定的沟通和协作套路,那你的技术方案再棒,也无际于事。 嗯,你肯定会说:这都怪产品经理。 实际上产品经理也有同样的局限,你做为技术,就是最后一道把关者,你要是能通过技术方案中的矛盾和纠结问题来发现你们公司和团队在现实工作中的矛盾,转而反馈给其他部门或者上司,那你才是个合格的技术决策者。 祝所有JAVA程序员,最后都成为一个优秀的技术决策者。
有潜力超越CRUD程序员的人必须面对的一些技术问题 一般企业最缺的人,就是一到三年工作经验,对技术有热情且正处于快速上升期的程序员,我们公司也不例外。 最近面试的人多了以后,慢慢也总结出了我最喜欢的几个能考察出水平差距的实用性问题,也在这抛给大家讨论下。 以下问题假设前题环境是你是在一个普通的MVC项目里做开发,用到了spring。 1、在一个后台管理界面中,两个人同时都想要去修改同一条数据,他们打开编辑页面的时候看到的是一样的内容,但是在编辑的表单中做了不同的修改并保存,那后保存的人会覆盖掉前面保存的人的修改结果,如何在技术方案上解决。 2、电商中最常见的多人并发下单,争夺最后一个库存的问题,如何避免超卖,如果网站是web集群布署又要如何处理。 3、如果你实现了一个类似webservice的服务端接口,接受远程调用请求,比如针对订单的余额扣款支付接口,通过什么样的方案可以识别请求来源身份的合法性,确定不是伪造的请求。怎么样防止客户端用一个订单先后或者同时,发送了两次相同的扣款请求,导致两次扣款。如果网站是web集群布署又要如何处理。 4、如果一个任务步骤太多,不需要事务性处理,比如下单成功以后要给用户发个确认短信,发短信这件事就不需要和保存订单放在一个事务中,要求是短信就算发送失败,也不应该阻止下单。提供一个能够拆分出多任务异步执行,并且可以追踪到执行结果的技术方案。 这些问题的共同特点是,并不特定针对哪种技术,但是一般的项目里都有可能会需要去解决这样的问题。 初级答案,基本能解决问题,小概率条件下可能还会出问题。 中级答案,能在各种环境下运行都无问题,但是效率性能或者可维护性还不算好。 高级答案,解决问题并且运行效率在理论机制上优秀。 其实说实话真的极少遇到能把这几个问题都答得有条有理的人,我面过的一年到五年经验不等的,过半的人连初级答案都提供不完整,可见真是码农盛行。大概也是我们公司吸引力不足,大牛不来。 不过通过观察他们在面对问题的思考方式和态度,还有考察他们以往对项目的思考深度,已经足以区分谁是潜力股谁是混日子的了。 另外答案太长,不可能一一回复标准答案,只供讨论,有需要改天再另发贴。
培训生们,要实事求事啊 一开年各种简历投递过来,都是什么两年工作经验,然后会说里面也包含了实习啊什么的。 识穿你们太容易了: 1、你们的项目描述太详细,用语很官方,跟招标书一样,比你实际了解的多多了。 2、半年时间才做一两个小模块,就算是真的,这效率会要你么? 3、基础太差,问表单提交上来的字段,如何在代码里取出来,一会答是POST,一会答用AJAX。问事务有什么影响,没有会怎么样,答没有的话写起来会比较复杂.... 4、(仅供参考)来自非本地的培训机构,属于IT欠发达但学生多的地方,比如武汉、西安,做的项目一般是些企业系统,还很小,而且多是县级市的,很难考证。 5、回答极其不自信,最近做的东西也要拼命回想,前后矛盾。 如上,对于这样的培训生,我不介意你们编一两年经验混过HR那关,但是到了我这,你们至少要把该学会的学会了,最好有自己亲手包干的项目,清清楚楚地说出每一点怎么实现,什么原理,不要说这是别人做的,那是别人带的,不太了解。自己做的项目给我的印象会远胜于培训机构给你瞎编圆不上的那些。 就酱
新人常识普及:我们为什么必须会git和maven 鉴于本吧多新人,新人又需要多交流才能进步,今天就给新人们讲讲git和maven的必要性,因为,他们的重要性,远远超过很多没用过的人的想象。 很多人应该用过svn cvs之类的代码版本管理工具,git也是其中之一。 svn和git最大的几个区别要点,svn必须要有服务端,网络能连上服务端才能提交和更新,git不需要,每一台装了git的电脑都是服务端,各台电脑之间可以相互同步和推送,而提交不需要网络就可以提交到本地的git库里。 对于吧友们来说,这样的好处就是,如果要分享代码,不需要打个压缩包传来传去,也不需要找个服务器搭个svn来共享,现在oschina,csdn等网站都提供了免费的git服务器,大家注册个帐号,提交下去,把地址发给别人就可以了,而免费的svn服务器,几乎是不存在的。 而且svn因为服务端是单一的,一旦服务器坏了,整个版本库的历史记录就没有了,也没法再回滚,git每台电脑都是服务端,只要两台电脑做过同步,任何一台坏了,另一台还保有着所有的历史记录,仍然可以提交更新回滚,不怕代码历史丢失。 此外,git还有许多强大之处,比如git的分支就比svn的强太多,这些就留给大家摸索吧。 再说说maven,我们每做一个项目,都要往lib目录扔很多jar包,spring的啊hibernate的啊apache的啊等等,这样就会导致很多包不知从哪个角落下载回来的,名称千奇百怪,版本也不明,项目多了以后还得自己复制来复制去,容易有多种不同版本的包混杂。maven最基本最重要的功能就是管理这些项目间的依赖关系,用一个xml来维护。如果你的工程要用spring,你就在maven的pom.xml里配一下spring的项目名称和版本号,要用其他的也一样。 得益于maven已经成为java世界的主流工具,绝大部分知名的项目都在maven中央仓库有标准名称,有各种不同的版本存在,你只要配下名称,配下版本号,maven就会自动从网上为你下载jar包并让你的工程依赖上,你的本地硬盘的仓库目录能看到井井有条的你用过的所有第三方项目的jar包和源代码,再也不用去下载那些来路不明的jar包再扔到工程里了,也不用担心写同一个项目的两个人一个用了3.0版的spring,一个用了2.5版的spring,以至搞出莫名其妙的问题。 有了maven,我们不再需要往git或svn提交jar包,项目库的体积大大减小,下载项目变得快多了。而且只要提交一个pom.xml文件和你的代码,其他人自然也能下载到和你本地一模一样的第三方jar包,下过一次某个jar包以后,其他项目再用同一个jar包时,maven自然会使用本地仓库文件夹里存在的jar包,不需要再次下载,也不会出现很多个拷贝。 另一个好处是maven的pom.xml任何一个主流ide工具都认识,都可以导入项目,你不用再操心你提交的.project和.settings文件因为别人的eclipse版本和你不同而导不进去,也不用再担心有人用的是别的ide认不得你的eclipse项目元文件,你不需要提交这些和开发工具有关的文件到服务器上了。 如果我们身处异地,要共同开发或者分享点什么项目,毋庸置疑,maven和git必然是极大提升效率的两大基础利器,希望大家能早日投入精力学会这两个工具,扫除技术沟通的阻碍,不要再停留在史前时代了。
这几天作为面试官的面试见闻,给大家参考或娱乐 最近我们公司要招的人比较多,每天都要面上两三个人,从刚实习完的到工作了几年的都有。 我是个不爱照搬考题面试的人,就喜欢直接聊到哪算哪,一般过程是这样的: 1、先介绍下过去做过的项目,负责哪些模块。 这块一般会被当成开场白,因为泛泛介绍一下以后通常还会深入探讨细节。不过有一个人例外,他直接在这个阶段就打动我了。 他当时除了介绍他的项目和模块是干嘛的,还拿张纸给我画了他们的代码业务流程图,从哪个模块调用哪个模块,哪个系统调用哪个系统,先做什么再做什么,还包括了如果哪步出问题,他们是怎么处理的,有条有理,思维严谨,虽然没有涉及什么高级技术,我当时就下定决心这个人要了。后来入职的半个月也充分证明了这是我最正确的选择之一,他总能提前干完还一直缠着问还有没有活干了,比很多老员工效率要高。 2、介绍完毕,我通常会先就对方的项目介绍问清楚项目的来龙去脉,这个项目是些什么人在用,有哪些角色,每种角色能干什么事情。 这个阶段就有人被淘汰了,有的人表达得结结巴巴,不懂如何描述,或者前后不连贯,想到哪算哪,最后对他的项目干嘛用的还是一头雾水。感觉就是个照猫画虎干死活的,我肯定这样的人和产品需求人员沟通一定会出大问题,误会和返工少不了,因为他没法表达清楚他做的项目的业务。 3、开始就他用过的主流框架问些细节。 一般先问持久层,不外乎是hibernate mybatis或者jdbc,用jdbc的,先来解释下他们是怎么开启事务的,统一配好就不管了呢,还是会按需调整事务的特性。工作几年的我一般不再问事务有什么意义,一年以下的我会问事务有什么用,没有会怎么样。结果令我很意外,那些做了半年多项目的实习生们,只有一个人答对了,事务能保证一致性,出错会回滚,其他人都是些什么能让条理更清晰啊,性能更好啊......少年们,事务对于使用数据库的意义就像盐对于炒菜一样重要好不好,做为一个做了大半年增删改查项目的人,请不要老拿:我们就是做功能的,原理不清楚来应付。弄懂事务的意义10分钟就可以了吧。 当然也有人记得那个经典的银行转帐的例子来讲事务的作用,我很刁难地问了一个:如果出帐的帐户和入帐的帐户不在一个数据库里怎么办?然后就没有然后了 然后我会问的一般还有,事务开启了,有什么办法在事务过程中,出了异常也不回滚数据库操作。这个问题答不上来也没关系,因为需要这么干的时候不多,在分布式系统里可能会有这种需要。我主要是观察对方的反应,我最欣赏不知道的反应是立即请教怎么样能做到,最讨厌的反应是说不会有这种需要的,脸上带着一副懂这有什么用的不屑。 hibernate可问的问题还挺多的,但我不会问些什么save和saveOrUpdate有什么区别,我觉得这真是八股,一共就两方法,一个保存不了换一个试试就解决了,百度都不需要。我更想问,怎么样在代码中动态控制延时加载的效果,怎么样用hibernate实现只查一张表的部分字段而不是整个表get出来,这些对开发质量更有实在意义。 其他的问题也不一一描述了。 4、三大框架的高级用法我不会怎么问,我不需要你深入研究透这个框架,当然如果你真的研究透了绝对加分。我更希望你用得清晰,用得明明白白,而不只是“别人这么用的我也就这么照抄了”。 比如对于初级开发人员我有个喜欢问的很简单的问题是,你从你的控制层,调service层的一个保存数据的方法时,service一般会返回什么类型的值。有的人回答boolean,有的人回答String,boolean的我会追问那如何获得保存后的数据库记录主键,String的会追问保存失败以后应该返回什么。这个问题确实太简单了,做法很多,但是我想看的是对方的思考方式是否有条理,合理,而不是逮着什么方便就怎么写。有的新手会对着自己的代码想,这样写好吗,换个写法是不是更优雅合理,有的人却是能实现就行了,让他想想其中的道理时,就真的一头雾水。 这个问题我最讨厌的回答是:太久了,已经忘了。这你都能忘你还能记得什么!你的项目真的是你做的么? 最喜欢的回答:我们封装了一个返回结果的基本类,里面有一些处理结果标识和通用的异常定义,不同的方法会返回不同的子类,子类中定义了调用端所需的各种信息对象DTO。没有人类似这么答过,我自己YY而已。 5、接下来是知识广度,从缓存到集群到分布式调用,nosql,MQ队列,maven、svn,看他们对这些技术了解多少,也许因为项目经历所限,你没机会用过这些技术,但是随便上一些技术网站,都能了解到现在流行什么,这些技术是为了解决什么问题存在的,你看这些技术也说明你注意到了一些问题的存在。视野开阔的人,说明他的求知欲强。也许应聘者很多关于各种技术的回答是错的,但是我能看出来他是想过还是没想过,是有自己的一套认知还是胡说八道。你说错没关系,我们团队里有懂的人,他以后会给你把观点改正过来,但是想都没想过,差距就显而易见。 我隔壁办公室的一个项目经理招人的时候和我最大的差别就在这,他要那些尽可能答得正确的,懂得多的,有经验的,因为他们团队没有架构师,全靠程序员的知识准确性保证质量,他得依赖招来的人的知识准确度。我不缺解决问题的人,尤其不缺依靠搜索引擎就能解决问题的人,我只要你能够思考问题就行。 接下来说说我对各层次的人的印象,我这里是杭州。 新手:在公司呆过半年以上,做过一两个简单项目。 这类有好多都是只会简单增删改查,框架细节不知,java基础的集合也了解甚少,只会用用最常见的两三个,甚至有一半以上说不清request和session的区别,还有事务的作用。 工作两三年的:分化严重,有的思维很清晰,知道自己的发展瓶颈,渴望有更好的项目锻炼。有的日复一日,年复一年,毫无进步,就是一只井底之蛙,熟练地用着自己的三板斧,稍微变化一下跳出熟悉的条条框框,就迷茫了。 研究生:这个有点特别,我一共遇到两个,差别截然相反,他们都还没毕业,一个对互联网大型分布式系统已经很了解,看得出来不但有项目经验还基础扎实,抵得上工作两三年的人,而且有好机会,在大公司实习过,并且表现不错,还想有更好的选择。另一个就停留在很初级的阶段,只能做最简单的增删改查,还是在读研途中报的培训学的,虽然就培训生的水准来说,他学得相当不错,原理常识也基本都懂得,只可惜自我定位不对,要价高得离谱,放弃。 老手:一般三五年以上,有的也是日复一日年复一年,还不如要一两年的。有的就懂得相当多,兴趣已经从如何实现需求有所转移,比如如何管理技术团队,如何提高开发效率,提高代码质量。 最后我得补充,我的面试方式不一定具有通用参考价值,面试官都是各具个性的,有时我眼中欣赏的东西换个地方不一定会被欣赏,我不喜欢的可能有人会喜欢,最重要的,还是自身技术过硬,眼界开阔,思维表达清晰吧。 最后的最后我得说:我们公司招聘已经满员了,不用求报名。
有没有人想一起组团做项目的呢 为了不被当广告贴处理,多的就不说了。关键点: 真实项目,刚起步,暂时没有钱可赚,将来也许有。不下死任务,重在参与或交流,技术不忽悠,至少用一个对得起5年以上工作经验的架构设计,有培训生的一般水平就可以试着参与,不会的慢慢学,给自己简历争个光,不会做也可以留下纯学习,对围观者也源码部分开放,保证能跑得起来。有答问,没人教。 要是有大牛有兴趣欢迎随便来了解探讨。 有兴趣的可以私信发我QQ。要是被删贴我就再也不水了,这是多么有意义的事啊...
各位刚刚学成准备找工作的同学,说说你们想如何进入职场
程序员的悲剧
争论太多,无从插嘴,不如分享下我的5年JAVA路成长经历大家评判 大学,打游戏过了三年半,幸好没挂科挂到毕不了业,学历,自考大专,07年毕业。 大四下半学期出去参加培训,不是某鸟也不是某内,是个不出名的机构,并且在我刚学完还没找到工作时倒闭了。学费10000多点。 08年,上半年找工作,面了一家以后觉得,外行终究是骗不过内行的,不充有经验的了,改找实习。这个时候,我三大框架不会搭,连JSP SERVLET怎么跑起来都不懂。也就基础逻辑学得还不错,反射,多线程,IO神马的一率不会。 西部省会,找到一家小公司,每个月1000块,不管吃住。注意,是我倒贴1000学费进去实习,我去了,想着,见识下真实项目,交最后一笔学费。 两个月里,我被当成正式员工用,做OA。当我看到真正的项目代码时,我终于找到了方向,做了几个CURD模块,甚至自己实现了一个从页面到数据库全流程的权限控制,就是那种基本的url级的拦截。小公司苦逼,无前途,我没转正,走了。 打游戏的朋友给了我个机会,创业,让我管技术部,于是我很神奇地从一个基础CRUD程序员变成了部门经理,带着两个更新的新人。之后有一年多,我没产出一个项目,我在不断地重构和折腾中学习。收入不能保障,到处奔波,靠其他副业活命,后来终于做了那么两个不大的项目,也就是些网站和OA之类的东西。 这段时间的不断重构和思考,让我把MVC架构的代码写到了我能达到的最干净简洁的程度,并且会做简单的分布式和集群了。 10年,结束半死不活的创业,正式找工作。1.5线城市。月薪。。比城市平均收入水平高三分之一的样子。见识到了更大的项目,电商类项目,好多服务器,不同语言一起开发,好震憾,就像我当初实习看到那个OA一样。我想着我这没做过一个像样项目的人能成么? 事实证明,我还可以仗着比平均水平略高的智商混得相当不错,低调做事,慢慢扛起大任,半年后,我成了组长。也第一次了解了业务和技术该如何结合,如何设计,如何实现。 做满一年,公司倒闭了,欠着近两月薪水,后来打官司讨回六成。 找了个做机票旅行社平台类的小公司,薪水多了30%,但,技术烂得不堪入目,老旧,代码无比混乱。两个月后,不转正,没有接受老总挽留,留下一封对公司的建议邮件,离职。
三线城市的同学们都去哪了 有个兄弟在贵州有个大项目要做,公司一切齐备,唯独技术人员难找,工资快开到一二线城市水平了也没人面试。 问问各位,三线城市以下学JAVA的同学们将来都是怎么打算的?留在本省呢还是去一二线城市。大家觉得怎么样的发展路线好?
想到个关于新人找工作的办法 学JAVA新入行的人找工作难大家都知道,无非是几个门槛:要有工作经验,要有真本事,文凭。 从一个JAVA从业人员的角度来看,文凭我们无能为力,但是另外两个条件总是有办法的。 一是工作经验,实际上工作经验并不需要从毕业算起,只要你真的参与到一个真实项目的开发中,你就能算工作经验,兼职的也行啊,再好运气点的有个公司能给你开个实习证明就算完备了吧。现在的培训机构,最名不符实的就是那些让你拥有一年经验的所谓真实项目,结果人家一眼就能看出那都是些培训练习项目。为什么不能实实在在做一个真正的项目挂到网上去让大家都看到呢。 再就是真本事,事实上确实这个没有速成之路,你踏实地做了一年项目就有一年的工作经验,培训项目做得再多也是练手而已,做出来的东西,没有放在生产环境去考验,遇不到真问题,算不上真项目。简历上有一个项目,写着现在已上线,共有多少用户,每天有多少访问量,部署在什么样的环境下,那你的工作经验就能被人可,不管你是不是应届的。 我建议临近找工作的同学都自行组个团,找个真正的项目经理带一下,给你们搭架构,指引开发方向,最后把项目在公网环境一挂,让用户真的用起来,人少一点都没关系,经历一下真实的生产环境下的运维和开发。哪怕要凑点钱当指导的报酬,还有硬件开支,也比买毕业设计啊,上三流培训啊强得多了。 有这种经历的新人,在我的角度看来,对公司也是可用的,比那些简历上挂一串开发完了就不知去向的培训项目经验的人强。
忽然明白了我们公司为啥三个月没有一个人来面试了(续) 前两天发了个贴,让大家尽情吐槽了一通,今给经理说了一下经理一看也怒了,不知道是谁写的招聘信息,于是让我重写了一份,欢迎大家继续吐槽。 另外为了不被当广告贴删掉,地址和公司名就不留了,有意找工作的可以私信我,在杭州。 学历和工作年限还可以灵活对待,这上面只是门面工夫。
忽然明白了我们公司为啥三个月没有一个人来面试了 这是我们公司在招聘网站上挂的最低要求的JAVA职位,但实际招人的要求远远低于这个。 传说中的找工作难,招人也难就是这么产生的吧。
分享下多年积累的对JAVA程序员成长之路的总结 我也搞了几年 JAVA 了,由于一向懒惰,没有成为大牛,只是一普通程序猿,不爱玩社交网站,不爱玩微博,唯独喜欢百度贴吧,潜水很久了,手痒来给新人分享下从新手成长为老鸟的已见,也刷刷存在感,应该不 比曝照差吧。 首先初识语法的阶段,必须要学会怎么操作对象,操作 if 和 for ,操作 list set map ,然后是线程、 IO 和 jdbc 什么的,其余的,若是一时不理解,可以后边需要时再学。 这阶段完了,你可以写些能在控制台打印出来的小程序,锻炼下逻辑思维。也就是号称 JAVASE 毕业了,其实不过是入门而已,如果要往 WEB 方向发展,这些倒是基本 足够 了。 接下来要学 HTML JSP SERVLET 数据库 JAVASCRIPT TOMCAT ,目标,写出第一个动态网站,也许只是个登陆功能,只能展示下个人资料,但这是很重要的一步,你要弄清楚的是,一个用户的点击产生的请求,是从哪里发起,哪里接收,哪里处理,哪里返回,你得理解浏览器和服务器的关系和分工, cookie 和 session , request 和 response 。这个是个 WEB 开发的学习初级阶段,这都是些 JAVA 诞生以来最原始的最官方的 WEB 开发技术,当然现在真正的项目很少直接采用这些技术了,为了不断提高技术的易用性、开发效率和可维护性、可扩展性,无数开源项目都是在这些原始技术的基础上封装、改进。所以这个阶段不要盲目乐观地跑去找工作或者对实习挑三拣四,你会被打击到的。 好,初始阶段完成,开始进入 WEB 开发的正题,首先是传说中的三大框架, struts hibernate spring 成为熟练的增删改查程序员是必须的,在这个阶段你还要理解为什么要用这仨而不是那些 JSP SERVLET JDBC ,你要体会到写 MVC 、三层架构的好处。这个阶段不要轻易质疑三大框架的价值,也许刚开始你会觉得麻烦,觉得他们有时候是多此一举,一两年后回过头来你会觉得少了这些框架你已经很难干活了。这个阶段还要避免的心态是能熟练地增删改查了,就认为写程序不过如此,然后往简历上填个精通,这也是新手面试被批得体无完肤的原因之一。如果你学得好,这会应该能熟练地写个博客啊,小论坛啊之类的 WEB 项目了,也就是达到了就业的基本要求。
秀张给力的图,欢迎猜原理 提示,非图片,正常运行,完整版myeclipse9.0,谁能描述如何实现? 蛋疼时折腾出来的。
程心害死宇宙其实不是唯一的bad end 假如回归运动算错了或者恶意发布的广播,其实宇宙还是会坍缩的,但程心傻乎乎的责任心导致人类失去了前往田园时代的机会...
阿凡达和星际2的暧昧 那个外型,还有那个英文名... 卡神和暴雪啊...
拆弹真的是反战电影? 我很早就看了拆弹部队,据说这片被冠以反战影片,但我却觉得不纯粹。 首先主角给我的印象是他认为只有战争能给伊拉克人带来和平和民主,只有获得彻底的胜利才会有和平,所以他一次次义无反顾地投入战场。 在我眼里,不是喊几句疼,展现一下战争的残酷就叫反战的,片子给我的最终感受,是导演在呼吁大家要理解士兵的辛苦和不易,多支持他们,让他们早日取得胜利,结束战争。
看了这个视频,我深深感受到了影分身的无比强大!
观影归来,我来说下为什么这是部伟大的电影 通常都说人有五感,视觉听觉嗅觉味觉触觉 那人的享受也不外乎就从这五种体会输入 论听觉,我们有几人听过价值数十万的发烧音频器材演绎的天籁之音? 论味觉,有几人能尝遍最顶尖的美食? 触觉和嗅觉给人享受较弱,不举太多例子,大家可以想象美女的抚摸和遍野花香 那最后要说的视觉,阿凡达的场景之宏大和唯美,影象之真实如身临其境,就是顶级的视觉享受之一,奥运会开幕式也是如此,此种视觉之美不是常常可见的. 这就足以构成本片是部好电影的理由. 故事老套有什么关系?从古到今正邪对立压迫和反抗的题材数不胜数,为什么还是能出经典?只要故事本身是好的,为什么阿凡达不能再换个新的方式讲一次? 不满的人们,你们是不是忘了你们应该去享受什么,正如品美食时挑剔餐厅音乐,听音乐时抱怨椅子不舒服一样. 陆川这段影评说得好: 阿凡达突然让我意识到,我们电影的情怀和简单美好的距离有多远;我们和清澈纯真的距离有多远;我们和炙热梦想的距离有多远;一直在扭曲阴暗、扯淡的、纠结的庸俗中奔走狂欢的我们,距离到真诚,还有多远!面对《阿凡达》的纯净,我们应该羞愧。 为什么我们不能用纯净的心灵去欣赏这部电影?
1
下一页