Java开发工程师 应该掌握的技术 (非干货)

2017/11/05,上网招聘网站,查找了约100所公司当下对于Java开发工程师的要求,非干货,并未总结分析,但是这些要求已然大同小异,初见规模,本身已经具有很好的指导作用,尤其是对于向我这样的刚刚走出学校的应届生而言。我觉得这信息,相比其他来源,更直接准确有力度,是各位同学们制定学习目标或者写简历的不二之选。?

由于没总结,就直接将找到的原话贴过来,所以同学们会看到很多重复的说这一点技术,这是因为这一点出现次数多。

  1. Java基础: JVM,类加载机制,NIO,IO ,网络,多线程;
    精通Java编程,熟悉并发、集合、IO等源码,能够熟练进行JVM性能调优。
  2. 熟悉J2EE开发,熟悉常用分布式开源框架,如缓存,消息中间件,并了解原理和机制; 熟悉主流开发框架,如Spring、SpringMVC、MyBatis、Redis、Dubbo、ZooKeeper、Netty等,熟悉Git、Maven、Nginx等工具的使用; 熟悉主流开源框架,如Spring、Spring MVC、MyBatis,了解其原理和实现机制,读过上述框架源码优先考虑; 精通JAVA和spring框架,阅读过spring源码优先。 熟悉Spring Boot及其微服务治理框架,熟悉spring cloud经验优先; 熟悉MVC,熟练使用Spring、SpringMVC、Mybatis等相关开源框架进行项目开发 ; 了解IOC、AOP原理,熟悉源码者优先; 熟练掌握主流的开源框架设计理念,对Spring、Netty等有深入的了解、研究过源代码者优先;
  3. Strom,Spark, Hadoop等大数据开发; 熟悉hadoop, storm,HBase, hive,spark等分布式大数据处理技术优先; 熟练使用 Spark Streaming、Storm、HBase、Hive、Druid 等;深刻理解大数据处理(流计算、分布式计算、分布式文件系统、分布式存储等)相关技术,有大数据平台开发经验者优先; 了解Storm、MapReduce等大数据处理技术,有大数据开发经验者优先;
  4. 精通数据库设计,MySql, 熟悉常见NoSQL存储,如Hbase、memcached、redis、mongodb等; .熟悉MySQL等关系型数据库,了解基本的sql优化,有sql调优经验者优先; 熟悉至少一种SQL数据库,和至少一种NoSQL数据库。 .熟悉MongoDB,Redis,MySQL的使用,熟练事务等机制以及熟悉数据库优化 ; 熟悉MySQL数据库以及优化方法,了解常用的NoSQL产品,如MongoDB,Redis,Memcache; 了解分布式存储系统特点及原理,如Cassandra,MongDB,HBASE; 熟悉数据库技术(MySQL/Oracle),数据库优化及SQL优化; 熟练掌握基于Oracle或者Mysql的设计和开发,数据库事务有深刻理解;对memcache,redis有经验者优先;
  5. 大规模高并发互联网应用的设计和开发经验,熟悉常规的分布式架构,熟悉缓存、消息队列等开源中间件; 熟悉分布式系统的设计和应用,熟悉分布式、缓存、消息、负载均衡等机制和实现; 熟悉底层中间件、分布式技术(包括RCP框架、缓存、消息系统等); 熟悉高并发网站的应用部署、监控、配置、日志管理等,熟悉服务性能优化及调优, 熟练常用中间件redis、mq、zookeeper、es、elk等; 有分布式系统设计经验者优先,熟悉数据爬取开发框架者优先; 熟悉Zookeeper, dubbo,mycat等分布式中间件的优先,有大型分布式系统开发经验优先; 熟练使用redis, memcache,ehcache 等分布式缓存一种; 对互联网常用技术点(如缓存、消息、分布式、nosql等)有较深理解及实践经验; 熟悉Redis、MC等缓存,RabbitMQ、Kafka等消息队列;有高并发网络应用服务端开发经验者优先;
  6. 熟悉Tomcat/Resin、Nginx等应用服务器软件; 熟练应用Nginx、Resin/Tomcat、Redis/Memcached等应用;有Redis,Elasticsearch,Cassandra等实战经验优先;
  7. 熟悉常用的设计模式; UML建模等;
  8. 熟悉SOA,熟练并使用过rpc框架; 了解SOA架构理念和技术实现; 研究过 http 协议、搜索引擎、缓存、jvm 调优、序列化、nio、RPC 调用框架等,并且有相关实践经验。
  9. 熟悉Shiro、AD、LDAP或者有账号权限管理系统者开发优先
  10. 精通Servlet、Spring、Hibernate、mybatis、Velocity开发,对SOA模式有深入理解.
  11. 掌握Linux 操作系统,熟悉shell的使用。
  12. 熟悉TCP、UDP协议,有socket通信开发经验者优先考虑; 了解 HTTP、TCP 等网络相关协议; 熟悉TCP/IP、HTTP等通信协议,具有socket网络编程和大规模并发服务器开发经验优先;
  13. 熟练使用 Git。 熟悉Maven或Gradle、熟悉SVN或Git
  14. 优秀的算法功底;
  15. 熟悉脚本编程; 熟悉Groovy、Ruby、Python等动态脚本语言;
  16. 对 Unix / Linux 有深入了解;
  17. 了解JQuery、React、AngularJS、Vue等框架;
  18. 熟悉计算机相关背景知识,精通数据结构/算法设计,熟悉操作系统,网络编程; 计算机基础扎实,熟悉 TCP/IP、操作系统、常用算法和数据结构;
  19. 了解机器学习、数据挖掘相关技术; 了解常用深度学习框架TensorFlow、Caffe的优先;
  20. 可独自搭建系统高质量框架、数据库设计并进行相应研发者优先;
  21. 提供Blog地址、Stack Overflow以及Github账号者优先; github、stackoverflow活跃者优先考虑;
  22. 在某个领域内对开源框架有一定的审美,做过选型研究,解读过部分或者全部源码,掌握实现原理;
  23. 平均的工作年限要达到2年;(这条66666);

有机会我会总结一下,到时再发出来分享。

    原文作者:杨小鲲
    原文地址: https://zhuanlan.zhihu.com/p/30760584
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞