T1 Công ty lớn và kỳ lân NetEase Tuyển sinh viên mới tốt nghiệp
NetEase AI Infra tuyển mới tốt nghiệp
Câu hỏi phỏng vấn NetEase AI Infra tuyển mới tốt nghiệp thật, gồm tối ưu suy luận, tối ưu toán tử và các hướng liên quan
Tối ưu suy luận Tối ưu toán tử
Kinh nghiệm dự án
- Mô tả chi tiết các module chính và đóng góp kỹ thuật cốt lõi của dự án liên quan AI trên CV
Tối ưu suy luận
- Khi thiết kế dịch vụ suy luận mô hình throughput cao, latency thấp, ở tầng kiến trúc và tầng kỹ thuật cần chú ý những vấn đề nào
C++ cơ bản
- Đặc điểm và khác biệt của stack, heap và vùng static/global trong bộ nhớ chương trình
new/deletekhácmalloc/freechủ yếu ở đâu; vì sao C++ khuyến khích dùng cái trước- Deep copy và shallow copy là gì; tình huống nào bắt buộc dùng deep copy
- Mục đích thiết kế, tình huống dùng và khác biệt của
std::unique_ptr,std::shared_ptr,std::weak_ptr - vtable triển khai đa hình runtime thế nào; virtual function và pure virtual khác gì về ngữ nghĩa và cách dùng
- Memory alignment và quy tắc căn chỉnh struct của compiler; tính
sizeofcủa một struct cho sẵn - Rvalue reference và move semantics trong C++11; dùng chúng để chuyển dữ liệu hiệu quả thế nào
Lập trình CUDA
- Khái niệm cơ bản của mô hình SIMT; quan hệ phân cấp thread, block, grid
- Biến cục bộ của thread trong CUDA kernel nằm ở đâu và liên quan register allocation thế nào
- Dùng shared memory để giảm truy cập lặp lại vào global memory (ví dụ GEMM chia khối)
- Warp shuffle: khái niệm và lợi thế khi trao đổi dữ liệu / reduce trong warp
- Nguyên lý và lợi ích hiệu năng của lệnh load/store vector hóa (như float4, int4) để coalesced access
- Nguyên nhân bank conflict của shared memory và ví dụ
- Tránh bank conflict bằng padding hoặc chỉnh memory layout
Kiến thức nền
- Nguyên lý cache CPU, gồm temporal locality, spatial locality và các chiến lược thay thế phổ biến
Bài lập trình
- Trong luồng nhiều số nguyên, tìm realtime top-K phần tử xuất hiện nhiều nhất (hash table + min-heap), phân tích độ phức tạp thời gian