A structured technical interview preparation repository covering coding, C++, systems, ML/DL, LLMs, CUDA/performance, and project deep-dives.
This repo is my working knowledge base for technical interview preparation. It keeps coding practice, technical notes, and project explanations in one place so review is easier and more consistent.
The goal is practical preparation: preserve useful notes, keep problem solutions easy to find, and turn project experience into clear interview stories.
coding/: coding problems grouped by topic.cpp/: C++ language, STL, memory, and concurrency basics.systems/: operating systems, networking, databases, and distributed systems notes.ml-dl/: machine learning and deep learning fundamentals.llm/: LLM, NLP, inference, training, and agent-related interview notes.cuda-perf/: CUDA, profiling, kernels, memory, and performance engineering notes.projects/: project deep-dives and project-specific interview notes.behavioral/: behavioral interview preparation.templates/: reusable note templates.scripts/: small helper scripts for local study workflows.
- Coding: arrays, dynamic programming, trees, strings, math, backtracking, linked lists, and matrices.
- C++ and systems: language fundamentals, OS concepts, networking, and distributed systems.
- ML/DL: model fundamentals, optimization, evaluation, and training details.
- LLMs and agents: retrieval, citations, long context, RL, parallelism, and inference systems.
- CUDA/performance: GPU memory, kernels, profiling, NCCL, and throughput bottlenecks.
- Add coding solutions under the closest topic folder.
- Keep short notes close to the topic they support.
- Write project explanations using the template before interviews.
- Record questions after interviews and convert them into focused TODOs.
- Avoid adding claims, metrics, or results unless they come from actual work.
Current project pages:
projects/coderl-lite.mdprojects/nanograd.mdprojects/dvol-strategy.md
Project-specific implementation details should stay private unless they have been reviewed and generalized.
- Fill in missing C++, systems, ML/DL, and CUDA notes.
- Add concise analysis files for coding solutions that only have code.
- Turn project stubs into complete deep-dives with real architecture, trade-offs, and results.
- Keep privacy-sensitive interview details redacted or generalized.