项目编号:【42056】
高级 Rust 客户端核心工程师 (跨平台 SDK 方向)
(注:建议头衔中强调“核心”与“跨平台”,以吸引有架构能力的资深人士)
📝 岗位职责 (Responsibilities)
核心逻辑重构与落地:基于已有的 Rust 第一版代码,主导将原有 C/C++ 核心业务逻辑(网络、加密、音视频、压缩)彻底迁移至 Rust,并确保功能等价性与性能提升。
跨平台 FFI 架构实现:设计并维护高性能、安全的 FFI 接口层,向 iOS (Swift/ObjC)、Android (Kotlin/Java)、Desktop (C#/Electron等) 及 Web (Wasm) 暴露统一能力,处理复杂的内存所有权转换与线程模型映射。
高并发与性能攻坚:优化 HTTP/2/3 及 WebSocket 连接池管理,解决高并发下的资源竞争问题;针对移动端和 Wasm 环境进行极致的包体积优化与启动速度优化。
稳定性治理:负责解决跨语言调用中的“诡异”Crash(如内存越界、线程死锁、ABI 不兼容),建立自动化测试与模糊测试(Fuzzing)流程,确保 SDK 在碎片化设备上的稳定性。
协同交付:作为 Rust 技术接口人,直接对接各端原生开发团队,提供集成文档、Demo 及调试支持,协助解决集成过程中的边界问题。
🛠 硬性技术要求 (Must-Haves)
Rust 精通:5 年以上系统级编程经验,其中 3 年以上 Rust 实战经验。深刻理解 Rust 内存模型、生命周期、异步运行时(Tokio/Async-std)及 no_std 环境。
C/C++ 互操作专家:必须具备深厚的 C/C++ 背景,能够熟练阅读和重构遗留 C/C++ 代码。精通 cxx, bindgen, uniffi 或手动编写 FFI 胶水代码,清楚 ABI 稳定性、名字修饰(Name Mangling)及跨语言异常处理机制。
全平台构建经验:
Mobile: 熟悉 Android NDK 开发流程 (cargo-ndk),熟悉 iOS 静态库/动态库打包及签名流程。
Wasm: 有实际的 wasm-bindgen 项目经验,了解 Wasm 线性内存限制及 JS 互操作性能陷阱。
Desktop: 熟悉 Windows (MSVC/MinGW), macOS, Linux 的交叉编译配置。
领域技能:
网络: 精通 TCP/IP, HTTP/2/3 (QUIC), WebSocket 协议,有高并发连接池设计与调优经验。
多媒体与安全: 有使用 Rust 调用或封装 OpenSSL/Ring, FFmpeg (或通过 rust-ffmpeg) 的经验,理解音视频编解码基础及数据加密流程。
调试与排错:擅长使用 GDB/LLDB, Valgrind, AddressSanitizer (ASan), ThreadSanitizer (TSan) 等工具定位跨语言内存错误和并发竞争问题。
🌟 加分项 (Nice-to-Haves)
有主导过大型 C/C++ 项目重构为 Rust 的成功案例(请准备代码对比或架构图)。
熟悉 flutter_rust_bridge 或有 Flutter 集成经验。
对 QUIC 协议有深入源码级理解。
在 crates.io 上有高星开源项目,特别是涉及 FFI 或系统底层的库。
熟悉 Bazel/CMake 与 Cargo 的混合构建系统。