Perguntas reais
Use este recorte para sair do estudo genérico e praticar com exemplos que já apareceram em processos reais.
Reunimos aqui as perguntas públicas já associadas à Microsoft para te ajudar a estudar com mais contexto, entender o tipo de cobrança e priorizar melhor sua preparação.
Use este recorte para sair do estudo genérico e praticar com exemplos que já apareceram em processos reais.
Veja rapidamente quais tipos de pergunta aparecem mais e organize seu treino com mais intenção.
Depois de estudar esta empresa, compare com empresas parecidas para evitar preparação estreita demais.
Use esta página como ponto de partida para estudar a empresa. O ideal é praticar essas perguntas e depois expandir para variações parecidas.
Design a distributed job scheduler that can handle high-throughput job processing (10,000+ jobs per second), support both scheduled (cron-based) and ad-hoc job execution, include retry mechanisms for failed jobs, and maintain execution history for up to one year.
Treine requisitos, arquitetura e decisões de escala.
Prepare histórias concretas com contexto, ação e resultado.
Design a real-time messaging system like WhatsApp or Facebook Messenger that supports 1:1 and group conversations, message delivery status tracking, user presence features, conversation history, and can scale to handle millions of users.
Treine requisitos, arquitetura e decisões de escala.
Prepare histórias concretas com contexto, ação e resultado.
The interviewer focused on a conflict that comes from different perspectives or ideas on how to execute a certain task.
Prepare histórias concretas com contexto, ação e resultado.
Design a system that efficiently retrieves top-k items (songs, videos, hashtags, etc.) based on user activity or engagement metrics within specified time windows. The system should handle real-time data aggregation and support queries like "top 10 songs in the last 7 days" or "trending hashtags in the past 24 hours."
Treine requisitos, arquitetura e decisões de escala.
Prepare histórias concretas com contexto, ação e resultado.
Design a social media feed system that generates and populates personalized feeds for users on platforms like Twitter, Instagram, or Facebook.
Treine requisitos, arquitetura e decisões de escala.
Design a URL shortening service similar to TinyURL that allows users to convert long URLs into short, shareable links and manage their shortened URLs.
Treine requisitos, arquitetura e decisões de escala.
Design a rate limiting system that can control and throttle API requests to prevent system overload and ensure fair resource allocation. The system should be able to handle distributed scenarios, track requests across multiple servers, and enforce limits per user/client or between internal services to prevent abuse and maintain system performance.
Treine requisitos, arquitetura e decisões de escala.
Implement an LRUCache that supports O(1) average-time get(key) returning the value or -1 and put(key, value) which inserts or updates a key and, if capacity is exceeded, evicts the least-recently-used key. The core challenge is maintaining key-value storage together with recency ordering to enable constant-time access, updates, and eviction.
Estruture solução, trade-offs e complexidade com clareza.
Design a scalable notification system that supports both individual and bulk notifications to multiple users. The system should handle different types of notifications including critical time-sensitive messages (like 1:1 chat) and promotional content (like system-generated recommendations) with appropriate delivery mechanisms. Consider scalability requirements (up to 1M notifications/second), expiration logic for different notification types, and the typical 80/20 distribution between critical and promotional notifications where promotional messages can target thousands of users simultaneously.
Treine requisitos, arquitetura e decisões de escala.
Design a photo-sharing social media platform where users can upload photos, follow other users, and view a chronological feed of posts from people they follow.
Treine requisitos, arquitetura e decisões de escala.
Prepare histórias concretas com contexto, ação e resultado.
Given a list of meeting time intervals, determine the minimum number of conference rooms required so that no meetings overlap. The core challenge is computing the maximum number of concurrent intervals (e.g., via sorting with a min-heap of end times or a sweep-line of start/end events).
Estruture solução, trade-offs e complexidade com clareza.
Design a ticket booking system like Ticketmaster that handles high-traffic events, supports both seated and general admission tickets, and manages scenarios like flash sales with limited inventory and concurrent users.
Treine requisitos, arquitetura e decisões de escala.
Prepare histórias concretas com contexto, ação e resultado.
Design a ride-sharing service like Uber that allows users to request rides, matches them with nearby drivers, handles real-time tracking, and processes payments.
Treine requisitos, arquitetura e decisões de escala.
Design a distributed caching system that can serve data with low latency across multiple geographic locations, handling cache misses, replication, and scaling to support billions of records.
Treine requisitos, arquitetura e decisões de escala.
Design an online coding judge system for programming competitions where users can submit solutions, view real-time leaderboards, and participate in timed contests with automatic code evaluation.
Treine requisitos, arquitetura e decisões de escala.
Given two sorted arrays nums1 and nums2 and counts m and n (nums1 has length m+n with its last n slots free), merge the elements into nums1 in non-decreasing order in-place. Aim for an O(m + n) solution that uses the available buffer rather than returning a new array.
Estruture solução, trade-offs e complexidade com clareza.
Find the contiguous subarray within an integer array that yields the maximum possible sum and return that sum. This is typically solved in O(n) with Kadane's algorithm (with an alternative divide-and-conquer approach as a follow-up).
Estruture solução, trade-offs e complexidade com clareza.
Prepare histórias concretas com contexto, ação e resultado.
Count the number of distinct monotonic paths from the top-left to the bottom-right of an m×n grid when you may only move right or down. This is the classic lattice-path problem — the answer equals binomial coefficient C(m+n-2, m-1) (or can be computed with DP); m,n ≤ 100 and result ≤ 2·10^9.
Estruture solução, trade-offs e complexidade com clareza.
No app você amplia a busca com mais perguntas, compara empresas parecidas e continua a preparação com filtros mais precisos.