阿里巴巴全球速卖通事业部(AliExpress)-高级Java开发工程师(搜推工程)-杭州
社招全职技术类-开发地点:杭州状态:招聘
任职要求
1.具备扎实的计算机理论基础, 对数据结构及算法有较强的功底; 2.精通Java语言编程,具备优秀的系统Debug/Profiling能力和经验; 3.熟悉常见的面向对象设计模式,具备优秀的系统架构设计能力; 4.JAVA基础扎实,熟悉io、多线程、集合等基础框架,熟悉分布式、缓存、消息等机制,了解JVM原理; 5.对于用过的开源产品,了解原理和机制 如:Spring、Tomcat、Netty、Elasticsearch、Solr、HBase其中1个或多个,在开源社区活跃者优先 6.熟悉各种JAVA中间件,RPC框架,数据层,性能优化等相关技术经验者优先 ; 7.学习能力强,追求编写优雅的代码,喜欢专研及尝试新的技术,从技术趋势和思路上能影响技术团队;
工作职责
团队介绍 天猫淘宝海外搜推导购技术团队承担了平台多端的搜索及推荐两大导购体系的技术平台和相关业务研发。你所加入的团队目前承担了数十亿用户搜索和推荐请求,解决国际跨境及本地市场搜索、推荐以及模型计算方面的挑战。 我们目前正致力于挖掘数据的价值,研发面向全球消费者端的创新搜索产品,提升消费者的搜索体验及效率。国际化是集团的重点方向之一,国际化业务的飞速发展需要有经验有想法有能力的研发工程师和架构师能够加入我们队伍,来一起打造更好的搜索推荐体系。 职位描述 1.负责研发及持续优化面向消费者端的搜索&推荐产品,提升用户搜索体验及效率、推荐的准确率 2.参与搜索架构的设计与研发工作,持续改进搜索系统平台的服务架构、核心算法或者核心技术等,保证系统高性能、高可用性和高可扩展性,支撑业务快速迭代及新模式的探索。 3.领导天猫淘宝海外平台跨团队协作的项目,保证项目如期交付并给用户带来价值; 4.新技术预研,完成项目的选型和设计,难点攻坚。
包括英文材料
数据结构+
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/
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.
面向对象+
https://liaoxuefeng.com/books/java/oop/index.html
面向对象编程,英文是Object-Oriented Programming,简称OOP。
https://liaoxuefeng.com/books/python/oop/index.html
面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。
https://www.youtube.com/watch?v=SiBw7os-_zI
Learn the basics of object-oriented programming all in one video.
设计模式+
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.
系统设计+
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.
多线程+
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!
缓存+
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
JVM+
https://www.freecodecamp.org/news/jvm-tutorial-java-virtual-machine-architecture-explained-for-beginners/
https://www.youtube.com/watch?v=e2zmmkc5xI0
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.
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.
ElasticSearch+
https://www.youtube.com/watch?v=a4HBKEda_F8
Learn about Elasticsearch with this comprehensive course designed for beginners, featuring both theoretical concepts and hands-on applications using Python (though applicable to any programming language). The course is structured in two parts: first covering essential Elasticsearch fundamentals including index management, document storage, text analysis, pipeline creation, search functionality, and advanced features like semantic search and embeddings; followed by a practical section where you'll build a real-world website using Elasticsearch as a search engine, working with the Astronomy Picture of the Day (APOD) dataset to implement features such as data cleaning pipelines, tokenization, pagination, and aggregations.
HBase+
[英文] HBase Tutorial
https://www.tutorialspoint.com/hbase/index.htm
HBase is a data model that is similar to Google's big table designed to provide quick random access to huge amounts of structured data. This tutorial provides an introduction to HBase, the procedures to set up HBase on Hadoop File Systems, and ways to interact with HBase shell.
中间件+
https://www.youtube.com/watch?v=1oWPUpMheGk
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.
相关职位
社招2年以上
1、深入理解直播搜索推荐产品和业务,参与业务迭代优化产品,支撑业务快速发展; 2、持续推进直播搜推工程架构迭代演进,针对当前问题痛点进行前瞻性设计和改造。 3、参与直播搜推工程全链路稳定性建设,提升系统性能,保障服务高可用。 4、探索AI和业务、系统的结合,推动AI创新产品的落地。
更新于 2025-10-17
社招1年以上
我们是淘天集团营销&交易技术线淘特用户技术团队,主要负责淘宝行业&淘特C端链路的研发工作,包含:搜索推荐、互动游戏、导购、交易等基础服务及创新业务。来这里你能接触到集团核心的电商场景和链路建设。在“回归淘宝、回归用户、回归互联网”的方向指引下为消费者和商家带来更大的价值和利益,来我们团队,迎接更大的挑战与机会。 工作职责: 1、主要负责C端用户动线(搜推、互动、首页、详情、下单、支付、逆向等)系统开发工作; 2、深入理解业务需求,进行需求拆解,承担重点项目管理、领域核心代码开发工作; 3、攻克开发过程中高并发、高稳定性,复杂业务场景下的各种挑战及技术难点; 4、负责线上业务系统的领域模型演进、架构升级、稳定性治理等相关工作; 5、负责AI场景探索,包含AI代码生成、电商场景的AI大模型应用落地等创新尝试
更新于 2025-08-08
社招1年以上
负责自营业务面向消费者端的公域搜推运营相关产品建设,主要使用java语言做业务系统开发。在团队中能够接触自营电商消费者链路,有机会通过海量商品的主搜诊断、成长、表达优化,全面提升自己的技术和业务能力。工作内容如下: 1、进行公域主搜运营链路的技术研发,主导技术方案设计和评审工作,进行项目管理和技术难点攻关; 2、深入理解业务,围绕业务的发展、产品需求等确定技术规划,并能够反向驱动业务的落地和发展; 3、解决各种疑难杂症问题、系统架构治理及性能优化工作,且完成业务产品建设和技术能力持续沉淀;
更新于 2025-05-20