快手高级Java开发工程师(商品方向)-【本地生活】
社招全职3-5年D10694地点:北京状态:招聘
任职要求
1、本科及以上学历,计算机、软件工程及相关专业; 2、熟悉Java语言,具备扎实的Java基础,熟悉IO、多线程等基础技术,对多线程使用、并发处理、JVM基本原理有一定认识; 3、熟练使用Spring、Spring MVC等框架,并对框架原理有一定了解; 4、熟悉MySQL的应用开发、常见的性能调优和可扩展性设计,了解Redis缓存技术; 5、熟悉ZooKeeper、Kafka等各种中间件,对事务、锁、并发等实现机制有深入了解; 6、熟悉SOA架构,对RPC、序列化、服务治理有相应了解; 7、熟悉DDD领域驱动设计,熟悉常用业务架构的设计,具备良好的编程能力和代码风格; 8、具有一定的技术规划和设计能力,能发现架构设计中存在的问题,并给出有效的解决措施和方法。 具备以下者优先 1、对技术充满热情且具有钻研精神,具有极强的快速学习能力,研究过优秀开源软件的源码并掌握原理者优先; 2、有“代码洁癖”、有极客精神,有持续更新的技术Blog优先考虑; 3、有较强的逻辑思维能力,善于分析、归纳、解决问题,持续学习和总结者优先; 4、有建设高并发、高性能、高可用系统经验者优先; 5、有复杂业务模型抽象系统设计者优先。 岗位亮点 1、从0到1的阶段,作为该领域的拓荒者,发展速度快,空间大; 2、单纯不内卷的团队氛围。
工作职责
1、负责商品平台系统设计和开发,交付高质量的设计、产品代码、自动化测试和相关文档; 2、保障系统稳定、降本增效,建设高并发、高性能、高可用的系统; 3、攻克难点,互相分享,促进团队共同成长。
包括英文材料
学历+
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/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!
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.
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.
性能调优+
https://goperf.dev/
The Go App Optimization Guide is a series of in-depth, technical articles for developers who want to get more performance out of their Go code without relying on guesswork or cargo cult patterns.
https://web.dev/learn/performance
This course is designed for those new to web performance, a vital aspect of the user experience.
https://www.ibm.com/think/insights/application-performance-optimization
Application performance is not just a simple concern for most organizations; it’s a critical factor in their business’s success.
https://www.oreilly.com/library/view/optimizing-java/9781492039259/
Performance tuning is an experimental science, but that doesn’t mean engineers should resort to guesswork and folklore to get the job done.
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.
缓存+
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
ZooKeeper+
https://kubernetes.io/docs/tutorials/stateful-application/zookeeper/
This tutorial demonstrates running Apache Zookeeper on Kubernetes using StatefulSets, PodDisruptionBudgets, and PodAntiAffinity.
https://www.baeldung.com/java-zookeeper
Apache ZooKeeper is a distributed coordination service which eases the development of distributed applications.
[英文] Zookeeper Tutorial
https://www.tutorialspoint.com/zookeeper/index.htm
ZooKeeper is a distributed co-ordination service to manage large set of hosts.
Kafka+
https://developer.confluent.io/what-is-apache-kafka/
https://www.youtube.com/watch?v=CU44hKLMg7k
https://www.youtube.com/watch?v=j4bqyAMMb7o&list=PLa7VYi0yPIH0KbnJQcMv5N9iW8HkZHztH
In this Apache Kafka fundamentals course, we introduce you to the basic Apache Kafka elements and APIs, as well as the broader Kafka ecosystem.
中间件+
https://www.youtube.com/watch?v=1oWPUpMheGk
SOA+
https://www.ibm.com/think/topics/soa
SOA, or service-oriented architecture, defines a way to make software components reusable and interoperable through service interfaces.
[英文] SOA Tutorial
https://www.tutorialspoint.com/soa/index.htm
The Service Oriented Architecture is an architectural design which includes collection of services in a network which communicate with each other.
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.
服务治理+
https://cloudnativecn.com/blog/istio-traffic-management-series-service-management-concept-theory/
通过阅读本文读者可以初步理解 Istio 流量治理的概念和相关知识框架。
https://juejin.cn/post/6844904006033080334
服务治理主要包括服务发现、负载均衡、限流、熔断、超时、重试、服务追踪等。我们今天要讲的,就是服务发现的内容。
DDD+
https://ddd-crew.github.io/ddd-starter-modelling-process/
This process gives you a step-by-step guide for learning and practically applying each aspect of Domain-Driven Design (DDD) - from orienting around an organisation’s business model to coding a domain model.
[英文] Domain Driven Design
https://medium.com/@matteopampana/list/domain-driven-design-c1efaabe287e
Everyone talks about DDD, but how many understand and correctly apply Domain-Driven Design? I want to be one of them.
https://redis.io/glossary/domain-driven-design-ddd/
Domain-Driven Design (DDD) is a software development philosophy that emphasizes the importance of understanding and modeling the business domain.
系统设计+
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://www.baeldung.com/concurrency-principles-patterns
In this tutorial, we’ll discuss some of the design principles and patterns that have been established over time to build highly concurrent applications.
https://www.baeldung.com/java-concurrency
Handling concurrency in an application can be a tricky process with many potential pitfalls. A solid grasp of the fundamentals will go a long way to help minimize these issues.
https://www.oreilly.com/library/view/concurrency-in-go/9781491941294/
You’ll understand how Go chooses to model concurrency, what issues arise from this model, and how you can compose primitives within this model to solve problems.
https://www.oreilly.com/library/view/modern-concurrency-in/9781098165406/
With this book, you'll explore the transformative world of Java 21's key feature: virtual threads.
https://www.youtube.com/watch?v=qyM8Pi1KiiM
https://www.youtube.com/watch?v=wEsPL50Uiyo
高可用+
https://redis.io/blog/high-availability-architecture/
A high available architecture is when there are a number of different components, modules, or services that work together to maintain optimal performance, irrespective of peak-time loads.
https://www.ibm.com/think/topics/high-availability
High availability (HA) is a term that refers to a system’s ability to be accessible and reliable close to 100% of the time.
Spring Web MVC+
https://spring.io/guides/gs/serving-web-content
This guide walks you through the process of creating a “Hello, World” web site with Spring.
[英文] Spring MVC Series
https://www.baeldung.com/spring-mvc
Spring MVC provides tools driving both typical web applications as well as REST APIs.
相关职位
社招4年以上核心本地商业-业
1.完成零售SaaS系统核心的商品模块建设,保证系统符合质量性能要求 2.进行需求分析以及主要业务功能的开发,对现有业务模块进行优化 3.将业务逻辑拆解清晰,攻克技术难点,支撑业务快速发展 4.系统技术优化,提升系统的稳定性、性能和可维护性
更新于 2025-01-17
社招4年以上核心本地商业-业
1.完成零售SaaS系统核心的商品模块建设,保证系统符合质量性能要求 2.进行需求分析以及主要业务功能的开发,对现有业务模块进行优化 3.将业务逻辑拆解清晰,攻克技术难点,支撑业务快速发展 4.系统技术优化,提升系统的稳定性、性能和可维护性
更新于 2025-07-21
社招5年以上核心本地商业-业
1.外卖C端导购方向:负责外卖C端导购链路(首页、店铺页、商详页等)服务建设,支撑业务业务指标增长,优化服务架构,提升系统稳定性。 外卖拼好饭方向:负责拼好饭商品方向的研发工作,完成商品建品、招商、选品、补贴、搭建会场、投放等全流程核心系统建设,持续提升商品供给效率、优化商品供给结构。 到家营销平台方向:负责营销方向的需求管理、系统设计、功能开发等,理解营销业务形态和目标,针对营销具体业务场景,快速支撑业务需求实施落地。 2.深度挖掘业务诉求,持续优化现有架构,编写优雅代码,保障服务质量,通过技术能力驱动业务前进,提高生产力。 3.深度参与系统的稳定性建设,包括故障监测与预警、容灾备份、性能优化等,确保系统的高可用性和可靠性。 4.具备指导初级、中级工程师的能力,和团队成员共同成长,保障研发团队持续战斗力输出。
更新于 2025-05-26