
有赞中间件开发工程师(J10142)
社招全职2年以上地点:杭州状态:招聘
任职要求
1.熟悉C++、Golang或Java语言 ,2年以上相关工作经验; 2.熟悉高并发、分布式,存储、微服务架构等相关技术,熟悉网络编程; 3.熟悉Linux操作系统、熟悉业界主流和常用的中间件软件; 4.善于独立思考,有快速学习能力,不断突破技术瓶颈,乐于探索未知领域,在较大压力下保持工作激情; 5.熟悉消息中间件,RPC框架,数据层,性能优化等相关技术经验者优先; 6.熟练使用关系型数据库,对索引调优有一定经验或者了解其原理者优先; 7.有良好的问题排查经验,有 docker 容器管控、PaaS 平台等领域的实践经验者优先。 成长建议: 1.关注和重视技术基础,对数据结构、算法、操作系统、网络编程等计算机基础课程进行深入的学习,并在实践中不断加深理解; 2.不断提升对所维护和开发的产品的了解程度,结合业务实际场景进行深入的思考,提升对技术产品整体的认识能力和架构能力; 3.学习和了解业务主流开源中间件产品的设计和架构,深入思考其架构和设计思路; 4.积极参与项目设计和问题的讨论,积极参加公司内的分享和活动,提升自身的认知范围; 5.提升自身对业务系统和场景的了解程度,能够从实际场景出发进行设计和规划 。
工作职责
1.作为底层系统开发人员,通过中间件技术、通用产品、通用平台解决业务架构难题,保障和支撑有赞业务的快速增长和迭代; 2.参与有赞PaaS中间件(微服务框架、消息中间件、数据中间件、分布式KV存储系统等)的设计、核心代码开发,维护系统稳定性,提升产品和系统的性能; 3.深入理解所负责的中间件的技术原理、架构和使用场景,帮忙业务开发更好的利用中间件产品解决技术难题,提升业务的开发和迭代速度; 4.参与产品推广、技术宣讲和培训,提升业务开发对底层中间件和系统的了解,减少和消除因对底层系统不了解造成的故障; 5.结合业界实践和有赞的实际情况,规划中间件和底层系统平台的发展方向,保障底层系统的持续稳定运行。 工作内容: 1.了解业务开发的需求和痛点,对业务实际中遇到的问题进行总结,抽象成为对中间件产品的需求 设计、开发核心中间件产品,不断满足业务在功能、性能、稳定性等方面的需求; 2.在结合有赞的业务场景和实际情况的前提下,吸纳开源产品优秀的设计和架构,并进行针对性的改良和适配; 为需求方做技术培训,组织技术分享并能输出技术沉淀; 3.协助业务方进行底层系统的技术选型和方案评估,为业务方提供专业的建议和支持; 4.推动整体业务开放对底层中间件系统进行规范、合理的使用,保障底层系统的健康、稳定运行。
包括英文材料
C+++
https://www.learncpp.com/
LearnCpp.com is a free website devoted to teaching you how to program in modern C++.
https://www.youtube.com/watch?v=ZzaPdXTrSb8
Go+
https://www.youtube.com/watch?v=8uiZC0l4Ajw
学习Golang的完整教程!从开始到结束不到一个小时,包括如何在Go中构建API的完整演示。没有多余的内容,只有你需要知道的知识。
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://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://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.
网络编程+
https://www.youtube.com/watch?v=2HrYIl6GpYg
I will make a simple HTTP web server with the C Programming Language.
https://www.youtube.com/watch?v=8z6okCgdREo
This tutorial is for Gophers who have written a command line or an API application, but have little to no experience in lower-level concepts like reading and writing to sockets, working with channels, and managing multiple goroutines.
https://www.youtube.com/watch?v=bdIiTxtMaKA&list=PL9IEJIKnBJjH_zM5LnovnoaKlXML5qh17
https://www.youtube.com/watch?v=bzja9fQWzdA
Implement the ubiquitous TCP protocol that underlies much of the traffic on the internet!
[英文] 📺Network Programming with Python Course (build a port scanner, mailing client, chat room, DDOS)
https://www.youtube.com/watch?v=FGdiSJakIS4
Learn network programming in Python by building four projects. You will learn to build a mailing client, a DDOS script, a port scanner, and a TCP Chat Room.
https://www.youtube.com/watch?v=gntyAFoZp-E
https://www.youtube.com/watch?v=JiuouCJQzSQ
Explore the fundamentals of networking in Rust by building a simple TCP server.
https://www.youtube.com/watch?v=JRTLSxGf_6w
https://www.youtube.com/watch?v=sFizpxHkIlI
In this video we'll cover SOCKET PROGRAMMING in JAVA.
https://www.youtube.com/watch?v=sXW_sNGvqcU
Linux+
https://ryanstutorials.net/linuxtutorial/
Ok, so you want to learn how to use the Bash command line interface (terminal) on Unix/Linux.
https://ubuntu.com/tutorials/command-line-for-beginners
The Linux command line is a text interface to your computer.
https://www.youtube.com/watch?v=6WatcfENsOU
In this Linux crash course, you will learn the fundamental skills and tools you need to become a proficient Linux system administrator.
https://www.youtube.com/watch?v=v392lEyM29A
Never fear the command line again, make it fear you.
https://www.youtube.com/watch?v=ZtqBQ68cfJc
中间件+
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.
Docker+
https://www.youtube.com/watch?v=GFgJkfScVNU
Master Docker in one course; learn about images and containers on Docker Hub, running multiple containers with Docker Compose, automating workflows with Docker Compose Watch, and much more. 🐳
https://www.youtube.com/watch?v=kTp5xUtcalw
Learn how to use Docker and Kubernetes in this complete hand-on course for beginners.
PaaS+
https://www.ibm.com/cn-zh/think/topics/paas
平台即服务 (PaaS) 是一种云计算模型,提供完整的按需云平台(硬件、软件和基础设施),用于开发、运行和管理应用程序。
https://www.ibm.com/think/topics/paas
https://www.youtube.com/watch?v=QAbqJzd0PEE
数据结构+
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/
相关职位
实习J1014
1、参与快手系统可观测平台的开发建设,提供极致的云原生系统可观测性及分析平台体验; 2、参与快手系统Profiling能力建设; 3、参与AIOps方向的探索与落地,优化干扰检测、根因分析、容量规划等; 4、调研业界系统可观测性方向发展,探索落地业界最佳实践。
更新于 2025-03-06
校招J1014
1、负责快手通用基础开发框架、数据库中间件、任务调度,以及多种基础中间件产品的研发; 2、深入理解业务需求,提供可靠、稳定、可扩展的基础能力,为业务研发提供有力支撑; 3、对现有系统的不足进行分析,找到目前系统的瓶颈,改进并提高系统性能; 4、分析业界技术发展趋势,了解竞争对手产品,并制定产品和技术发展路线图。
更新于 2025-07-30
社招5年以上
基于自动驾驶域控制器(ARM架构),和底软、算法和测试团队合作,开发服务于自动驾驶系统的中间件/基础服务/自驾业务,工作内容包括但不限于如下: 1.参与中间件的设计、开发、测试和交付,例如通讯中间件、日志中间件、调度中间件等; 2.参与自驾基础服务的设计、开发、测试和交付,例如系统状态服务、诊断服务、升级服务等; 3.参与自驾算法和应用服务的开发、集成和交付,例如感知、规划、预测、控制等业务(主要负责框架程序设计和编写,不参与具体算法开发);
更新于 2024-11-28