Foram encontradas 60 questões.
Uma equipe de desenvolvimento de software está adotando práticas de DevOps para melhorar a qualidade e a velocidade das entregas. Para isso, decidiram implementar um pipeline CI/CD, garantindo que todas as alterações de código sejam testadas e implantadas automaticamente. No fluxo definido, o pipeline segue as etapas:
1. O código é enviado para o repositório remoto, acionando o pipeline.
2. O código é analisado e testado por ferramentas automatizadas.
3. Se os testes passarem, um build é gerado e enviado para o ambiente de staging.
4. O código é revisado e validado antes de ser implantado em produção.
Provas
- ProgramaçãoPythonNumPy
- ProgramaçãoPythonPandas
- ProgramaçãoPythonScikit-learn (Sklearn)
- ProgramaçãoPythonTensorFlow/Keras
Um cientista de dados deseja analisar um conjunto de dados tabular, pré processá-lo e treinar um modelo de rede neural para prever valores contínuos. Ele utiliza Pandas para manipulação dos dados, Scikit-learn para normalização e TensorFlow/Keras para construir o modelo.
Considere o seguinte código em Python:
import pandas as pd
import numpy as np
from sklearn.preprocessing import MinMaxScaler
import tensorflow as tf
from tensorflow import keras
# 1. Carregar os dados
df = pd.DataFrame({
"feature1": [10, 20, 30, 40, 50],
"feature2": [5, 15, 25, 35, 45],
"target": [100, 200, 300, 400, 500]
})
# 2. Selecionar apenas as colunas de entrada (features)
X = df[["feature1", "feature2"]]
y = df["target"]
# 3. Normalizar os dados de entrada
scaler = MinMaxScaler()
X_scaled = scaler.fit_transform(X)
# 4. Criar um modelo de rede neural para regressão
modelo = keras.Sequential([
keras.Input(shape=(X_scaled.shape[1],)), # Definir a camada de entrada explicitamente
tf.keras.layers.Dense(16, activation='relu'),
tf.keras.layers.Dense(8, activation='relu'),
tf.keras.layers.Dense(1, activation='linear') # Saída contínua
])
# 5. Compilar e treinar o modelo
modelo.compile(optimizer='adam', loss='mse')
modelo.fit(X_scaled, y, epochs=10, batch_size=2, verbose=0)
Com base no código apresentado, assinale a alternativa correta sobre a execução e o comportamento desse modelo.
Provas
Considere o seguinte trecho de código em Python, que tem como objetivo processar um arquivo de texto contendo dados numéricos e realizar operações sobre tais valores:
def processar_arquivo(nome_arquivo):
with open(nome_arquivo, 'r') as arquivo:
dados = arquivo.readlines()
numeros = []
for linha in dados:
valor = linha.strip()
if valor.isdigit():
numeros.append(int(valor))
# Continuação do código
Garantindo que:
1. A média dos números lidos seja calculada e armazenada na variável media, mesmo que o arquivo esteja vazio.
2. Os números maiores que a média sejam gravados sempre em um novo arquivo chamado "saida.txt"
3. O código esteja protegido contra divisão por zero, de forma que a função tenha continuidade, mesmo que identificada a possibilidade de erro.
Assinale a alternativa que apresenta um código válido para continuar a função corretamente.
Provas
O versionamento de código é uma prática essencial no desenvolvimento de software, permitindo que múltiplos desenvolvedores colaborem de forma organizada, mantenham um histórico de alterações e revertam mudanças quando necessário. O Git, um dos sistemas de controle de versão mais populares, fornece uma série de comandos que auxiliam na gestão do código-fonte. Considere o seguinte conjunto de comandos executados em um repositório Git:
git init
git add main.py
git commit -m "Adiciona o arquivo principal"
git branch nova-feature
git checkout nova-feature
echo "print('Nova funcionalidade')" >> main.py
git add main.py
git commit -m "Adiciona nova funcionalidade"
git checkout main
git merge nova-feature
Com base nos comandos apresentados, assinale a alternativa correta.
Provas
Considere os dois trechos de código a seguir, ambos escritos na Linguagem R. O primeiro utiliza o pacote tidyverse, enquanto o segundo utiliza caret para o mesmo propósito.
Código 1 (tidyverse)
library(tidyverse)
set.seed(123)
dados <- tibble(
X1 = rnorm(100),
X2 = rnorm(100),
Y = sample(c("A", "B"), 100, replace = TRUE)
)
dados_treino <- dados %>% sample_frac(0.7)
dados_teste <- anti_join(dados, dados_treino)
Código 2 (carret)
library(caret)
set.seed(123)
dados <- data.frame(
X1 = rnorm(100),
X2 = rnorm(100),
Y = sample(c("A", "B"), 100, replace = TRUE)
)
indices <- createDataPartition(dados$Y, p = 0.7,
list = FALSE)
dados_treino <- dados[indices, ]
dados_teste <- dados[-indices, ]
Em relação aos códigos apresentados, assinale a alternativa correta.
Provas
Um desenvolvedor foi contratado para criar um sistema web para uma pequena startup que deseja lançar um MVP (Produto Mínimo Viável) de uma plataforma de cursos online.
O objetivo inicial é disponibilizar um catálogo de cursos, permitir o cadastro de usuários e oferecer um painel administrativo para gerenciar os conteúdos.
A startup tem poucos recursos e precisa lançar a plataforma rapidamente. O desenvolvedor deseja escolher um framework que permita crescer e escalar o projeto futuramente, caso o produto tenha sucesso.
Considerando o cenário descrito, assinale a alternativa que apresenta a melhor escolha para o desenvolvedor e sua justificativa.
Provas
Provas
Uma empresa está implementando uma estratégia de Business Intelligence (BI) para melhorar a análise de seus dados operacionais. Para isso, a equipe de dados precisa criar dashboards interativos e realizar análises avançadas usando Power BI e Tableau.
Durante o desenvolvimento dos relatórios, os analistas se depararam com os seguintes desafios:
• Precisam criar uma métrica personalizada para calcular a média ponderada de preços com base no volume de vendas.
• Desejam otimizar o tempo de carregamento ao lidar com milhões de registros armazenados em um banco de dados relacional.
• Precisam implementar um filtro dinâmico que permita ao usuário selecionar intervalos de datas personalizados sem afetar cálculos em outros gráficos.
Com base nos desafios acima, assinale a alternativa que apresenta as melhores soluções utilizando as funcionalidades nativas do Power BI e do Tableau.
Provas
Uma equipe de cientistas de dados está desenvolvendo um pipeline de ETL (Extract, Transform, Load) para processar grandes volumes de dados diariamente. Para isso, eles decidiram utilizar o Apache Airflow para orquestrar e monitorar o fluxo de trabalho, garantindo a execução das tarefas na ordem correta e com tolerância a falhas.
No Apache Airflow, os DAGs (Directed Acyclic Graphs) são a estrutura principal usada para definir os workflows. Dentro de uma DAG, as tarefas são organizadas e executadas de acordo com suas dependências.
Assinale a alternativa que melhor descreve o funcionamento de um DAG no Apache Airflow.
Provas
Uma rede de supermercados deseja entender os padrões de compra dos clientes para organizar melhor seus produtos e otimizar suas estratégias de vendas. Para isso, a equipe de análise de dados decidiu utilizar um algoritmo de descoberta de regras de associação para identificar itens, frequentemente, comprados juntos.
Assinale a alternativa que representa a métrica fundamental para avaliar a relevância de uma regra de associação.
Provas
Caderno Container