本文目录一览:
- 1、Java工作3年是什么水平呢?
- 2、我3年java工作经验,想去天阳科技就职,这家公司值得去吗?
- 3、java三年经验要会redis吗
- 4、工作3年的Java程序员应该掌握哪些技能
- 5、java 3年工作经验应具备什么能力和技能
Java工作3年是什么水平呢?
这个因人而异,我分享下我周边一些朋友的情况,按照3个等级优秀、普遍、较差
以下先做如下定义:
优秀:在人群中表现突出,有闪光点/竞争力标签,占20%
普遍:能够独立做事,有总结意识,大概占60%
较差:停留在CRUD,总结意识较低,自我认知不够,过于浮躁/迷茫,20%
例子
优秀:
有可以根据第三方优秀的框架进行二次封装/优化的能力
有过高流水(如月流水过千万)或高数量级(日PV超过千万)或高复杂度(流程/场景复杂)的项目经验
自我驱动非常良好,表现为有自己的作品,或参与创业,取得不错的结果
普遍:
能够完成工作安排的事情,项目中出现的问题/挑战,也可以在1-2天内解决,能够主动想自己想要的并且去尝试
较差:暂不举例
最后,说一个题外话,衡量一个人的技术水平不能针对工作年限,或者是会的框架的数量,框架/语言只是帮助我们解决问题的一个工具,最重要的是思维,在什么工作年限会什么东西也不提倡,不一定要按部就班,有些东西不一定要等到到了特定的年限才应该会,多学习,多总结最重要,希望我的回答能够令你有所思考触发,观点不一致的也欢迎沟通。
我3年java工作经验,想去天阳科技就职,这家公司值得去吗?
值得。这家公司总部在北京,全国很多大中城市都有团队。你说的Java可能是对于天阳科技的主要业务方向来说,不算核心部分。但是如果有机会通过这种方式去进一步深入金融科技行业第一梯队服务商的话,也很不错。百度看下其他资料。
java三年经验要会redis吗
java三年经验要会redis。
java是一门面向对象的编程语言。java语言具有功能强大和简单易用两个特征,具有简单性、面向对象、分布式等特点,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
工作3年的Java程序员应该掌握哪些技能
1、基本语法
这包括static、final、transient等关键字的作用,foreach循环的原理等等。
2、集合
非常重要,基本上就是List、Map、Set,各种实现类的底层实现原理,实现类的优缺点。
集合要掌握的是ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、HashSet的实现原理,
(1)ConcurrentHashMap的锁分段技术
(2)ConcurrentHashMap的读是否要加锁,为什么
(3)ConcurrentHashMap的迭代器是强一致性的迭代器还是弱一致性的迭代器
3、设计模式
设计模式在工作中是非常重要、非常有用的,23种设计模式中重点研究常用的十来种就可以了,面试中关于设计模式的问答主要是三个方向:
(1)你的项目中用到了哪些设计模式,如何使用
(2)知道常用设计模式的优缺点
(3)能画出常用设计模式的UML图
4、多线程
假如有Thread1、Thread2、Thread3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?
聪明的网友们对这个问题是否有答案呢?不难,java.util.concurrent下就有现成的类可以使用。
另外,线程池在面试中也是比较常问的一块,常用的线程池有几种?这几种线程池之间有什么区别和联系?线程池的实现原理是怎么样的?实际一些的,会给你一些具体的场景,让你回答这种场景该使用什么样的线程池比较合适。
最后,虽然面试问得不多,但是多线程同步、锁这块也是重点。synchronized和ReentrantLock的区别、synchronized锁普通方法和锁静态方法、死锁的原理及排查方法等等,关于多线程,
5、JDK源码
要想拿高工资,JDK源码不可不读。总结一下比较重要的源码:
(1)List、Map、Set实现类的源代码
(2)ReentrantLock、AQS的源代码
(3)AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的
(4)线程池的实现原理
(5)Object类中的方法以及每个方法的作用
6、框架
老生常谈,面试必问的东西。一般来说会问你一下你们项目中使用的框架,然后给你一些场景问你用框架怎么做,比如我想要在Spring初始化bean的时候做一些事情该怎么做、想要在bean销毁的时候做一些事情该怎么做、MyBatis中$和#的区别等等,这些都比较实际了,平时积累得好、有多学习框架的使用细节自然都不成问题。
7、数据库
一些基本的像union和union all的区别、left
join、几种索引及其区别就不谈了,比较重要的就是数据库性能的优化,如果对于数据库的性能优化一窍不通,那么有时间,还是建议你在面试前花一两天专门把SQL基础和SQL优化的内容准备一下。
8、数据结构和算法分析
数据结构和算法分析,对于一名程序员来说,会比不会好而且在工作中绝对能派上用场。数组、链表是基础,栈和队列深入一些但也不难,树挺重要的,比较重要的树AVL树、红黑树,可以不了解它们的具体实现,但是要知道什么是二叉查找树、什么是平衡树,AVL树和红黑树的区别。
9、Java虚拟机
Java虚拟机中比较重要的内容:
(1)Java虚拟机的内存布局
(2)GC算法及几种垃圾收集器
(3)类加载机制,也就是双亲委派模型
(4)Java内存模型
(5)happens-before规则
(6)volatile关键字使用规则
java 3年工作经验应具备什么能力和技能
我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本上的内容迈向真正的企业级开发。我们知道如何团队协作、如何使用项目管理工具、项目版本如何控制、我们写的代码如何测试如何在线上运行等等,积累了一定的开发经验,也对代码有了一定深入的认识,是一个比较纯粹的Coder的阶段
1、语言要求:精通java,j2ee
2、框架要求:springMVC,mybatis或类似框架开发经验
3、页面技术要求:熟悉 js,ajax,xml,jquery等技术;
4、数据库要求:熟悉oracle,mysql等数据库开发;
5、工具要求:熟练eclipse等开发工具
以上是我ITjob导师跟我分享过的,希望对你有所帮助!