一个工作两年的javaer应该学会哪些er模型的基本成分是技能

工作一年的javaer 应该达到什么水平什么薪资? - 开源中国社区
当前访客身份:游客 [
当前位置:
SSH? 熟练CRUD?
共有23个评论
<span class="a_vote_num" id="a_vote_num_
需要水平自己去面试过就知道了,什么薪资看地区的区别咯
<span class="a_vote_num" id="a_vote_num_
--- 共有 5 条评论 ---
回复 @一统天下大魔昂 : 看你怎么搞,仅仅是停留在用, 搞10年 也一样搞不懂。如果深入进去分析实现原理,静下心来。有一个月搞定。
(5个月前)&nbsp&
(5个月前)&nbsp&
回复 @一统天下大魔昂 : 两年的时候已经因为讨厌struts跟hibernate的配置自己写过mvc跟orm并且使用了。。。两年还搞不明白的,其实不太适合搞程序
(5个月前)&nbsp&
那没办法了,两三年都搞不懂,到时技术都换代了
(5个月前)&nbsp&
hibernate 和spring
两三年经验的都不一定搞懂的好吧
(5个月前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
一线城市,基础扎实的话,一年经验应该有个12k吧。好的话15k吧
--- 共有 5 条评论 ---
为什一年就要12k
(4个月前)&nbsp&
: 一年而已,不需要有拿得出的作品,当然有的话,自然是加分项。至于学校的话,相信基础好的话,不会是太大的阻碍,怕的就是有些人技术一般般,觉得自己牛到不行,觉得人家名校的都是傻逼。。这种人哪里都混不好。
(5个月前)&nbsp&
回复 @一统天下大魔昂 : 基础扎实的意思就是985学校毕业,在校期间获得过国家级的奖项,有拿得出手的作品
(5个月前)&nbsp&
回复 @一统天下大魔昂 : 操作系统,数据结构和算法,组成原理,编译原理,计算机网络等等这种本科时候学的基础课程。还有就是JDK,JVM,用过的中间件能够说点原理就行,至于框架什么能用就行。
(5个月前)&nbsp&
基础是指什么方面
(5个月前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
<span class="a_vote_num" id="a_vote_num_
--- 共有 3 条评论 ---
: 哥搞cpp两年都没这水平...尼玛
(5个月前)&nbsp&
这B 要么没毕业
要么就还在培训
(5个月前)&nbsp&
看了你才觉得我的差距,原来深圳这城市的钱真的很好赚~
(5个月前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
php 程序员,熟悉SSH,SSM,熟练CRUD,路过...
<span class="a_vote_num" id="a_vote_num_
看看人家的招聘上要求的什么,努力吧
<span class="a_vote_num" id="a_vote_num_
我觉得你在这种地方问,大部分回应你的都是很高的工资,确实有机会拿那么多,但是更多的公司不会给一年经验的这么多,因为你再牛逼人家面试的时候也不信,认为你看了题库;大多数一年经验的人能独立完成一个模块就很不错了,那种一年12k的,绝对是那种上班工作效率高,下班研究源码,在git上有自己的作品人
--- 共有 3 条评论 ---
1年多拿12K的,还有一个很重要的特点,就是不将就,不停的去面试,总会有人傻钱多的公司给你混进去。有些技术好的人懒。面试几家不行就虚了,然后就将就了。
(5个月前)&nbsp&
: 就这么说吧,你的项目如果有十几个人愿意参与,就算你有自己的作品了,如果有几百个人下载,也算你小有成就了
(5个月前)&nbsp&
你说的git上的作品是指啥?成熟的产品,还是自己写的framwork&library?
(5个月前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
引用来自“奔跑的菜菜”的评论我觉得你在这种地方问,大部分回应你的都是很高的工资,确实有机会拿那么多,但是更多的公司不会给一年经验的这么多,因为你再牛逼人家面试的时候也不信,认为你看了题库;大多数一年经验的人能独立完成一个模块就很不错了,那种一年12k的,绝对是那种上班工作效率高,下班研究源码,在git上有自己的作品人
认真你就输, 你为什么净是说大实话.
我能说这帖子也是osc官方发的不...&
<span class="a_vote_num" id="a_vote_num_
--- 共有 1 条评论 ---
(5个月前)&nbsp&
更多开发者职位上
有什么技术问题吗?
一统天下...的其它问题> 一个工作两年的javaer应当学会哪些基本技能
一个工作两年的javaer应当学会哪些基本技能
weiwei & &
发布时间: & &
浏览:3 & &
回复:7 & &
悬赏:0.0希赛币
一个工作两年的javaer应该学会哪些基本技能?从10年年初到现在,实际的java编程经验已经两年多了……但如今有点迷茫,一直在小地方上班,接触到的东西也很少。不知道大家所了解并要求的两年java经验的,都应该是怎样的水平呢?先总结一下自己第一年刚开始工作,在一家作坊式的小公司开始,从神马都不会到后来熟练的架构框架,可以独立制作网站,并能够开发一套属于自己的网站模版为止。对struts1、struts2、Hibernate很熟悉,能够熟练运用该框架完成web项目,Hibernate可以熟练使用HQL语法与CQR查询语句。但对以上框架的具体运行机制不甚了了。做过的网站访问量及并发量均不大,因此对缓存机制工作流多线程神马的了解很浅。第二年运气好,来到一家信息安保的公司,做互联网信息监控系统。主要核心框架是开源的nutch,存储系统为hadoop。自己完成了模拟登陆功能,以及尝试使用nutch完成了互联网数据信息抓取。主要工作部分为操作多台服务器,利用hadoop框架完成主机和子机的大数据分布式存储,并独立完成新项目发布到部署的linux服务器脚本。这份工作是我完全没接触的技术部分,刚开始的时候完全一头雾水。nutch相关方面的资料和书籍可以说很少,于是自己买书学习,幸好中间有个年假,可以说适当缓冲了我当时的压力。最终任务完成的还算不错,但可惜项目失败,我被裁员。对于这次离职其实还是理解的,我个人的技术确实还不到家。但这家公司给我展开了一个新的层面,也是我第一次接触敏捷式开发和认识到设计模式思想的重要性,从此对软件编程有了完全新的认识。从前的想法只是利用代码完成一些功能,但现在更意识到编码其实是思想的另一种体现,跟写文章差不多。总结这四个月的学习与工作,就是累,但是开心。离职之后又来到一家公司,规模很大,总部在北京,恰好在我这个小地方开了家分部。于是便过去了。但经过一年之后感到比较失望。正如大家能猜到的,这是一家人力外包为主的公司,主要给各地银行做系统。使用的技术是struts1+jdbc。公司也以业务为核心,开会必谈业务。与上一家公司不同,技术很落后,又是已经使用过很多年的业已成型的框架。新来的大学生随便培训下也就一两个月上手,完全不怕你把代码神马带走。客户每次修改需求,框架毛病就有一堆,每天的工作主要就是修修补补。这一年学到的东西诚实的说,的确不多。主要就是对数据库操作更加熟悉,也培养了耐心(这完全是逼出来的),同时对工作流和大数据处理懵懂的了解了一些。闲暇时间多了,开始自己做项目,巩固复习过去的技术同时也学习新技术。但也有大量的时间浪费在了玩游戏神马的。总结下现在的技术,啰嗦说就是:框架技术:spring,Hibernate,struts2框架可以熟练使用,但内部运行原理只停留在了解阶段。Ibatis,springMVC会用,但没经过实际项目的演练。页面技术:能够熟练使用dwr,javascript,ajax技术比较熟悉,jquery只是比较了解(因为项目中没用到,自己大概自学了一下但没怎么使用。主要是害怕习惯了jquery会忘记原生态的js语言……)。也能够写CSS等等页面布局。对html5有自学经验,自己一个小项目正在用html5运行。数据库:oracle,mysql也比较熟悉,能写一些简单的储存过程,但稍微复杂些的技术依然不知其所以然。服务器:能够写一些简单的服务器脚本,有linux下编程开发的经验。对于web服务器目前只是比较了解tomcat……java基础:自认还算熟悉java的基础知识,了解各类设计模式,也有比较规范的编码习惯,简浅地学习过数据结构。请问各个大牛,给提点意见。另外也想听听你们所谓的2年开发经验的程序员应该能达到怎样的水平?
刚毕业的表示感到自己弱爆了
weiwei3295 & &
21:58:01 & &
& & (0)(0)引用
还是多看看 基础性的技术 如java 核心技术, 数据库,算法之类的,太花哨的没必要看,因为都容易过时
weiwei4725 & &
21:58:01 & &
& & (0)(0)引用<div class='ansercon' id='content_年毕业同问,我现在的公司好像和你描述的很像呢。。。我的建议是可以看看设计模式吧,推荐看《java与模式》感觉会有很大帮助
weiwei329 & &
21:58:01 & &
& & (0)(0)引用探讨又是已经使用过很多年的业已成型的框架。新来的大学生随便培训下也就一两个月上手,完全不怕你把代码神马带走。
weiwei5067 & &
21:58:01 & &
& & (0)(0)引用探讨那你也应该是两年多经验了吧。现在在看《Headfirst》系列的设计模式。在自己做项目的时候尽量活学活用,但问题在于实际工作中根本用不上,你想使用的时候同事们都不会理解……
weiweix & &
21:58:01 & &
& & (0)(0)引用刚毕业的我更想泪奔了....
weiweix & &
21:58:01 & &
& & (0)(0)引用一年的来学习学习weiwei520 & &
21:58:01 & &
& & (0)(0)引用
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&posts - 38,&
comments - 340,&
trackbacks - 0
在上一节中,主要阐述了JavaScript方面的学习路线。先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标。
培训机构一般的套路是这样:先教JavaSE,什么都讲一讲,可是都讲不透,基础差一点的只有越听越糊涂,被面向对象的概念,接口,抽象类,搞得头都大了。一天到晚盯着几个干巴巴的案例看。
JavaSE大概持续讲两个月,最后会让你做一个控制台的小屁项目,可能是ATM管理系统,也可能是图书管理啥的。
然后,开始讲html、css,这两样东西一般就是1到2天,讲了等于没有讲,让他做一个小网站的前端页面根本不可能,他只会用div画几个五颜六色的框框。定位也不会,总是凭着老师课堂上讲的那几个例子,写写 position:absolute。然后郁闷得一塌糊涂,这个div怎么就移不过去呢,怎么就是不动呢??为什么老师的代码可以,我写的代码就不行??去问老师,老师说,我们是Java培训,这个是附带的,没关系,你们到时候也不会写这种代码,你们是写Java的。(呵呵了)
不管那么多了,接下来几天马上学习JavaScript,第一天,着重讲了讲var是什么,js的几种基础数据类型。然后讲function,alert怎么用。大概3到5天的样子吧,JavaScript就讲完了。
最后一天用来讲jQuery,发现好神奇啊,可是$是啥,为什么会这样,就不知道了。只会写写 $("#id")这样的代码。可是不管怎么样,jQuery已经讲完了。懂不懂是你的事。
我朋友直到毕业,都不知道json是啥,ajax是啥?就最后两个礼拜讲了SSH,带了一下。
JavaScript讲完后,立刻开始数据库,数据库一般还是教的Oracle。第一天,啥也不做,Oracle太大了,也不教你怎么安装,反正就告诉你老师的主机已经安装好了,那个培训机构的电脑可承受不起oracle。数据库教了1个礼拜,什么都涉及一点,包括触发器,但是没有存储过程。反正学完以后,我朋友只会 select * from student了。left join,right join 没看懂,只记得老师花了半天时间解释啥叫笛卡尔积,什么是三大范式?好像很厉害,然后... ...不懂。
接下来就是tomcat,JSP,这段时间对他来说就是噩梦了,反正最后差点弃坑。最后半个月,终于,万众瞩目,SSH闪亮登场。OK,培训结束,去月薪过万吧。
因为关系比较好,我和他经常保持联系,后来一段时间,他去了外包。因为太辛苦,后来又辞职了。
说了这么多,我在此提出质疑,个人认为,这种学习路线绝对有大问题。对于一个没有什么编程基础的人,这种学习路线肯定会害了他。我个人推崇的路线应该是这样:
第一步:不学任何后台语言,从Html + css开始。
这个阶段,你可以花费一到两周的时间,看各种视频外加各种操练。最起码,你得有一些绘制网页的能力吧。虽然如同easyui的框架非常流行,可是你起码也要有点这方面的基础吧。用户的需求千变万化,你不可能永远依赖easyui的。你不要跟我说什么bootstrap,如果你连div + css都不懂,bootstrap你真的能用得溜吗?在我现在看来,bootstrap只是一种工具罢了,一些前辈把很多经常用到的代码封装起来,方便自己和他人使用,仅此而已。你不要觉得有多么难,毫无疑问,这种工程,我想最开始的时候肯定是一个人做的,后来随着名气越来越大,可能会有一个团队来维护。但是,最早最早的时候,肯定来源于一个人的想法和思考。
第二步:深入学习JavaScript。
JavaScript轻巧,灵活,只需要一个浏览器,就能立即看到效果,没有环境搭建方面的疑虑。另外,JavaScript兼具面向对象语言的各种特点,再加上现在前端这么火,你学习JavaScript吃不了亏。当然,我说的学习,不是泛泛而学,而是有目的地去深入学习。仔细体会其中的乐趣和奥妙,最起码,你得达到能够自己封装一个弹窗组件的程度。
我学习JavaScript后,再学JavaSE,真的就是一个水到渠成的过程,每学到一个地方,脑海中立马就闪现 “这不就是JavaScript中的XXX吗?”的念头。最好的学习方法就是类比。记得牢,而且可以融会贯通。就好像玄幻小说里面描写的那样,当你对某一个技能或者法则达到了很高深的境界,那么对于其他任何流派就都能融会贯通了。
第三步:突袭JavaSE
为什么说突袭JavaSE?因为我现在明白过来,对于JavaWeb开发而言,没必要对JavaSE做太多的深入。如果你的JS功底足够,那么JavaSE对你来说就太简单了,因为JS比Java难入门得多。以下的学习清单是我整理所得:
理解什么是类?
你不要去管什么面向对象还是不面向对象了,我认为面向对象这种概念很难用语言描述清楚,更多的是当你代码写多了,产生的一种直观的觉悟。你是去查资料也好,看视频也罢,先理解什么是类。然后自己尝试着写几个类。你不要去写什么Person类,Animal类了,有什么意思呢?随便打开一个网页,比如百度贴吧,你有百度账号的话,你就想想,一个百度账号会有哪些属性?用户名,密码,头像,是否可用,等等。用这些信息来写Java类。
一个Java类,无非就是属性和方法,大部分情况下,方法无非就是用来给属性赋值的。属性是干嘛用的,不就是用来存储数据的吗?你说对不对呢?Java有八种基本数据类型:分别为整型 int,短整型 short,长整型 long,字节型 byte,布尔型 boolean,字符型 char,单精度浮点数 float,双精度浮点数 double。
就比如说int,Java编译器规定int占四个字节,也就是4个byte,一个字节占8位,一个位就是一个bit。bit是计算机中最小的单位,它只有0和1两种状态。我们常说一个文件有多少兆,这个兆就是MB,1MB有1024KB,1KB有1024个字节。当你定义了一个int类型的变量,在运行的时候就会在Java虚拟机中申请一个4个字节的空间。1MB有1024KB,1KB有1024个字节。所以说1MB可以存放 (1024 * 1024 / 4) = 262144 个int变量。Java虚拟机的默认内存是64MB,所以最多应该能存放个int类型的变量。当你定义一个int类型的变量,那么运行的时候,虚拟机的剩余内存就会被减掉4个字节。所以,属性是干嘛用的,我们在写Java类的时候,为什么要定义属性。我觉得没有别的含义了,定义属性就是为了存储数据的嘛。
我们写一个
Java虚拟机(JVM)跑起来,一旦我们new了这个对象。这个a变量就会被放到JVM的内存中,然后JVM就会专门开辟一个空间,来装载这个数据。然后,我们才可以在计算机中操作这些个数据。你总不可能说,我有一个数字100,就要计算机对这个数字进行加减乘除的运算吧。计算机怎么知道这个事情呢?你是不是必须要告诉计算机有一个数字100,它才会知道?
为了装载这些数据,所以才有了八种基本数据类型,每一个数据类型就好比一个篮子,有的篮子大一点,比如long类型,可以放好长好长的数字。有的篮子小一点,比如byte类型,只能放一点点大的数字。Java类,我的理解就是一个模板,因为我学过JS,所以我会类比。但是这些类比,仅限于我个人,在此就不多说了。
Java类,,我更愿意把它称为一个 数据模板。它只是一个模板而已,不是一个实实在在的对象,这一点首先要确定。就好像工厂生产一个产品,首先是不是要有一个模板和设计图纸,这个模板决定了你这个产品是一种怎样的形状,以及可能会具备哪些功能?图纸则决定了功能的具体实现。比如生成一部手机,模板开出来就是一个扁平的长方体的样子,可是光有模板还不行,你还得规定它的一些具体细节。这些细节就好比是Java类的构造方法,以及其他的一些方法实现。
但是,你光给客户模板和图纸行吗?一般来说是不行的。
至于静态方法,我们知道,我们调用静态方法的时候,不需要先生成一个实例,可以通过类名直接调用。这就相当于,在弄模版的时候,这些功能就已经定制在里面了。你买手机的时候,里面不是经常有一些内置的应用吗?有些删都删不掉,这不就相当于静态方法吗?
(我只是举一个例子啊,你不要非得较真说我可以ROOT一下啊)
如果模板里面已经有了一些做好的功能,今后任何根据这个模具生成出来的产品也自带了这些功能。如果模板里面已经做好了一些功能,那么我的确可以使用这个模板,而不需要真正拿到一个产品。比如生产一部手机,它的模板里面已经做好了一个手电筒的功能,那么,你即便不给我一个真正的产品,仅仅给我一个模板,我是不是也可以用它的手电筒功能呢?
这就是静态方法。所以我们常说,静态方法和静态属性为所有实例共用,不就是这个道理吗?
所以,正常情况下,我们调用一个类的非静态方法,是不是必须要先new一个对象?
2.基础知识
这部分包括:包的知识,java中数据类型的分类(值类型,引用类型),继承以及继承的特点等。快速过一遍就行了,不要去深究,就算你深究了其实也没啥用。以后代码写多了,自然就会烂熟于心。
3.数组和其他一些常用类
数组的话,会用即可,不要深究。其他常用类,比如Date类,最好都去学一下,但是同样不要深究。
集合框架,只需要掌握两个,一个是ArrayList,一个是HashMap,知道怎么用就行了。其他集合都可以不去管它,你不要老是觉得,我学这些会不会不够啊?等你以后成为了老司机,还不是学什么会什么?现在功利一些也无妨。有余力的,去研究源码,没有余力的话,不研究也没事。
对于ArrayList,我写过两篇文章,还差一篇才完结,以后补上。
能看懂 List& Map& String,Object & & 是啥意思即可,其他都不要管。你又不去写框架,就算真有这种雄心壮志,也是若干年后的事情了,现在你的当务之急还是找一份工作。
6.设计模式
不要管,最多去学一下单例和工厂。其他的暂时不需要考虑,刚工作那会,就是做一些增删改查,先找到工作,稳定下来再去提升。
其实这部分真无所谓,还不如直接学文件上传。即便是文件上传,一般公司都有现成的类给你调用,也不需要你自己去写。所以,IO流,不学都没关系。
8.Awt,Swing
有多远,扔多远,不要问我为什么。有精力学这个不如去学SWT,虽然99%你学了还是用不到。Swing有啥用,我能想到的只有去网上接一些课程设计啥的私活了。
不需要,你又不去写框架,暂时不必关心。
不需要,不是你初学者该考虑的。等你以后工作稳定了再说吧。
这个,你仅仅需要知道如果导入驱动包,在项目里面成功拿到链接就行了。其他都不用管,最原始的JDBC1.0规范,不学也没事。还不如重点去学一下Mybatis。关键在于,你要学会配置文件怎么配。至于SQL,顺带着学一下就行了。
再说一遍,直接去学MyBatis之类的现成框架,不要再JDBC上浪费太多时间。
我相关的文章:
JavaSE,我认为初学的话,能做到这样就可以了。毕业标准就是自己能够做一个完整地增删改查出来。你会测试就行,比如用JUnit测试,不要去写那种什么控制台项目了,有什么意思呢?直接写DAO层,然后体会一下其中的流程即可。
学完JavaSE,就是JSP、Servlet,这一块要相当用心地去学。它是基础,我个人认为比框架更重要。这些内容会在下一篇中讲到。
阅读(...) 评论()

我要回帖

更多关于 我们用两年学会说话 的文章

 

随机推荐