Pular para o conteúdo principal

Questão de Programação — PHP — Quadrix 2025

ProgramaçãoPHP
Código
qg595098
Banca
Quadrix
Órgão
CFO
Ano
2025
Nível
Médio
Cargo
Técnico em Tecnologia da Informação
As linguagens de programação são responsáveis por tirar do papel os algoritmos criados pelo programador e por transformá‑los em programas para serem executados pelos computadores modernos. Considerando essa informação, julgue o item seguinte.Em PHP, o controle de dados e administração de memória é feito automaticamente, mas o programador não tem como otimizar o uso de memória de forma manual ou por meio de técnicas de gerenciamento.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Gerenciamento de memória em PHP

Gabarito: letra E (ERRADO). A afirmação está incorreta porque, embora o PHP gerencie memória automaticamente por meio do coletor de lixo (garbage collector), o programador pode otimizar o uso de memória manualmente, utilizando funções como unset(), memory_get_usage() e gc_collect_cycles(), além de técnicas como liberar referências e evitar variáveis desnecessárias. O erro está na segunda parte da frase, que nega essa possibilidade.

O gerenciamento de memória em linguagens de programação pode ser feito de duas formas principais: manual, como em C, onde o programador aloca e libera memória explicitamente com funções como malloc() e free(); e automático, como em PHP, Java e Python, onde o ambiente de execução cuida da alocação e liberação de memória. No PHP, o mecanismo responsável por isso é o coletor de lixo (garbage collector), que identifica e libera memória que não está mais em uso, evitando vazamentos de memória.

No entanto, dizer que o programador "não tem como otimizar o uso de memória de forma manual" é falso. O PHP oferece diversas ferramentas para que o desenvolvedor gerencie a memória de forma mais eficiente. Por exemplo, a função unset() permite liberar uma variável específica da memória, enquanto memory_get_usage() permite monitorar o consumo de memória em tempo real. Além disso, o PHP possui funções como gc_collect_cycles() que forçam a coleta de ciclos de referência, e memory_limit que define o limite máximo de memória que um script pode utilizar.

Na prática, um programador pode otimizar a memória em PHP de várias maneiras: liberando variáveis grandes após o uso, evitando criar cópias desnecessárias de arrays, usando referências quando apropriado, e processando dados em lotes em vez de carregar tudo de uma vez. Essas técnicas são amplamente utilizadas em aplicações web de grande porte para melhorar o desempenho e evitar estouros de memória.

A pegadinha desta questão está na palavra "não tem como". A banca tenta fazer o candidato acreditar que, por ser uma linguagem com gerenciamento automático, o programador não tem controle algum sobre a memória. Isso é um equívoco comum, mas a verdade é que o gerenciamento automático não exclui a possibilidade de otimização manual. O programador pode e deve otimizar o uso de memória, especialmente em aplicações que lidam com grandes volumes de dados.

NÃO CAIA NESSA!

A banca explora a confusão entre "gerenciamento automático" e "impossibilidade de otimização manual". O PHP gerencia memória automaticamente, mas isso não impede o programador de usar técnicas como unset(), memory_get_usage() e gc_collect_cycles() para otimizar o consumo. Lembre-se: gerenciamento automático ≠ sem controle manual.

Gerenciamento de memória em PHP
  • 1Automático
    • Coletor de lixo (garbage collector)
    • Alocação e liberação pelo ambiente
  • 2Manual (programador pode otimizar)
    • unset()
    • memory_get_usage()
    • gc_collect_cycles()
    • Técnicas
      • Liberar variáveis grandes
      • Evitar cópias desnecessárias
      • Usar referências
      • Processar em lotes
LEVEL · soulevel.com.br

Alternativa C — ❌ Incorreta

A alternativa C afirma que o item está Certo, ou seja, que o programador não tem como otimizar o uso de memória manualmente. Isso é falso. O PHP oferece funções como unset(), memory_get_usage(), memory_get_peak_usage() e gc_collect_cycles() que permitem ao programador gerenciar e otimizar a memória. Além disso, técnicas como liberar variáveis grandes, usar referências e processar dados em lotes são formas de otimização manual. Portanto, a alternativa C está incorreta.

Alternativa E — ✅ Correta ⟵ GABARITO

A alternativa E afirma que o item está Errado, o que é correto. A afirmação do enunciado é falsa porque, embora o PHP tenha gerenciamento automático de memória, o programador pode otimizar o uso de memória manualmente. As funções unset(), memory_get_usage() e gc_collect_cycles() são exemplos de ferramentas que permitem esse controle. Portanto, a alternativa E é a correta.

Gabarito: letra E

Link permanente: /questoes/qg595098