小米高级编译链工程师
社招全职A217478地点:北京状态:招聘
任职要求
业务技能要求: 1 虚拟机技术:熟悉虚拟机技术,如ART(Android Runtime),有相关经验者优先。 2 编译与执行机制:熟悉虚拟机的Interpreter、JIT(Just-In-Time)和AOT(Ahead-Of-Time)Java代码混合编译和执行机制,有相关性能优化经验者优先。 3 内存管理:熟悉业界常见内存管理原理与算法,有虚拟机性能和内存相关调优经验者优先。 4 编译器技术:熟悉gcc、LLVM、Clang等编译器中的一种,有相关经验者优先。 专业知识要求: 1 计算机基础与程序设计:扎实的计算机基础和良好的程序设计能力,了解虚拟机学术界最新成果和技术前沿。 2 编程语言与平台开发:熟练掌握C++/Java至少一门语言,熟悉Android/Linux平台开发环境、开发技术、系统框架和底层库。 3 文献阅读与学术洞察:具备文献阅读能力,能够理解领域优秀论文,对学术界有一定了解。 4 问题分析与解决能力:具备分析问题和解决问题的能力,善于独立思考,有探索精神。
工作职责
1 技术竞争力提升:参与产品编译器和运行时的技术竞争力提升,协助识别性能突破点并提出优化方案,支持产品卖点特性构建。 2 能力构建与提升:参与产品编译器和运行时的能力构建及提升,协助识别并构建领域内关键技术竞争力。 3 前沿技术研究与竞品分析:参与编译器和运行时领域的前沿技术研究,协助进行竞品分析,导入先进技术,支撑产品能力提升。
包括英文材料
Android+
https://roadmap.sh/android
Step by step guide to becoming an Android developer .
https://www.youtube.com/playlist?list=PLQkwcJG4YTCSVDhww92llY3CAnc_vUhsm
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://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/
GCC+
https://gcc.gnu.org/onlinedocs/gcc-15.2.0/gcc/
This file documents the use of the GNU compilers.
https://www.seas.upenn.edu/~ese5320/fall2022/handouts/_downloads/788d972ffe62083c2f1e3f86b7c03f5d/gccintro.pdf
The purpose of this book is to explain the use of the GNU C and C++ compilers, gcc and g++.
https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html
The original GNU C Compiler (GCC) is developed by Richard Stallman, the founder of the GNU Project.
LLVM+
https://llvm.org/docs/GettingStarted.html
Welcome to the LLVM project!
https://llvm.org/docs/tutorial/
This is the “Kaleidoscope” Language tutorial, showing how to implement a simple language using LLVM components in C++.
https://mcyoung.xyz/2023/08/01/llvm-ir/
“LLVM” is an umbrella name for a number of software components that can be used to build compilers.
https://www.youtube.com/watch?v=Lvc8qx8ukOI
This is the first lecture from the "Programming Language with LLVM" course where we build a full programming language similar to JavaScript from scratch, using LLVM compiler infrastructure.
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
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
相关职位
社招A27485
1、参与RISC-V面向C/C++、Java或Go语言编译器/虚拟机/高性能库等相关软件的开发和优化; 2、基于云端服务器应用,开展RISC-V生态软件的性能分析和优化,ISA和微架构软硬件协同设计优化。
更新于 2025-05-27
社招A213151C
1、参与RISC-V面向C/C++、Java或Go语言编译器/虚拟机/高性能库等相关软件的开发和优化; 2、基于云端服务器应用,开展RISC-V生态软件的性能分析和优化,ISA和微架构软硬件协同设计优化。
更新于 2025-05-27
社招5-12年SOFTWARE
1. 负责AI NPU编译器架构设计以及开发 2. 根据硬件架构分析算法模型性能瓶颈,并进行编译优化 3. 基于开源指令集开发自定义高效算子 4. 与其他部门合作完成AI工具链整合
更新于 2025-08-13