java初级工程师技能要求:
工作1-3年
要求:能独立完成分配的模块开发任务
技术要求:
1、掌握最基础的数据结构:数组、链表、堆、栈、队列、Hash表、二叉树等
2、算法:经典排序:插入排序、冒泡排序、快排(分划交换排序)、直接选择排序、堆排序、合并排序等。
3、语言要求:基本的开发基础语言掌握,比如:面向对象,集合类、网络IO。
4、数据库要求:能独立设计数据库表,掌握sql,索引等。
java中、高级工程师技能要求:
工作3-5年:
要求:能独立设计核心模块,并完成编码工作。
技术要求:
1、具有扎实的Java功底,对JVM的原理有一定的了解,具有较好的Java IO、多线程、网络等方面的编程能力。
2、熟悉spring、MyBatis、Struts、Tomcat等常用Java开源框架,对其运行原理有较好的理解;
3、有大规模高并发互联网应用的设计和开发经验,熟悉常规的分布式架构,熟悉缓存、消息队列等开源中间件;
java架构师技能要求:
工作5-8年
要求:能独立设计大型网站的架构能力,核心和关键问题的掌握能力
技术要求:
1. 5年及以上使用JAVA开发的经验,对于你用过的开源框架,能了解到它的原理和机制;对Spring,ibatis,struts等开源框架熟悉;
2. 熟悉分布式系统的设计和应用,熟悉分布式、缓存、消息等机制;能对分布式常用技术进行合理应用,解决问题;
3. 熟悉分布式系统的设计和应用,熟悉分布式、缓存、消息等机制;能对分布式常用技术进行合理应用,解决问题;
4. 掌握多线程及高性能的设计与编码及性能调优;有高并发应用开发经验;
5. 掌握Linux 操作系统和大型数据库(Oracle、MySql);对sql优化有丰富的经验;
java初、中、高级总结:
- 初级: 熟练掌握java基础知识,掌握java多线程并发机制,了解java web容器原理及垃圾回收机制,对设计模式有一定了解,会使用Spring, hibernate, Mybatis, Struts2等框架,有良好编程风格和习惯,对多态和泛型有自己的见解,拥有迅速解决问题的能力。
- 中高级: 能熟练掌握反射机制,能模拟写出java web容器,能模拟写出常见的几大框架,深入了解java底层运行原理,对于常见前端框架有一定了解,代码中有一定的设计模式思想,代码耦合度低。
- 架构: 有极强的系统架构意识,一般是作为高级系统架构师的存在,对java中绝大多数问题都能熟练解决,并能对java的不足产生自己独到的见解并提出优化策略,同时还要具有编写(全新)框架的能力。
作者简介
陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注作者「mikechen」公众号,获取更多技术干货!
后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》