小米顶尖应届-Rust编程语言研究工程师-手机
任职要求
1. 具有计算机软件,计算机系统结构,计算机科学等领域硕士或以上学历; 2. 精通C/C++/rust语言,精通操作系统原理,编译原理,计算机体系结构,并熟悉这些技术的工业界和学术界最新进展; 3. 深刻了解OS系统的工作原理和API接口; 4. 具有良好的逻辑思维能力,业务理解能力、快速学习能力、自我驱动能力以及优秀的独立分析和解决问题能力,对技术充满热情。
工作职责
1. 负责Rust语言及标准库、常用库在Vela系统的移植和适配; 2. 负责Rust程序的优化及附带工具开发,包括codesize裁剪、内存优化、速度优化; 3. 负责参与Vela系统模块与Rust语言的结合,包括方案设计、关键技术研发、技术培训等工作。 【课题名称】Rust支持IoT应用开发研究 【课题内容】研究Rust支持Vela系统的应用开发,包括: 1. 深入研究Rust标准库,适配到Vela系统,并根据Vela系统进行裁剪; 2. 深入研究tokio、json等常用库,适配vela系统,并进行优化 3. 调研vela系统的模块结构,将vela各模块适配到Rust语言中
1. Rust编程语言设计研究 a. 研究 Rust 的所有权、借用和生命周期机制的形式化模型,验证其内存安全性和并发安全性的理论基础; b. 探索如何扩展 Rust 的类型系统以支持更复杂的静态分析(如线性类型、依赖类型等),或解决现有类型系统的局限性; c. 研究如何进一步提升 Rust 并发模型的安全性,例如对无锁数据结构、分布式系统等场景的更优支持。 2.Rust运行时研究 a. 改进异步运行时(如 Tokio、async-std)的性能和可扩展性,研究如何降低异步代码的复杂性和资源消耗; b. 探索轻量级并发模型的实现,例如结合 async/await 与无栈协程的更高效抽象。 3. Rust跨语言交互与生态研究 a. 研究如何安全地与其他语言(如 C/C++、Java)交互,避免因跨语言调用导致的内存安全问题、性能问题; b. 推动关键领域库的完善(如游戏引擎、GUI 框架、科学计算库)。 【课题名称】 Rust编程语言与运行时研究 【课题内容】 1. Rust编程语言设计研究; 2. Rust运行时研究; 3. Rust跨语言交互与生态研究。
1. 即时编译(JIT)与提前编译(AOT)的平衡研究 a. JVM:研究如何结合GraalVM的AOT能力(如Native Image)与传统的JIT优化,减少启动时间和内存占用; b. Dart VM:优化Flutter应用的AOT编译性能,同时改进JIT模式下的开发体验(如热重载速度); c. 利用AI预测代码热点,动态调整JIT编译策略(如选择编译优先级或去优化点)。 2. 垃圾回收(GC)算法改进研究 a. JVM:低延迟GC算法(如ZGC、Shenandoah)的进一步优化,适应大内存和实时场景; b. Dart VM:针对移动端内存受限场景的轻量级GC策略(如分代GC与并发标记的结合)。 3. 多语言互操作性研究 a. JVM:C/C++/Rust等语言的无缝交互,研究多语言共享运行时的高效机制; b. Dart VM:增强与C/C++、Rust的FFI(外部函数接口)性能,支持更复杂的混合编程场景。 【课题名称】 虚拟机优化研究 【课题内容】 1. 即时编译(JIT)与提前编译(AOT)的平衡研究; 2. 垃圾回收(GC)算法改进研究; 3. 多语言互操作性研究。
1. 熟悉和掌握至少一种JS引擎(v8, quickjs)和Webassembly引擎; 2. 为应用层提供调试、性能分析等技术手段; 3. 融合js和wasm引擎,实现js和wasm的互调,满足应用不同场景需求。 【课题名称】快应用运行时关键技术规划与研究 【课题内容】基于vela操作系统,优化和开发快应用的运行时能力。横跨JS和Webassmbly两项技术,将其融合一起,提供高性能、低资源消耗运行时框架。