Guia de estudo de Ciência da Computação: Domine os conceitos essenciais com Flashcards
Guia completo de Ciência da Computação com conjuntos de flashcards básicos, intermediários e avançados em flashcards.world.
Interactive Premade Curricula
Computer Science Flashcard Decks (6)
Select any deck below to study cards with active recall, audio pronunciation, and FSRS spaced repetition, or filter by difficulty level.
Estruturas de Dados, Análise de Complexidade (Big-O) e Algoritmos Essenciais
Algoritmos, grafos, programação dinâmica e bancos de dados relacionais
Sistemas operacionais, redes e sistemas distribuídos
Linguagens de programação: compiladores, memória, tipos e concorrência
Sistemas distribuídos: APIs, dados, confiabilidade e implantação
Segurança, aprendizado de máquina e teoria da computação
Explorar todos os conjuntos de Ciência da Computação no flashcards.world
1. Por que a Recordação Ativa e a Repetição Espaçada funcionam para Ciência da Computação
Dominar Ciência da Computação exige compreensão sólida e memorização precisa de conceitos, regras e aplicações práticas. Abaixo estão os conjuntos curados de Ciência da Computação no flashcards.world organizados por nível.
2. Conjuntos de Flashcards de Ciência da Computação no flashcards.world
Nível Básico / Fundamentos
- Estruturas de Dados, Análise de Complexidade (Big-O) e Algoritmos Essenciais (
pt-br → pt-br) — Estudar este conjunto no flashcards.world | Pesquisarbasic - Algoritmos, grafos, programação dinâmica e bancos de dados relacionais (
pt-br → pt-br) — Estudar este conjunto no flashcards.world | Pesquisarbasic
Nível Intermediário / Prática
- Sistemas operacionais, redes e sistemas distribuídos (
pt-br → pt-br) — Estudar este conjunto no flashcards.world | Pesquisarintermediate - Linguagens de programação: compiladores, memória, tipos e concorrência (
pt-br → pt-br) — Estudar este conjunto no flashcards.world | Pesquisarintermediate
Nível Avançado / Domínio
- Sistemas distribuídos: APIs, dados, confiabilidade e implantação (
pt-br → pt-br) — Estudar este conjunto no flashcards.world | Pesquisaradvanced - Segurança, aprendizado de máquina e teoria da computação (
pt-br → pt-br) — Estudar este conjunto no flashcards.world | Pesquisaradvanced
3. Exemplos de Flashcards de Alto Rendimento (Ciência da Computação)
| Nível | Frente (Pergunta / Termo) | Verso (Resposta / Explicação) |
|---|---|---|
basic |
Para funções não negativas f e g, o que significa f(n) ∈ O(g(n))? | Existem constantes c > 0 e n₀ ≥ 0 tais que f(n) ≤ c·g(n) para todo n ≥ n₀. |
basic |
Qual é a diferença entre O, Ω e Θ? | Indicam limites assintóticos superior, inferior e justo, respectivamente. Descrevem uma função de custo especificada; O não significa, por si só, pior caso. |
basic |
O que a busca binária exige e quando leva O(log n)? | Ela divide repetidamente o intervalo de busca ao meio em dados ordenados segundo o critério de comparação. Em um vetor com acesso por índice O(1) e comparações de tempo constante, buscar entre n elementos custa O(log n). |
basic |
Como funciona a ordenação por inserção e de que depende seu custo em dados quase ordenados? | Ela insere cada item em um prefixo ordenado. A versão usual com deslocamentos ou trocas adjacentes leva Θ(n+I), sendo I o número de inversões. É linear quando I=O(n); uma entrada pequena não muda o pior caso Θ(n²). |
intermediate |
Como processo e thread diferem em um sistema operacional típico? | Um processo reúne recursos e proteção com seu próprio espaço de endereçamento virtual. Suas threads compartilham esse espaço e recursos como arquivos abertos, mas cada uma tem estado de execução próprio: registradores, contador de programa e pilha. Processos distintos podem compartilhar memória explicitamente. |
intermediate |
Que estado é salvo e restaurado numa troca de contexto da CPU? | O sistema preserva o estado da tarefa que sai, como registradores, contador de programa e ponteiro de pilha, e restaura o da tarefa que entra. O estado do espaço de endereçamento muda quando necessário; trocar threads do mesmo processo não exige mudar a raiz da tabela de páginas. Os detalhes dependem da arquitetura e implementação. |
intermediate |
Quais etapas são comuns em um compilador? | A análise léxica produz tokens; a sintática constrói uma árvore; a semântica verifica nomes e tipos. Seguem-se a transformação em representação intermediária, a otimização e a geração do código-alvo. Implementações podem combinar ou omitir etapas. |
intermediate |
Como compilação e interpretação diferem? | Compilar traduz um programa para outra representação; interpretar executa uma representação, como AST ou bytecode. Uma implementação pode combinar ambas, e a compilação não precisa ocorrer antes da execução. |
advanced |
Quais restrições definem REST além das URLs de recursos e dos nomes de métodos HTTP? | Separação cliente–servidor, requisições sem estado, restrições de cache, interface uniforme e sistema em camadas; código sob demanda é opcional. A interface uniforme identifica recursos, manipula-os por representações, usa mensagens autodescritivas e hipermídia para orientar o estado da aplicação. REST não é apenas CRUD sobre HTTP. |
advanced |
Quais métodos HTTP padrão são idempotentes e o que isso garante? | GET, HEAD, OPTIONS, TRACE, PUT e DELETE são idempotentes por sua semântica: repetir uma requisição tem o mesmo efeito pretendido no servidor que executá-la uma vez. Respostas e registros auxiliares podem diferir. POST e PATCH não são inerentemente idempotentes, mas a aplicação pode tornar operações específicas seguras para repetição. |
advanced |
Qual é a diferença entre criptografia simétrica e criptografia de chave pública? | A criptografia simétrica, como AES ou ChaCha20, usa a mesma chave secreta para cifrar e decifrar. A criptografia de chave pública usa um par de chaves relacionadas, uma pública e outra privada; dependendo do esquema, permite cifragem, assinaturas digitais ou acordo de chaves. Essas operações não são intercambiáveis. |
advanced |
Em um handshake TLS 1.3 típico, autenticado por certificado e com Diffie–Hellman efêmero, como são verificados o servidor e as chaves de sessão? | O cliente valida o certificado e a identidade do servidor e verifica sua assinatura CertificateVerify sobre a transcrição das mensagens do handshake. Diffie–Hellman efêmero estabelece um segredo compartilhado do qual são derivadas as chaves de tráfego; as mensagens Finished autenticam a transcrição e confirmam as chaves derivadas. TLS 1.3 também aceita outros modos de handshake. |
4. Cronograma de Estudo de 8 Semanas
- Semanas 1–2: Base (
basic): Conclua os conjuntos Básicos (32 novos cartões/dia) e revise diariamente por 15–20 minutos. - Semanas 3–5: Consolidação (
intermediate): Adicione os conjuntos Intermediários (20 novos cartões/dia), respondendo em voz alta antes de virar o cartão. - Semanas 6–7: Domínio (
advanced): Avance para os conjuntos Avançados (15 novos cartões/dia) misturando tópicos para provas e concursos. - Semana 8: Revisão Final: Concentre-se na revisão dos cartões mais difíceis no flashcards.world até atingir 95% de acerto.
5. Erros Comuns de Estudo e Como Evitá-los
- Virar o cartão sem responder antes: Sempre formule a resposta antes de olhar o verso.
- Deixar para estudar na véspera: 20 minutos todos os dias garantem retenção duradoura.
- Ignorar os exemplos: Leia o contexto completo no verso de cada cartão.
6. Perguntas Frequentes (FAQ)
Quantos flashcards de Ciência da Computação devo estudar por dia?
Comece com 20 a 32 novos cartões por dia (1 conjunto) mais as revisões diárias.
Por qual nível começar no flashcards.world?
Inicie pelo nível Básico e avance para o Intermediário ao atingir 85% de acerto.
Explorar todos os conjuntos de Ciência da Computação no flashcards.world →