Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2024
Programação›Linguagens de programação
Código
ce185163
Banca
CESPE / CEBRASPE
Órgão
SEBRAE-NACIONAL
Ano
2024
Nível
Superior
Cargo
Analista Técnico II – Cientista de Dados
Um analista está trabalhando em um projeto sobre o desempenho de micro e pequenas empresas no Brasil. Os dados utilizados no projeto incluem informações como faturamento anual, número de empregados e distribuição geográfica por estado. O objetivo desse projeto é criar visualizações que facilitem a análise dessas informações e identifiquem tendências regionais e setoriais.Considerando a situação hipotética apresentada e o volume e a complexidade dos dados utilizados, assinale a opção em que é descrita a abordagem mais apropriada para a criação de visualizações eficientes e informativas, utilizando-se em R ou em Python.
Autilizar ou para criar gráfico de dispersão (scatter plot) que mostre a relação entre faturamento e número de empregados para todas as empresas em um único gráfico
Bgerar gráficos de barras empilhadas (stacked bar charts) com ou para mostrar a distribuição de empresas por estado, utilizando-se dados brutos diretamente carregados do banco de dados para R ou Python
Ccriar gráficos de linha (line charts) com ou para visualizar a evolução temporal do faturamento médio por setor, com dados já agregados e filtrados por setor e ano no banco de dados antes de carregá-los para R ou Python
Dcriar gráficos pizza (pie charts) com ou para representar a proporção de empresas por setor, após carregar todos os dados brutos do banco de dados para R ou Python
Revelar gabarito e comentário▾
GabaritoC — criar gráficos de linha (line charts) com [imagem] ou [imagem] para visualizar a evolução temporal do faturamento médio por setor, com dados já agregados e filtrados por setor e ano no banco de dados antes de carregá-los para R ou Python
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”.
Visualização de dados com R e Python
Gabarito: letra C. A abordagem mais apropriada para criar visualizações eficientes e informativas com grande volume de dados é agregar e filtrar os dados no banco de dados antes de carregá-los para a ferramenta de visualização, e então usar gráficos de linha para mostrar a evolução temporal do faturamento médio por setor. Isso reduz a quantidade de dados transferidos e processados, tornando a visualização mais rápida e clara.
O problema central aqui é o volume e a complexidade dos dados. Quando se trabalha com muitos dados brutos, carregá-los integralmente para R ou Python pode ser ineficiente, lento e até inviável. A boa prática em análise de dados é pré-processar e agregar os dados na fonte (banco de dados), enviando apenas o que é necessário para a visualização. Isso é conhecido como pushdown de processamento, onde operações como filtragem, agregação e ordenação são executadas no banco, e não na aplicação de visualização.
Além disso, a escolha do tipo de gráfico é crucial. Para mostrar a evolução temporal de uma métrica (como o faturamento médio), o gráfico de linhas é o mais adequado, pois permite visualizar tendências ao longo do tempo. Já o gráfico de dispersão é útil para mostrar a relação entre duas variáveis numéricas, mas com muitas empresas, um único gráfico ficaria poluído e ilegível. Gráficos de barras empilhadas são bons para comparar composições, mas não para tendências temporais. E gráficos de pizza são inadequados para comparar muitas categorias, pois a percepção de proporções é imprecisa.
Na prática, um analista que precisa visualizar a evolução do faturamento médio por setor ao longo dos anos deve executar uma consulta SQL que agrupe os dados por setor e ano, calculando a média do faturamento. O resultado dessa consulta, já agregado e com poucas linhas, é então carregado para R ou Python, onde um gráfico de linhas é gerado com facilidade e rapidez. Essa abordagem é eficiente porque minimiza o tráfego de dados e o esforço computacional, além de produzir uma visualização mais limpa e informativa.
A pegadinha desta questão está em confundir a ferramenta de visualização com a fonte de dados. As alternativas A, B e D sugerem carregar todos os dados brutos para R ou Python, o que é ineficiente. A alternativa C, por outro lado, propõe uma abordagem mais inteligente: processar os dados no banco antes de visualizá-los. É essa a chave para responder corretamente.
1Agregar/filtrar no banco
2Carregar dados reduzidos
3Gerar gráfico de linhas
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Criar um gráfico de dispersão com todas as empresas em um único gráfico resultaria em um overplotting severo, onde os pontos se sobrepõem e a visualização se torna ilegível. Além disso, carregar todos os dados brutos para R ou Python é ineficiente. A alternativa ignora o volume de dados e a necessidade de agregação.
Alternativa B — ❌ Incorreta
Embora gráficos de barras empilhadas possam mostrar a distribuição por estado, a alternativa sugere usar dados brutos diretamente carregados do banco de dados, o que é ineficiente para grandes volumes. Além disso, barras empilhadas não são a melhor escolha para visualizar a distribuição geográfica, pois a comparação entre estados fica difícil. A abordagem correta seria agregar os dados por estado antes de carregá-los.
Alternativa C — ✅ Correta ⟵ GABARITO
Esta alternativa descreve a abordagem mais apropriada: agregar e filtrar os dados no banco de dados antes de carregá-los para R ou Python, e usar gráficos de linha para visualizar a evolução temporal do faturamento médio por setor. Isso é eficiente porque reduz a quantidade de dados processados e transferidos, e o gráfico de linhas é ideal para mostrar tendências ao longo do tempo. A alternativa aborda corretamente o volume e a complexidade dos dados.
Alternativa D — ❌ Incorreta
Gráficos de pizza são inadequados para representar a proporção de empresas por setor, especialmente com muitos setores, pois a comparação de ângulos e áreas é imprecisa. Além disso, carregar todos os dados brutos do banco de dados para R ou Python é ineficiente. A alternativa ignora a necessidade de agregação e a limitação dos gráficos de pizza.