T1 Large companies and unicorns Xiaomi Internship Rounds 1-2
Xiaomi AI Infra internship rounds 1–2
Xiaomi AI Infra internship interview questions covering inference optimization, training optimization, operator optimization, and high-performance computing
Inference optimization Training optimization Operator optimization High-performance computing
Round 1
Project experience
- Introduce the main work done during the internship.
- Technical approach and implementation details for a thousand-GPU-scale training project.
- Introduce competition project experience.
Fundamentals
- Difference between deep copy and shallow copy in Python.
- Characteristics and use cases of the three C++ smart pointers (unique_ptr, shared_ptr, weak_ptr).
- How Copy-on-Write works.
- How Zero-Copy works.
Coding
- Implement matrix transpose.
Round 2
Training optimization
- End-to-end flow of large-model distributed training and how to choose parallel strategies.
- Introduce common distributed parallel strategies.
- Why does tensor parallelism (TP) have both row-wise and column-wise splits? What does each mean?
- Design principles and implementation of sequence parallelism (SP) in Megatron.
Fundamentals
- Which layers and operators does the Transformer architecture include?
- Structural traits and differences between Encoder and Decoder.
- Core idea and implementation of FlashAttention.
- How Online Softmax is computed.
Operator optimization
- In CUDA, is a Block a software concept or a hardware concept?
- What common CUDA optimization methods are there?
- What concrete strategies exist for memory-access optimization?
- How do you overlap compute and memory access?
- Difference between L1 Cache and L2 Cache.
- Relationship and differences between shared memory and L1 Cache.
High-performance computing
- Differences among the three C++ smart pointers; what design goal does shared_ptr serve?
- How does AllReduce work, and what common implementations exist?
- Communication-volume analysis of Ring AllReduce.
- What advantages does Tree AllReduce have over Ring AllReduce?
Coding
- Merge two sorted linked lists.