携程AGG - 高级/资深后端开发工程师(MJ028754)
社招全职3年以上商旅业务开发地点:上海状态:招聘
任职要求
· 3年以上Java及Java Web开发经验,熟悉软件开发流程,能够独立担当功能模块的架构设计开发; · JavaEE基础扎实,对于Java基础技术体系(包括JVM、类装载机制、多线程并发、IO、网络、RPC)有深入的掌握和应用经验; · 精通掌握常用JavaEE技术框架(Spring、Springboot、springcloud、Mybatis等开源框架),能了解到它的原理和机制,能编写高质量简洁清晰的代码; · 精通面向对象分析和设计能力,包括设计模式、UML建模等,熟练掌握常用数据结构和算法 · 精通缓存Redis、Memcache/Couchbase,缓存设计和及其模式; · 熟练使用oracle、sqlserver、mysql等常用的数据库系统,对数据库有较强的设计能力,同时对数据库连接池的使用,线程池技术等熟悉者优先考虑; · 熟悉maven项目配置管理工具,熟悉tomcat、jboss等应用服务器; · 熟悉网络异步/同步通信原理,多线程同步原理; · 熟悉云原生相关技术,如容器、Kubernetes、service mesh等; · 有系统稳定性、性能等有体系化的思考和落地经验; · 有设计和开发对外API接口的经验和能力,同时具备跨平台的API规范设计以及API高效调用设计能力者优先; · 精通分布式技术,了解微服务、容器、缓存、消息系统等技术者优先; · 良好的英文读写能力;
工作职责
· 编写代码实现产品功能,完成项目开发,撰写相关文档,参与需求分析; · 能够在团队中完成Code Review的任务,确保相关代码的有效性和正确性,并能够通过Code Review提供相关性能以及安全的建议; · 协同产品、运营团队,推动业务及项目落地,持续优化升级现有软件产品和系统,及时响应线上故障,快速定位并修复现有软件缺陷。 · 指导初级Java工程师根据产品需求进行开发,保证开发效率和代码质量。 · 负责核心技术问题的攻关,架构设计、系统优化,协助解决项目开发过程中的技术难题; · 了解互联网的技术发展、评估外部技术与解决方案。
包括英文材料
Java+
https://www.youtube.com/watch?v=eIrMbAQSU34
Master Java – a must-have language for software development, Android apps, and more! ☕️ This beginner-friendly course takes you from basics to real coding skills.
Web+
https://web.dev/learn
Explore our growing collection of courses on key web design and development subjects.
系统设计+
https://roadmap.sh/system-design
Everything you need to know about designing large scale systems.
https://www.youtube.com/watch?v=F2FmTdLtb_4
This complete system design tutorial covers scalability, reliability, data handling, and high-level architecture with clear explanations, real-world examples, and practical strategies.
JVM+
https://www.freecodecamp.org/news/jvm-tutorial-java-virtual-machine-architecture-explained-for-beginners/
https://www.youtube.com/watch?v=e2zmmkc5xI0
多线程+
https://liaoxuefeng.com/books/java/threading/basic/index.html
和单线程相比,多线程编程的特点在于:多线程经常需要读写共享数据,并且需要同步。
https://www.youtube.com/watch?v=_uQgGS_VIXM&list=PLsc-VaxfZl4do3Etp_xQ0aQBoC-x5BIgJ
https://www.youtube.com/watch?v=IEEhzQoKtQU
https://www.youtube.com/watch?v=mTGdtC9f4EU&list=PLL8woMHwr36EDxjUoCzboZjedsnhLP1j4
https://www.youtube.com/watch?v=TPVH_coGAQs&list=PLk6CEY9XxSIAeK-EAh3hB4fgNvYkYmghp
https://www.youtube.com/watch?v=xPqnoB2hjjA
This video is an introduction to multithreading in modern C++.
https://www.youtube.com/watch?v=YKBwKy5PrpQ
Rust threading is easy to implement and improves the efficiency of your applications on multi-core systems!
RPC+
https://javaguide.cn/distributed-system/rpc/rpc-intro.html
为什么要 RPC ? 因为,两个不同的服务器上的服务提供的方法不在一个内存空间,所以,需要通过网络编程才能传递方法调用所需要的参数。并且,方法调用的结果也需要通过网络编程来接收。
https://www.youtube.com/watch?v=S2osKiqQG9s
This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge.
Spring+
https://liaoxuefeng.com/books/java/spring/index.html
Spring是一个支持快速开发Java EE应用程序的框架。它提供了一系列底层容器和基础设施,并可以和大量常用的开源框架无缝集成,可以说是开发Java EE应用程序的必备。
https://spring.io/guides/gs/rest-service
https://spring.io/quickstart
Level up your Java code and explore what Spring can do for you.
Spring Cloud+
[英文] Spring Cloud Series
https://www.baeldung.com/spring-cloud-series
Learn Spring Cloud including concepts, additional libraries and examples for distributed systems.
MyBatis+
https://mybatis.org/mybatis-3/getting-started.html
https://www.baeldung.com/mybatis
MyBatis is an open source persistence framework which simplifies the implementation of database access in Java applications.
设计模式+
https://liaoxuefeng.com/books/java/design-patterns/index.html
设计模式,即Design Patterns,是指在软件设计中,被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。
[英文] Design Patterns
https://refactoring.guru/design-patterns
Design patterns are typical solutions to common problems in software design. Each pattern is like a blueprint that you can customize to solve a particular design problem in your code.
https://www.youtube.com/watch?v=NU_1StN5Tkk
Design Patterns tutorial explained in simple words using real-world examples.
UML+
https://www.youtube.com/watch?v=WnMQ8HlmeXc
Learn about how to use UML diagrams to visualize the design of databases or systems.
数据结构+
https://www.youtube.com/watch?v=8hly31xKli0
In this course you will learn about algorithms and data structures, two of the fundamental topics in computer science.
https://www.youtube.com/watch?v=B31LgI4Y4DQ
Learn about data structures in this comprehensive course. We will be implementing these data structures in C or C++.
https://www.youtube.com/watch?v=CBYHwZcbD-s
Data Structures and Algorithms full course tutorial java
算法+
https://roadmap.sh/datastructures-and-algorithms
Step by step guide to learn Data Structures and Algorithms in 2025
https://www.hellointerview.com/learn/code
A visual guide to the most important patterns and approaches for the coding interview.
https://www.w3schools.com/dsa/
缓存+
https://hackernoon.com/the-system-design-cheat-sheet-cache
The cache is a layer that stores a subset of data, typically the most frequently accessed or essential information, in a location quicker to access than its primary storage location.
https://www.youtube.com/watch?v=bP4BeUjNkXc
Caching strategies, Distributed Caching, Eviction Policies, Write-Through Cache and Least Recently Used (LRU) cache are all important terms when it comes to designing an efficient system with a caching layer.
https://www.youtube.com/watch?v=dGAgxozNWFE
Redis+
[英文] Developer Hub
https://redis.io/dev/
Get all the tutorials, learning paths, and more you need to start building—fast.
https://www.runoob.com/redis/redis-tutorial.html
REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。
https://www.youtube.com/watch?v=jgpVdJB2sKQ
In this video I will be covering Redis in depth from how to install it, what commands you can use, all the way to how to use it in a real world project.
Couchbase+
https://www.youtube.com/watch?v=7OKSgtDt1lo
Couchbase is a distributed document database (JSON), with all the desired capabilities of a relational DBMS; SQL, distributed ACID transactions; and much more.
Oracle+
[英文] Oracle Tutorial
https://www.oracletutorial.com/
On this website, you can learn Oracle Database fast and easily.
https://www.youtube.com/watch?v=QHYuuXPdQNM&list=PL_c9BZzLwBRJ8f9-pSPbxSSG6lNgxQ4m9
SQL Server+
[英文] SQL Server Tutorial
https://www.sqlservertutorial.net/
If you are looking for an easy, fast, and efficient way to master SQL Server, you are in the right place.
https://www.youtube.com/watch?v=voTZUMw23pg
MySQL+
https://juejin.cn/post/7190306988939542585
这是一篇 MySQL 通关一篇过硬核经验学习路线,包括数据库相关知识,SQL语句的使用,数据库约束,设计等。
[英文] MySQL Tutorial
https://www.mysqltutorial.org/
your go-to resource for mastering MySQL in a fast, easy, and enjoyable way.
https://www.youtube.com/watch?v=5OdVJbNCSso
MySQL SQL tutorial for beginners
https://www.youtube.com/watch?v=7S_tz1z_5bA
This beginner-friendly course teaches you SQL from scratch.
Maven+
https://liaoxuefeng.com/books/java/maven/index.html
Maven是一个Java项目管理和构建工具,它可以定义项目结构、项目依赖,并使用统一的方式进行自动化构建,是Java项目不可缺少的工具。
https://www.youtube.com/watch?v=Xatr8AZLOsE
You'll learn how to use Maven like a professional: installations, using the mvn wrapper, using Maven together with IDEs, and of course the Maven basics.
Tomcat+
https://pdai.tech/md/framework/tomcat/tomcat-x-design-web-container.html
我们通过学习如何设计一个最基本的web容器来看它需要考虑什么;进而在真正学习Tomcat时,多把重点放在它的顶层设计上,而不是某一块代码上, 思路永远比具体实现重要的多。
https://www.youtube.com/watch?v=rElJIPRw5iM
This content is about Tomcat, a popular web server used by Java programmers and system administrators.
Kubernetes+
https://kubernetes.io/docs/tutorials/kubernetes-basics/
This tutorial provides a walkthrough of the basics of the Kubernetes cluster orchestration system.
https://kubernetes.io/zh-cn/docs/tutorials/kubernetes-basics/
本教程介绍 Kubernetes 集群编排系统的基础知识。每个模块包含关于 Kubernetes 主要特性和概念的一些背景信息,还包括一个在线教程供你学习。
https://www.youtube.com/watch?v=s_o8dwzRlu4
Hands-On Kubernetes Tutorial | Learn Kubernetes in 1 Hour - Kubernetes Course for Beginners
https://www.youtube.com/watch?v=X48VuDVv0do
Full Kubernetes Tutorial | Kubernetes Course | Hands-on course with a lot of demos
微服务+
https://learn.microsoft.com/en-us/training/modules/dotnet-microservices/
Microservice applications are composed of small, independently versioned, and scalable customer-focused services that communicate with each other by using standard protocols and well-defined interfaces.
https://microservices.io/
Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of two or more services.
https://spring.io/microservices
Building small, self-contained, ready to run applications can bring great flexibility and added resilience to your code.
https://www.ibm.com/think/topics/microservices
Microservices, or microservices architecture, is a cloud-native architectural approach in which a single application is composed of many loosely coupled and independently deployable smaller components or services.
https://www.youtube.com/watch?v=CqCDOosvZIk
https://www.youtube.com/watch?v=hmkF77F9TLw
Learn about software system design and microservices.
相关职位
社招3年以上A39049
1、参与字节跳动跨平台框架的图形渲染引擎开发; 2、参与自研跨平台(Android、iOS、嵌入式全平台)UI FrameWork开发; 3、参与跨平台UI FrameWork的2D/3D渲染引擎的开发; 4、参与跨平台UI FrameWork多端多平台业务落地。
更新于 2023-11-09
社招3年以上A147559
1、参与字节跳动跨平台框架的图形渲染引擎开发; 2、参与自研跨平台(Android、iOS、嵌入式全平台)UI Framework开发; 3、参与跨平台UI Framework的2D/3D渲染引擎的开发; 4、参与跨平台UI Framework多端多平台业务落地。
更新于 2023-11-09
社招3年以上A49690
1、参与字节跳动跨平台框架的图形渲染引擎开发; 2、参与自研跨平台(Android、iOS、嵌入式全平台)UI FrameWork开发; 3、参与跨平台UI FrameWork的2D/3D渲染引擎的开发; 4、参与跨平台UI FrameWork多端多平台业务落地。
更新于 2023-11-09