岗位职责1、该岗位base在上海,但前期需要在重庆常驻三个月左右,后续可能在全国其它地方短期支持各地项目2、主导或者参与公司的数字化、信息化项目,同时尽可能独立解决各种故障,必要时负责组织协调内外部资源解决故障,保障系统长期稳定运行;3、持续优化现有的各信息系统4、力所能及的开发一些报表、小程序来帮助各业务部门提升工作效率,解决一些业务痛点5、培训各部门关键用户能够掌握应用系统的功能、逻辑,并确保关键用户能够正确使用系统岗位要求:一、技术能力 1.Java基础扎实深入理解Java编程语言,包括面向对象编程原则(如封装、继承、多态)。能够熟练编写、调试和优化Java代码,例如可以快速定位和修复代码中的空指针异常、内存泄漏等常见问题。熟悉Java的核心库,如集合框架(ArrayList、HashMap等)、多线程(Thread类、线程池的使用)、I/O流操作等,能够运用这些知识进行高效的程序开发和问题解决。 2.熟悉常用开发框架 1.熟练掌握至少一种Java Web框架,如Spring(包括Spring Boot、Spring MVC)。了解其核心原理,能够对基于这些框架构建的应用进行配置、部署和故障排查。例如,在Spring Boot应用出现启动故障时,能够通过查看启动日志和分析依赖关系来确定问题所在。 2.对持久化框架如MyBatis或Hibernate有一定了解,能够协助开发人员进行数据库相关操作的优化,如SQL查询性能优化、数据库连接池配置等。 3.数据库知识1.熟练掌握关系型数据库(如MySQL、Oracle)的基本操作,包括数据库的安装、配置、备份与恢复。能够编写复杂的SQL查询语句,进行数据的增删改查操作,如多表联合查询、子查询、存储过程的编写和调用等。 2.了解数据库的性能优化技巧,如索引的合理使用、查询缓存的配置等,以提高数据库的响应速度和吞吐量。对于数据库的高并发访问场景,能够采取合适的措施,如数据库连接池的优化、读写分离策略的实施等。 4.服务器和操作系统知识 1.熟悉Linux操作系统,能够熟练进行基本的命令行操作,如文件管理(ls、cp、mv等命令)、用户管理(useradd、passwd等命令)、进程管理(ps、kill等命令)和网络配置(ifconfig、iptables等命令)。 2.了解常用的服务器软件,如Tomcat、WebLogic、JBoss等。能够对这些服务器进行安装、配置、部署Java应用程序,并且能够进行性能监控和优化。例如,通过调整Tomcat的线程池参数来提高应用服务器的并发处理能力。5.运维工具和技术 1.熟练掌握自动化运维工具,如Jenkins、Drone等工具,能够使用这些工具进行软件的自动化部署、配置管理和环境搭建,提高运维效率。例如,利用Drone编写自动化部署脚本,实现一键式部署Java应用到多个服务器环境。2.熟悉监控工具,如Arthas、Prometheus等。能够使用这些工具对Java应用的性能指标(如CPU使用率、内存占用、响应时间等)进行监控和报警设置,及时发现和解决潜在的性能问题或故障。二、问题解决能力 1.故障排查能力(1)当Java应用出现故障(如系统崩溃、性能急剧下降、服务不可用等)时,能够迅速进行故障排查。从应用程序日志(如Log4j或Slf4j日志)、服务器日志(如Tomcat访问日志和错误日志)、数据库日志等多个渠道收集信息,确定故障原因,并采取有效的解决措施。 (2)对于复杂的故障场景,能够通过代码调试(如使用远程调试工具)、性能分析工具(如JProfiler、VisualVM)来深入分析问题,如定位内存泄漏的具体代码位置或性能瓶颈所在的代码模块。2.应急响应能力(1)具备快速响应紧急事件的能力,能够在系统出现重大故障或安全漏洞时,迅速采取措施进行应急处理,如切换到备份系统、回滚应用版本等,以***程度减少损失和恢复服务。 (2)能够在事件处理后,及时进行总结和反思,完善应急预案和监控体系,防止类似事件的再次发生。三、其它能力 1.团队协作(1)能够与开发团队、测试团队、其他运维人员等密切协作。例如,在软件上线过程中,与开发人员沟通应用的部署细节和注意事项,与测试人员协同进行预发布环境的测试和验证。(2) 积极参与团队的技术交流和分享活动,能够分享自己的运维经验和技术见解,同时也能从他人那里学习到新的知识和技能。 2.沟通能力(1)具备良好的沟通能力,能够将复杂的技术问题和运维情况以清晰、简洁的方式向非技术人员(如业务部门领导、客户等)进行解释。例如,当系统出现故障影响业务时,能够向业务部门说明故障原因、预计恢复时间和影响范围等重要信息。 3. 抗压能力和稳定性能够承担一定的工作压力,拥抱变革和新技术,情绪稳定,不抱怨,不推诿,勇于接受挑战,不轻易当逃兵,追求长期稳定发展。四、学习能力和经验要求1.学习能力(1)Java技术栈以及运维领域的技术都在不断发展和更新,因此要求应聘者具有较强的学习能力。能够主动学习新的Java框架、运维工具和技术理念,如微服务架构下的运维模式、容器化技术(Docker、Kubernetes)在Java运维中的应用等。 (2)能够快速适应新的工作环境和业务需求,例如在企业引入新的软件系统或技术架构时,能够迅速学习相关知识并应用到实际运维工作中。2.工作经验(1)3-5年的Java软件运维相关工作经验。有处理过实际生产环境中Java应用的部署、监控、故障排除等经验者优先考虑。