# Codemia > Codemia is an interview preparation platform for software and machine learning engineers. It covers system design, machine learning system design, object oriented design, agentic AI design, and data structures and algorithms, with practice problems, written editorials, company specific interview guides, and an engineering knowledge base. Practice problems open in an interactive workspace and each one has a written editorial. A free account unlocks a subset of problems; the remainder are part of a paid membership. Everything linked below is public. ## Start here - [Codemia](https://codemia.io): What the platform covers, who it is for, and how practice works. - [System design problems](https://codemia.io/system-design): Catalogue of system design interview problems, each with an editorial solution. - [Machine learning system design](https://codemia.io/ml-system-design): ML system design problems: recommendation, ranking, search and fraud systems. - [Object oriented design](https://codemia.io/object-oriented-design): Low level and object oriented design problems with class level solutions. - [Agentic AI design](https://codemia.io/agentic-ai): Design problems for LLM agent systems: tool use, planning, memory and evaluation. - [DSA visualizer](https://codemia.io/dsa): Interactive step by step visualizations for algorithm problems, with code in seven languages. - [Interview guides](https://codemia.io/guides): Company by company breakdowns of the interview process, rounds and leveling. - [Knowledge hub](https://codemia.io/knowledge-hub): Searchable reference pages on engineering and machine learning topics. - [Pricing](https://codemia.io/pricing): Membership tiers and what each one unlocks. ## Company interview guides - [100ms interview guide](https://codemia.io/guides/100ms-software-engineer): Complete 100ms Software Engineer interview guide. - [3M interview guide](https://codemia.io/guides/3m-software-engineer): Complete 3M Software Engineer interview guide. - [7shifts interview guide](https://codemia.io/guides/7shifts-software-engineer): Complete 7shifts Software Engineer interview guide. - [8th Light interview guide](https://codemia.io/guides/8th-light-software-engineer): Complete 8th Light Software Engineer interview guide. - [8x8 interview guide](https://codemia.io/guides/8x8-software-engineer): Complete 8x8 Software Engineer interview guide. - [Ably interview guide](https://codemia.io/guides/ably-software-engineer): Complete Ably Software Engineer interview guide. - [Absorb Software interview guide](https://codemia.io/guides/absorb-software-software-engineer): Complete Absorb Software Software Engineer interview guide. - [Acceldata interview guide](https://codemia.io/guides/acceldata-software-engineer): Complete Acceldata Software Engineer interview guide. - [Accenture interview guide](https://codemia.io/guides/accenture-software-engineer): Complete Accenture Software Engineer interview guide. - [AccuWeather interview guide](https://codemia.io/guides/accuweather-software-engineer): Complete AccuWeather Software Engineer interview guide. - [Ace Hardware interview guide](https://codemia.io/guides/ace-hardware-software-engineer): Complete Ace Hardware Software Engineer interview guide. - [Acer Group interview guide](https://codemia.io/guides/acer-group-software-engineer): Complete Acer Group Software Engineer interview guide. - [Achievers interview guide](https://codemia.io/guides/achievers-software-engineer): Complete Achievers Software Engineer interview guide. - [ACI Worldwide interview guide](https://codemia.io/guides/aci-worldwide-software-engineer): Complete ACI Worldwide Software Engineer interview guide. - [ACV Auctions interview guide](https://codemia.io/guides/acv-auctions-software-engineer): Complete ACV Auctions Software Engineer interview guide. - [Ad Hoc interview guide](https://codemia.io/guides/ad-hoc-software-engineer): Complete Ad Hoc Software Engineer interview guide. - [Adobe interview guide](https://codemia.io/guides/adobe-ai-engineer): Complete Adobe AI Engineer interview guide. - [Affirm interview guide](https://codemia.io/guides/affirm-software-engineer): Complete Affirm Software Engineer interview guide. - [Airbnb interview guide](https://codemia.io/guides/airbnb-data-scientist): Complete Airbnb Data Scientist interview guide. - [Airbnb interview guide](https://codemia.io/guides/airbnb-software-engineer): Complete Airbnb Software Engineer interview guide. - [Akuna Capital interview guide](https://codemia.io/guides/akuna-capital-software-engineer): Complete Akuna Capital Software Engineer interview guide. - [Amazon interview guide](https://codemia.io/guides/amazon-agentic-ai-engineer): Complete Amazon Agentic AI Engineer interview guide. - [Amazon interview guide](https://codemia.io/guides/amazon-data-scientist): Complete Amazon Data Scientist interview guide. - [Amazon interview guide](https://codemia.io/guides/amazon-machine-learning-engineer): Complete Amazon Machine Learning Engineer interview guide. - [Amazon interview guide](https://codemia.io/guides/amazon-product-manager): Complete Amazon Product Manager interview guide. - [Amazon interview guide](https://codemia.io/guides/amazon-software-engineer): Complete Amazon Software Engineer interview guide. - [Anthropic interview guide](https://codemia.io/guides/anthropic-software-engineer): Complete Anthropic Software Engineer interview guide. - [Apple interview guide](https://codemia.io/guides/apple-data-scientist): Complete Apple Data Scientist interview guide. - [Apple interview guide](https://codemia.io/guides/apple-software-engineer): Complete Apple Software Engineer interview guide. - [Atlassian interview guide](https://codemia.io/guides/atlassian-software-engineer): Complete Atlassian Software Engineer interview guide. - [BCG interview guide](https://codemia.io/guides/bcg-data-scientist): Complete BCG Data Scientist interview guide. - [Bloomberg interview guide](https://codemia.io/guides/bloomberg-software-engineer): Complete Bloomberg Software Engineer interview guide. - [ByteDance interview guide](https://codemia.io/guides/bytedance-software-engineer): Complete ByteDance Software Engineer interview guide. - [Canva interview guide](https://codemia.io/guides/canva-software-engineer): Complete Canva Software Engineer interview guide. - [Capital One interview guide](https://codemia.io/guides/capital-one-data-scientist): Complete Capital One Data Scientist interview guide. - [Citadel interview guide](https://codemia.io/guides/citadel-data-scientist): Complete Citadel Data Scientist interview guide. - [Citadel interview guide](https://codemia.io/guides/citadel-software-engineer): Complete Citadel Software Engineer interview guide. - [Coinbase interview guide](https://codemia.io/guides/coinbase-data-scientist): Complete Coinbase Data Scientist interview guide. - [Coinbase interview guide](https://codemia.io/guides/coinbase-software-engineer): Complete Coinbase Software Engineer interview guide. - [Cursor interview guide](https://codemia.io/guides/cursor-software-engineer): Complete Cursor (Anysphere) Software Engineer interview guide. - [CVS Health interview guide](https://codemia.io/guides/cvs-health-data-scientist): Complete CVS Health Data Scientist interview guide. - [Databricks interview guide](https://codemia.io/guides/databricks-software-engineer): Complete Databricks Software Engineer interview guide. - [Datadog interview guide](https://codemia.io/guides/datadog-software-engineer): Complete Datadog Software Engineer interview guide. - [DoorDash interview guide](https://codemia.io/guides/doordash-data-scientist): Complete DoorDash Data Scientist interview guide. - [DoorDash interview guide](https://codemia.io/guides/doordash-software-engineer): Complete DoorDash Software Engineer interview guide. - [Google interview guide](https://codemia.io/guides/google-data-scientist): Complete Google Data Scientist interview guide. - [Google interview guide](https://codemia.io/guides/google-machine-learning-engineer): Complete Google Machine Learning Engineer interview guide. - [Google interview guide](https://codemia.io/guides/google-product-manager): Complete Google Product Manager interview guide. - [Google interview guide](https://codemia.io/guides/google-software-engineer): Complete Google Software Engineer interview guide. - [HubSpot interview guide](https://codemia.io/guides/hubspot-software-engineer): Complete HubSpot Software Engineer interview guide. - [Instacart interview guide](https://codemia.io/guides/instacart-data-scientist): Complete Instacart Data Scientist interview guide. - [Instacart interview guide](https://codemia.io/guides/instacart-software-engineer): Complete Instacart Software Engineer interview guide. - [Intuit interview guide](https://codemia.io/guides/intuit-data-scientist): Complete Intuit Data Scientist interview guide. - [Intuit interview guide](https://codemia.io/guides/intuit-software-engineer): Complete Intuit Software Engineer interview guide. - [Leidos interview guide](https://codemia.io/guides/leidos-software-engineer): Complete Leidos Software Engineer interview guide. - [LinkedIn interview guide](https://codemia.io/guides/linkedin-data-scientist): Complete LinkedIn Data Scientist interview guide. - [LinkedIn interview guide](https://codemia.io/guides/linkedin-software-engineer): Complete LinkedIn Software Engineer interview guide. - [MathWorks interview guide](https://codemia.io/guides/mathworks-software-engineer): Complete MathWorks Software Engineer interview guide. - [Meta interview guide](https://codemia.io/guides/meta-data-engineer): Complete Meta Data Engineer interview guide. - [Meta interview guide](https://codemia.io/guides/meta-data-scientist): Complete Meta Data Scientist interview guide. - [Meta interview guide](https://codemia.io/guides/meta-machine-learning-engineer): Complete Meta Machine Learning Engineer interview guide. - [Meta interview guide](https://codemia.io/guides/meta-software-engineer): Complete Meta Software Engineer interview guide. - [Microsoft interview guide](https://codemia.io/guides/microsoft-data-engineer): Complete Microsoft Data Engineer interview guide. - [Microsoft interview guide](https://codemia.io/guides/microsoft-data-scientist): Complete Microsoft Data Scientist interview guide. - [Microsoft interview guide](https://codemia.io/guides/microsoft-machine-learning-engineer): Complete Microsoft Machine Learning Engineer interview guide. - [Microsoft interview guide](https://codemia.io/guides/microsoft-software-engineer): Complete Microsoft Software Engineer interview guide. - [Netflix interview guide](https://codemia.io/guides/netflix-data-scientist): Complete Netflix Data Scientist interview guide. - [Netflix interview guide](https://codemia.io/guides/netflix-software-engineer): Complete Netflix Software Engineer interview guide. - [NVIDIA interview guide](https://codemia.io/guides/nvidia-software-engineer): Complete NVIDIA Software Engineer interview guide. - [OpenAI interview guide](https://codemia.io/guides/openai-machine-learning-engineer): Complete OpenAI Machine Learning Engineer interview guide. - [OpenAI interview guide](https://codemia.io/guides/openai-software-engineer): Complete OpenAI Software Engineer interview guide. - [Optiver interview guide](https://codemia.io/guides/optiver-software-engineer): Complete Optiver Software Engineer interview guide. - [Oracle interview guide](https://codemia.io/guides/oracle-software-engineer): Complete Oracle Software Engineer interview guide. - [PayPal interview guide](https://codemia.io/guides/paypal-data-scientist): Complete PayPal Data Scientist interview guide. - [Perplexity interview guide](https://codemia.io/guides/perplexity-software-engineer): Complete Perplexity AI Software Engineer interview guide. - [Pinterest interview guide](https://codemia.io/guides/pinterest-data-scientist): Complete Pinterest Data Scientist interview guide. - [Pinterest interview guide](https://codemia.io/guides/pinterest-software-engineer): Complete Pinterest Software Engineer interview guide. - [Rippling interview guide](https://codemia.io/guides/rippling-software-engineer): Complete Rippling Software Engineer interview guide. - [Rivian interview guide](https://codemia.io/guides/rivian-software-engineer): Complete Rivian Software Engineer interview guide. - [Roblox interview guide](https://codemia.io/guides/roblox-data-scientist): Complete Roblox Data Scientist interview guide. - [Roblox interview guide](https://codemia.io/guides/roblox-software-engineer): Complete Roblox Software Engineer interview guide. - [Salesforce interview guide](https://codemia.io/guides/salesforce-software-engineer): Complete Salesforce Software Engineer interview guide. - [Shopify interview guide](https://codemia.io/guides/shopify-data-scientist): Complete Shopify Data Scientist interview guide. - [Shopify interview guide](https://codemia.io/guides/shopify-machine-learning-engineer): Complete Shopify Machine Learning Engineer interview guide. - [Snap interview guide](https://codemia.io/guides/snapchat-software-engineer): Complete Snapchat (Snap Inc.) Software Engineer interview guide. - [Snapchat interview guide](https://codemia.io/guides/snapchat-data-scientist): Complete Snapchat Data Scientist interview guide. - [Snapchat interview guide](https://codemia.io/guides/snapchat-machine-learning-engineer): Complete Snapchat Machine Learning Engineer interview guide. - [Snowflake interview guide](https://codemia.io/guides/snowflake-software-engineer): Complete Snowflake Software Engineer interview guide. - [SoFi interview guide](https://codemia.io/guides/sofi-software-engineer): Complete SoFi Software Engineer interview guide. - [Stripe interview guide](https://codemia.io/guides/stripe-data-scientist): Complete Stripe Data Scientist interview guide. - [Stripe interview guide](https://codemia.io/guides/stripe-software-engineer): Complete Stripe Software Engineer interview guide. - [Thumbtack interview guide](https://codemia.io/guides/thumbtack-data-scientist): Complete Thumbtack Data Scientist interview guide. - [TikTok interview guide](https://codemia.io/guides/tiktok-data-scientist): Complete TikTok Data Scientist interview guide. - [TikTok interview guide](https://codemia.io/guides/tiktok-machine-learning-engineer): Complete TikTok Machine Learning Engineer interview guide. - [TikTok interview guide](https://codemia.io/guides/tiktok-software-engineer): Complete TikTok Software Engineer interview guide. - [Two Sigma interview guide](https://codemia.io/guides/two-sigma-data-scientist): Complete Two Sigma Data Scientist interview guide. - [Uber interview guide](https://codemia.io/guides/uber-data-scientist): Complete Uber Data Scientist interview guide. - [Uber interview guide](https://codemia.io/guides/uber-software-engineer): Complete Uber Software Engineer interview guide. - [Upstart interview guide](https://codemia.io/guides/upstart-data-scientist): Complete Upstart Data Scientist interview guide. - [Walmart interview guide](https://codemia.io/guides/walmart-machine-learning-engineer): Complete Walmart Machine Learning Engineer interview guide. - [Walmart interview guide](https://codemia.io/guides/walmart-software-engineer): Complete Walmart Software Engineer interview guide. - [Wiz interview guide](https://codemia.io/guides/wiz-software-engineer): Complete Wiz Software Engineer interview guide. - [xAI interview guide](https://codemia.io/guides/xai-software-engineer): Complete xAI Software Engineer interview guide. ## Knowledge hub topics - [Debugging & Errors](https://codemia.io/knowledge-hub/topic/debugging): Reading stack traces and tracking down the actual cause. (5,737 pages) - [Machine Learning](https://codemia.io/knowledge-hub/topic/machine-learning): Model training, evaluation and the classical algorithm toolkit. (5,305 pages) - [Python](https://codemia.io/knowledge-hub/topic/python): Language semantics, the standard library and packaging. (5,051 pages) - [iOS & Android](https://codemia.io/knowledge-hub/topic/mobile): Swift, Kotlin, the mobile UI toolkits and app lifecycle. (4,590 pages) - [Algorithms](https://codemia.io/knowledge-hub/topic/algorithms): Sorting, searching, recursion, graphs and dynamic programming. (4,415 pages) - [Java](https://codemia.io/knowledge-hub/topic/java): The JVM, collections, Spring and build tooling. (4,405 pages) - [Data Structures](https://codemia.io/knowledge-hub/topic/data-structures): Arrays, maps, trees, heaps and how to pick between them. (3,852 pages) - [TensorFlow & Keras](https://codemia.io/knowledge-hub/topic/tensorflow): Graph construction, layers, training loops and TensorBoard. (3,711 pages) - [Databases](https://codemia.io/knowledge-hub/topic/databases): SQL and NoSQL modelling, indexing and query performance. (3,357 pages) - [Complexity & Performance](https://codemia.io/knowledge-hub/topic/complexity): Big O, time and space trade-offs, and making code faster. (3,234 pages) - [Kafka & Streaming](https://codemia.io/knowledge-hub/topic/kafka): Topics, consumer groups, stream processing and message queues. (3,079 pages) - [Concurrency](https://codemia.io/knowledge-hub/topic/concurrency): Threads, async/await, locks and parallel execution. (2,858 pages) - [C# & .NET](https://codemia.io/knowledge-hub/topic/dotnet): C# language features, LINQ, ASP.NET and the runtime. (2,818 pages) - [AWS & Cloud](https://codemia.io/knowledge-hub/topic/aws): EC2, S3, Lambda, DynamoDB and cloud infrastructure. (2,446 pages) - [Deep Learning](https://codemia.io/knowledge-hub/topic/deep-learning): Neural network architectures, training dynamics and GPU execution. (2,104 pages) - [Data Science](https://codemia.io/knowledge-hub/topic/data-science): Pandas, NumPy and the analysis and visualisation stack. (2,043 pages) - [DevOps & Deployment](https://codemia.io/knowledge-hub/topic/devops): Pipelines, servers, observability and release mechanics. (1,968 pages) - [Git & Version Control](https://codemia.io/knowledge-hub/topic/git): Branching, rebasing, remotes and recovering from mistakes. (1,828 pages) - [Kubernetes](https://codemia.io/knowledge-hub/topic/kubernetes): Pods, services, Helm and cluster operations. (1,766 pages) - [Distributed Systems](https://codemia.io/knowledge-hub/topic/distributed-systems): Replication, consistency, microservices and scale. (1,755 pages) - [Networking & APIs](https://codemia.io/knowledge-hub/topic/networking): HTTP, REST, sockets and service-to-service calls. (1,740 pages) - [JavaScript & Web](https://codemia.io/knowledge-hub/topic/javascript): The browser runtime, Node, and front-end frameworks. (1,479 pages) - [Docker & Containers](https://codemia.io/knowledge-hub/topic/docker): Images, volumes, Compose and container networking. (1,336 pages) - [Math for Programmers](https://codemia.io/knowledge-hub/topic/math): Number theory, combinatorics and computational geometry. (1,327 pages) - [Security & Auth](https://codemia.io/knowledge-hub/topic/security): Authentication, authorisation, tokens and transport security. (1,061 pages) - [Testing](https://codemia.io/knowledge-hub/topic/testing): Unit tests, mocking and keeping a suite trustworthy. (624 pages) - [Computer Vision](https://codemia.io/knowledge-hub/topic/computer-vision): Image pipelines, detection and segmentation. (548 pages) - [C & C++](https://codemia.io/knowledge-hub/topic/cpp): Pointers, memory, templates and the standard library. (516 pages) - [Big Data](https://codemia.io/knowledge-hub/topic/big-data): Spark, Hadoop and batch processing at volume. (495 pages) - [Natural Language Processing](https://codemia.io/knowledge-hub/topic/nlp): Tokenisation, embeddings, language models and text pipelines. (485 pages) - [Object-Oriented Design](https://codemia.io/knowledge-hub/topic/object-oriented-design): Classes, interfaces, inheritance and design patterns. (312 pages) - [PyTorch](https://codemia.io/knowledge-hub/topic/pytorch): Tensors, autograd and the PyTorch training loop. (192 pages) ## Courses - [DSA Fundamentals](https://codemia.io/courses/dsa_fundamentals): Master algorithmic patterns and data structures through hands-on LeetCode-style problems - from arrays and hashing to dynamic programming and advanced graphs. - [Introduction to Agentic AI](https://codemia.io/courses/introduction_to_agentic_ai): Understand how AI agents work, from LLM foundations to production-ready agent architectures. - [OOD Fundamentals](https://codemia.io/courses/ood_fundamentals): Master object-oriented design from first principles, SOLID, design patterns, and classic interview problems with hands-on coding. - [System Design Fundamentals](https://codemia.io/courses/system_design_fundamentals): Build a strong foundation in designing scalable, reliable distributed systems. - [Tackling System Design Interview Problems](https://codemia.io/courses/tackling_system_design_interview_problems): A short course that equips you with the skills to approach system design interviews methodically. ## Optional - [Blog](https://codemia.io/blog): Long form articles on system design and interview preparation. - [Archive](https://codemia.io/archive): Older posts and notes, kept for reference. - [Community](https://codemia.io/community): Questions, interview experiences and discussion from members.