Buscar

Questões CESGRANRIO Banco do Brasil - 2022

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 192 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 192 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 192 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

DICAS E AGENDA!
@canetas.pretas
@canetaspretas
@lacerdaphjobs
AGORA EM ÁUDIO TBM!
SEU LUGAR É AQUI!!!
@canetas.pretas
TECNOLOGIA DA INFORMAÇÃO
https://www.instagram.com/p/B74PyOzj5V3/
https://www.estrategiaconcursos.com.br/blog/prazer-um-eterno-estudante/
Prof. Raphael Lacerda
 
 
 
 
 
 
 
 
 
QUESTÕES
Prof. Raphael Lacerda
@canetas.pretas
CIÊNCIA DE DADOS
http://instagram.com/estrategiaconcursosti
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Ao tentar resolver um problema de aprendizado de máquina que 
separava um evento entre duas classes, um desenvolve- dor 
encontrou uma acurácia de exatamente 90%.
Analisando a matriz de confusão, o desenvolvedor constatou que 
os verdadeiros positivos eram 14169, que os verdadeiros 
negativos eram 15360, os falsos positivos eram 1501, e os falsos 
negativos eram
(A) 1778 (B) 1779 (C) 1780 (D) 1781 (E) 1782
Tarefas
Prof. Raphael Lacerda
Prof. Raphael Lacerda
https://www.youtube.com/watch?v=E-gpSQQe3w8
Muthu Alagappan at 
TEDxSpokane
Prof. Raphael Lacerda
Classificação
https://www.youtube.com/watch?v=E-gpSQQe3w8
https://bolapresa.com.br/as-13
-posicoes-do-basquete/
https://bolapresa.com.br/as-13-posicoes-do-basquete/
https://bolapresa.com.br/as-13-posicoes-do-basquete/
Prof. Raphael Lacerda
Associação
Prof. Raphael Lacerda
Agrupamento
Prof. Raphael Lacerda
Anomalias
Prof. Raphael Lacerda
Mais anomalias
Prof. Raphael Lacerda
MACHINE LEARNING
Prof. Raphael Lacerda
MACHINE LEARNING
What's the difference between machine 
learning and deep learning? - YouTube
http://www.youtube.com/watch?v=Acl3SZbyNHo
https://www.youtube.com/watch?v=Acl3SZbyNHo&feature=emb_logo
https://www.youtube.com/watch?v=Acl3SZbyNHo&feature=emb_logo
Qual seria a saída?
Etapas
Acurácia
Velocidade
Robustez
Escalabilidade
Training
Training
 
 
 
 
 
 
 
 
 
Matriz de Confusão
 
 
 
 
 
 
 
 
 
Como montar uma?
 
 
 
 
 
 
 
 
 
FGV/CGU/2022
Considere uma matriz de confusão de um modelo de classificação binária de 
relatórios financeiros. O modelo classifica os relatórios em fraudulentos ou não 
fraudulentos. Se essa matriz apresenta 200 verdadeiros positivos, 100 verdadeiros 
negativos, 40 erros do “tipo 1” e 20 erros do “tipo 2”, podem-se calcular as métricas 
de desempenho aproximadas como:
A Precision = 0.71. Recall = 0.83;
B Precision = 0.83. Recall = 0.71;
C Precision = 0.83. Recall = 0.90; 
D Precision = 0.90. Recall = 0.71;
E Precision = 0.90. Recall = 0.83.
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Um pesquisador conseguiu uma base de dados que mostrava terrenos classificados de acordo com:
• características físicas;
• tipo de negócio a ser nele implantado;
• risco esperado, que compreendia os rótulos alto, médio, baixo ou nenhum.
Decidiu, então, usar um algoritmo de aprendizado de máquina que, a partir das características físicas do 
terreno e do tipo de negócio a ser nele implantado, aprenderia a determinar o risco esperado, 
enquadrando o terreno em questão em um daqueles rótulos.
Nesse cenário, que algoritmo de aprendizado de máquina é indicado para resolver esse problema?
(A) PCA (B) K-NN (C) DBSCAN (D) K-Medoids (E) Redes de Kohonen
CLASSIFICAÇÃO
Prof. Raphael Lacerda
Vários
7 Types of Classification Algorithms 
(analyticsindiamag.com)
https://analyticsindiamag.com/7-types-classification-algorithms/
https://analyticsindiamag.com/7-types-classification-algorithms/
Prof. Raphael Lacerda
k-Nearest-Neighbors (k-NN)
● Classificador não parámetrico
● Necessário definir o valor de número de vizinhos mais próximos
○ tentativa e erro
● comparativo entre um registro de teste e treinamento que são 
similares
● Lazy Learning
Building a k-Nearest-Neighbors (k-NN) Model 
with Scikit-learn | by Eijaz Allibhai | Towards 
Data Science
https://towardsdatascience.com/building-a-k-nearest-neighbors-k-nn-model-with-scikit-learn-51209555453a
https://towardsdatascience.com/building-a-k-nearest-neighbors-k-nn-model-with-scikit-learn-51209555453a
https://towardsdatascience.com/building-a-k-nearest-neighbors-k-nn-model-with-scikit-learn-51209555453a
Prof. Raphael Lacerda
Exemplo
Introduction to Classification Using K Nearest 
Neighbours | by Ashwin Raj | Towards Data 
Science
https://towardsdatascience.com/getting-acquainted-with-k-nearest-neighbors-ba0a9ecf354f
https://towardsdatascience.com/getting-acquainted-with-k-nearest-neighbors-ba0a9ecf354f
https://towardsdatascience.com/getting-acquainted-with-k-nearest-neighbors-ba0a9ecf354f
Prof. Raphael Lacerda
Árvore de decisão
● nó interno corresponde a um teste de um atributo
○ cada ramo representa um resultado do teste
■ nós folha representam classes
● Estratificação de dados
● dados precisam ser discretizados
● Entropia como medida de aleatoriedade
○ mede o grau de incerteza 
associado aos dados
● Como funciona?
○ Seleciona o atributo
■ homogeneidade
○ Divide (branches)
Prof. Raphael Lacerda
ID.3
● Iterative Dichotomiser 3
● o ID3 utiliza somente atributos categóricos.
● Começa com um nó raiz e a cada iteração, percorre os atributos e 
calcula o nível de entropia para eles
● Cada elemento no subset pertence à mesma classe
A comparative study of decision tree ID3 and 
C4.5 (thesai.org)
https://thesai.org/Downloads/SpecialIssueNo10/Paper_3-A_comparative_study_of_decision_tree_ID3_and_C4.5.pdf
https://thesai.org/Downloads/SpecialIssueNo10/Paper_3-A_comparative_study_of_decision_tree_ID3_and_C4.5.pdf
Prof. Raphael Lacerda
C4.5
● O algoritmo C4.5 é um sucessor do algoritmo ID3 e utiliza tanto 
atributos numéricos quanto categóricos.
● Converte uma árvore treinada em um conjunto de IF-THEN rules
○ Informação particionada
● Referenciador como classificador estatístico
● Usa o índice GAIN RATIO
What is the C4.5 algorithm and how does it 
work? | by Sumit Saha | Towards Data 
Science
Information Gain, Gini Index, Entropy and 
Gain Ratio in Decision Trees| Analytics Steps
https://towardsdatascience.com/what-is-the-c4-5-algorithm-and-how-does-it-work-2b971a9e7db0
https://towardsdatascience.com/what-is-the-c4-5-algorithm-and-how-does-it-work-2b971a9e7db0
https://towardsdatascience.com/what-is-the-c4-5-algorithm-and-how-does-it-work-2b971a9e7db0
https://www.analyticssteps.com/blogs/what-gini-index-and-information-gain-decision-trees
https://www.analyticssteps.com/blogs/what-gini-index-and-information-gain-decision-trees
Prof. Raphael Lacerda
CART
● Classification and Regression TRee
● Análogo ao C4.5, mas diferente dele, suporta target's numéricos 
para serem aplicados na regressão
● Não processa regras
● Usa o índice GINI
Information Gain, Gini Index, Entropy and 
Gain Ratio in Decision Trees| Analytics Steps
https://www.analyticssteps.com/blogs/what-gini-index-and-information-gain-decision-trees
https://www.analyticssteps.com/blogs/what-gini-index-and-information-gain-decision-trees
Prof. Raphael Lacerda
FEATURES ID.3 C4.5 CART
Tipo de dados Categóricos Categóricos e contínuos Contínuos, nominal
Velocidade Lento mais rápido que o Id.3 Mediano
Incompletude Não lida marca ? para dados faltantes Pode lidar
Fórmula Usa entropia da informação Informação particionada índice GINI diversity 
Comparação
Survey of the Decision Trees Algorithms 
(CART, C4.5, ID3) | by Aydin Abedinia | 
Medium
A comparative study of decision tree ID3 and 
C4.5 (thesai.org)
https://medium.com/@abedinia.aydin/survey-of-the-decision-trees-algorithms-cart-c4-5-id3-97df842831cd
https://medium.com/@abedinia.aydin/survey-of-the-decision-trees-algorithms-cart-c4-5-id3-97df842831cd
https://medium.com/@abedinia.aydin/survey-of-the-decision-trees-algorithms-cart-c4-5-id3-97df842831cd
https://thesai.org/Downloads/SpecialIssueNo10/Paper_3-A_comparative_study_of_decision_tree_ID3_and_C4.5.pdf
https://thesai.org/Downloads/SpecialIssueNo10/Paper_3-A_comparative_study_of_decision_tree_ID3_and_C4.5.pdf
Prof. Raphael Lacerda
Random Forest
● Um grande número de árvores que operam em 
conjunto
○ a combinação de diferentes modelos para 
se obter umúnico resultado.
● "wisdom of crowds"
○ Um erro de uma árvore não afeta a outra
● Bootstrap Aggregation - BAGGING
○ árvore é sensível aos dados de treino, logo 
cada árvore randomicamente escolhe 
dados do dataset
● Feature Randomness
● Resultado final é a média das respostas Understanding Random Forest. How the Algorithm Works and Why it Is… | by Tony 
Yiu | Towards Data Science
O que são Métodos Ensemble e como eles 
funcionam? (didatica.tech)
https://towardsdatascience.com/understanding-random-forest-58381e0602d2
https://towardsdatascience.com/understanding-random-forest-58381e0602d2
https://towardsdatascience.com/understanding-random-forest-58381e0602d2
https://didatica.tech/metodos-ensemble/
https://didatica.tech/metodos-ensemble/
Prof. Raphael Lacerda
Naïve Bayes
● Classificador probabilístico
● predizer a probabilidade de pertinência de um objeto a 
determinada classe
● alta perfomance e precisão quando dataset é grande ou pequeno
● assumem que o efeito do valor de um atributo em uma dada 
classe é INDEPENDENTE dos valores dos outros atributos.
○ Independência CONDICIONAL
da classe
All about Naive Bayes. A simple yet in depth 
experience of… | by Gaurav Chauhan | 
Towards Data Science
https://towardsdatascience.com/all-about-naive-bayes-8e13cef044cf
https://towardsdatascience.com/all-about-naive-bayes-8e13cef044cf
https://towardsdatascience.com/all-about-naive-bayes-8e13cef044cf
Prof. Raphael Lacerda
Regressão Logística
● determinar a probabilidade de um evento acontecer
● Permite transformar um número contínuo em uma categoria
● Função Sigmóide
Introduction to Logistic Regression | by 
Ayush Pant | Towards Data Science
https://towardsdatascience.com/introduction-to-logistic-regression-66248243c148
https://towardsdatascience.com/introduction-to-logistic-regression-66248243c148
Prof. Raphael Lacerda
Classificação & Regressão
Qual é a altura 
desses 
jogadores?
Prof. Raphael Lacerda
Classificação & Regressão
Prof. Raphael Lacerda
Fica mais fácil…
Prof. Raphael Lacerda
Classificação & Regressão
Vou passar
em 
concurso?
Prof. Raphael Lacerda
Prof. Raphael Lacerda
Bem melhor né?
 
 
 
 
 
 
 
 
 
O algoritmo KNN (K-nearest neighbors ou k-vizinhos mais 
próximos) se insere na categoria de
aprendizado por reforço.
aprendizado não supervisionado.
aprendizado supervisionado.
redução de dimensionalidade.
modelo paramétrico.
FGV/SEFAZ-AM/2022
 
 
 
 
 
 
 
 
 
Cespe/SEFAZ-AL/2021
O método k-NN (k-nearest neighbors) é um dos classificadores 
não paramétricos baseados em distância.
@canetas.pretas
BANCO DE DADOS
http://instagram.com/estrategiaconcursosti
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Ao construir um protótipo que calculava o risco sanitário de um terreno, um desenvolvedor principiante começou a dese- nhar um modelo 
relacional, o que o levou a propor as seguintes tabelas (onde o sublinhado representa a chave primária):
Terreno(rua,numero,tipoTerreno,CNPJ,nomeEmpresa,codigoRisco,nomeRisco,probabilidadeRisco)
Empresa(CNPJ,nomeEmpresa,CPFs,nomePessoas)
Ao revisar o trabalho, um segundo desenvolvedor, mais experiente, detectou as seguintes propriedades:
1. codigoRisco→nomeRisco
2. CNPJ → nomeEmpresa
3. CPF → nomePessoa
4. {rua,numero} → CNPJ
5. Uma empresa possui vários donos, cada um com um CPF único, e um dono pode possuir várias empresas
6. Um terreno pode possuir vários riscos
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Esse segundo desenvolvedor decidiu, então, colocar as tabelas na 
terceira forma normal, usando o número mínimo de tabelas.
O esquema que possui as seis propriedades detectadas pelo 
segundo desenvolvedor e que representa todas as informa- ções 
desejadas pelo primeiro desenvolvedor é
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
(A) Terreno(rua,numero,tipoTerreno,CNPJ) Empresa(CNPJ,nomeEmpresa)
Dono(CNPJ,CPF) Risco(rua,nome,codigoRisco,probabilidadeRisco) TipoRisco(codigoRisco,nomeRisco) PessoaFisica(CPF,nome)
(B) Terreno(rua,numero,tipoTerreno,CNPJ,codigoRisco,probabilidadeRisco) Empresa(CNPJ,nomeEmpresa)
Dono(CNPJ,CPF)
TipoRisco(codigoRisco,nomeRisco)
 PessoaFisica(CPF,nome)
(C) Terreno(rua,numero,tipoTerreno,CNPJ) Empresa(CNPJ,nomeEmpresa) Risco(rua,nome,codigoRisco,probabilidadeRisco) 
TipoRisco(codigoRisco,nomeRisco) PessoaFisica(CPF,nome,CNPJ)
(D) Terreno(rua,numero,tipoTerreno,CNPJ,nomeEmpresa,codigoRisco,nomeRisco,probabilidadeRisco) 
Empresa(CNPJ,CPF,nomeEmpresa,nomePessoa)
(E) Terreno(rua,numero,tipoTerreno,CNPJ,nomeEmpresa,codigoRisco,probabilidadeRisco) Risco(codigoRisco,nomeRisco)
Empresa(CNPJ,CPF,nomeEmpresa,nomePessoa)
Prof. Raphael Lacerda
1 forma 2 forma 3 forma
● valores 
atômicos
● sem atributos 
multivalorados
● não há 
dependência 
parcial
● não pode 
depender de 
parte da 
chave 
primária
● não há 
dependência 
transitiva
● deve 
depender 
única e 
exclusivamen
te da chave 
primária
Prof. Raphael Lacerda
Resumex!
Prof. Raphael Lacerda
e como ficaria a tabela?
https://www.luis.blog.br/segunda-forma-normal-2fn-normalizacao-de-dados.html
https://www.luis.blog.br/segunda-forma-normal-2fn-normalizacao-de-dados.html
Prof. Raphael Lacerda
BCNF
Todo determinante é 
chave candidata
FGV
 
 
 
 
 
 
 
 
 
Desenhando…
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Para gerar um gráfico de dispersão, um programador precisava consultar duas tabelas, T1 e T2. Ele decidiu, então, usar um LEFT JOIN, 
como em
SELECT * FROM T1 LEFT JOIN T2 USING (CHAVE);
Essa consulta resultou em 214 linhas.
Por motivos de segurança, ele fez outra consulta semelhante, apenas trocando o LEFT JOIN por um JOIN, e essa segunda consulta resultou 
em 190 linhas.
O que pode explicar corretamente a quantidade diferente de linhas nas consultas realizadas?
(A) CHAVE é a chave primária de T1, mas apenas um campo da chave primária de T2.
(B) CHAVE é a chave primária de T2, mas apenas um campo da chave primária de T1.
(C) T1 possui linhas cujo valor de CHAVE não está presente na T2.
(D) T2 possui linhas cujo valor de CHAVE não está presente na T1.
(E) T2 possui linhas com todas as chaves presentes em T1, mas com campos nulos.
Prof. Raphael Lacerda
SQL
Prof. Raphael Lacerda
é um patrimônio
TCE-RJ - Análise Informações
Prof. Raphael Lacerda
Operadores no WHERE
= | <> igualdade diferente
> | >= maior que maior igual
< | <= menor que menor igual
>= maior igual
BETWEEN entre datas por exemplos
LIKE padrão de pesquisa
IN múltiplos possíveis valores
SQL
Prof. Raphael Lacerda
Like
a% começa com a
%a termina com a
%a% tem a em qualquer lugar
_a% a na posição 2
a__% começa com a e tem no mínimo 3 posições
Prof. Raphael Lacerda
várias funções
https://pt.wikibooks.org/wiki/SQL/Funções_de_agrega
ção
https://pt.wikibooks.org/wiki/SQL/Fun%C3%A7%C3%B5es_de_agrega%C3%A7%C3%A3o
https://pt.wikibooks.org/wiki/SQL/Fun%C3%A7%C3%B5es_de_agrega%C3%A7%C3%A3o
Prof. Raphael Lacerda
Em TI
precisamos
saber
as diferenças
desses
joins!
Prof. Raphael Lacerda
é um patrimônio
Prof. Raphael Lacerda
exists
● Testar a existência de um registro em uma SubQuery
● Retorna TRUE se a subquery retorna um ou mais elementos
● Not Exists - retorna todas as linhas que não satisfazem a cláusula 
do EXISTS
https://www.w3schools.com/sql/sql
_exists.asp
Prof. Raphael Lacerda
Exemplos
● Listar fornecedores com produtos cujo preço é menor que 20
○ SELECT SupplierName FROM Suppliers WHERE EXISTS 
(SELECT ProductName FROM Products WHERE 
Products.SupplierID = Suppliers.supplierID AND Price < 20);
https://www.w3schools.com/sql/sql
_exists.asp
https://www.w3schools.com/sql/trys
ql.asp?filename=trysql_select_exist
s
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Ao coletar dados em um sistema compatível com SQL 2008 para fazer uma análise de dados, um 
programador percebeu que havia dois campos, data_de_nascimento e data_de_emissão_RG, em que o 
valor de data_de_emissão_RG sempre deve ser mais recente que data_de_nascimento.Percebeu, porém, 
que em 10% das linhas acontecia o inverso, isto é, data_de_nascimento era mais recente que 
data_de_emissão_RG. Ele corrigiu os dados nessas linhas, verificando que estavam consistentemente 
trocados, mas, preocupado que tal problema voltasse a acontecer, resolveu solicitar ao DBA uma alteração 
da tabela, de forma que data_de_emissão_RG sempre tivesse que ser mais recente que 
data_de_nascimento.
O DBA atendeu adequadamente a esse pedido do programador por meio de uma restrição em SQL 2008 
do tipo
(A) CHECK (B) INSPECT (C) TEST
(D) VALIDATE (E) VERIFY
SQL CHECK Constraint (w3schools.com)
https://www.w3schools.com/sql/sql_check.asp
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Após um treinamento em SQL padrão 2008, compatível com ambiente MS SQL Server 2008, um escriturá- 
rio do Banco Z precisou utilizar os conhecimentos adquiridos para criar uma tabela no sistema de banco de 
dados desse Banco. A tabela a ser criada é de fornecedores, e tem os seguintes campos: CNPJ, nome do 
fornecedor e país de origem. As características gerais da tabela são:
. o campo CNPJ é chave primária e contém 14 caracteres, sendo que os caracteres devem se ater aos 
numéricos [“0” a “9”], e o caractere zero “0” não pode ser ignorado, seja qual for a posição dele (início, 
meio ou fim da chave);
. o campo NOME contém 20 caracteres e aceita valor nulo;
. o campo PAIS contém 15 caracteres e não aceita valor nulo.
Nesse contexto, o comando SQL2008 que cria uma tabela com as características descritas acima é
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
(A) CREATE TABLE Fornecedores (CNPJ INTEGER PRIMARY KEY, NOME VARCHAR(20) ACCEPT NULL, 
PAIS VARCHAR(15) NOT NULL)
(B) CREATE TABLE Fornecedores (CNPJ CHAR(14) PRIMARY KEY, NOME VARCHAR(20),
PAIS VARCHAR(15) NOT NULL)
(C) CREATE TABLE Fornecedores (CNPJ CHAR(14) NOT NULL, NOME VARCHAR(20) NOT NULL, PAIS 
VARCHAR(15))
(D) CREATE TABLE Fornecedores (CNPJ CHAR(14),
NOME VARCHAR(20) NOT NULL, PAIS VARCHAR(15) NOT NULL), PRIMARY KEY (CNPJ)
(E) CREATE TABLE Fornecedores (CNPJ INTEGER(14) NOT NULL, NOME VARCHAR(20),
PAIS VARCHAR(15) NOT NULL), PRIMARY KEY (CNPJ)
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Para que fosse mais fácil entender um sistema em desenvolvimento, um desenvolvedor usou um modelo de dados rela- cional (protótipo) mais simples do que o do 
banco de dados do sistema corporativo original, sendo que ambos utilizavam o mesmo SGDB PostgreSQL. Cabe ressaltar que esse protótipo utilizava apenas um 
subconjunto dos dados do sistema corporativo original e realizava apenas consultas.
Uma forma de garantir que os dados desse protótipo estejam sempre completamente atualizados em relação aos dados reais, com baixo impacto tanto na operação 
quanto no desempenho do sistema corporativo original, é
(A) criar apenas VIEWS no protótipo, definidas com consultas sobre as tabelas do sistema corporativo original.
(B) implantar TRIGGERS a cada INSERT, em todas as tabelas do sistema corporativo original, atualizando as tabelas do
protótipo.
(C) implantar TRIGGERS de atualização a cada SELECT, em todas as tabelas do protótipo.
(D) particionar as tabelas da base do sistema corporativo original escolhendo um RANGE adequado ao trabalho do pro-
tótipo.
(E) utilizar DUMP da base do sistema corporativo original e PSQL para a base do protótipo, a cada seção de trabalho, para
atualizar a base do protótipo.
PostgreSQL Materialized Views (Explained 
with Examples) (devart.com)
https://blog.devart.com/postgresql-materialized-views.html#:~:text=A%20materialized%20View%20is%20not,BI%20applications%20and%20data%20warehouses.
https://blog.devart.com/postgresql-materialized-views.html#:~:text=A%20materialized%20View%20is%20not,BI%20applications%20and%20data%20warehouses.
@canetas.pretas
DW
http://instagram.com/estrategiaconcursosti
 
 
 
 
 
 
 
 
 
Ao desenvolver um Data Warehouse para o Banco W, um programador decidiu criar um modelo conceitual com base no modelo estrela para cada fato analisado. Ao 
criar a primeira tabela fato, relativa ao valor e ao prazo de empréstimos, foram identificadas as seguintes dimensões, com os seus atributos descritos em parênteses: 
tempo (dia, mês e ano), agência (estado, cidade, bairro e número da agência), produto (nome do produto e juros do produto) e cliente (conta e nome do cliente).
Segundo as regras e as práticas da modelagem dimensional, e usando a granularidade mais baixa, que atributos devem constar da tabela fato?
(A)fato_id, dia, mes, ano, estado, cidade, bairro, numero_agencia, nome_produto, juros_mensais_produto, conta_cliente, nome_cliente, valor_emprestimo, 
prazo_emprestimo
(B) fato_id, emprestimo_id, valor_emprestimo, prazo_emprestimo
(C) fato_id, tempo_id, agencia_id, produto_id, cliente_id, emprestimo_id
(D)fato_id, tempo_id, agencia_id, produto_id, cliente_id, dia, mes, ano, estado,
cidade, bairro, numero_agencia, nome_produto, juros_mensais_produto, conta_cliente,
nome_cliente, valor_emprestimo, prazo_emprestimo
(E)fato_id, tempo_id, agencia_id, produto_id, cliente_id, valor_emprestimo,
 prazo_emprestimo
CESGRANRIO/BB/2021
Prof. Raphael Lacerda
organizados, 
limpos,
preenchidos, 
otimizados,
compliance, 
padronizados
Recuperar
Prof. Raphael Lacerda
ETL
ETL - 
● EXTRACT
● TRANSFORM
● LOAD
Prof. Raphael Lacerda
ELT
https://www.astera.com/pt/type/blog/etl-vs-e
lt-whats-the-difference/
Prof. Raphael Lacerda
ELT
● processo mais ágil para o 
carregamento e o 
processamento de dados
● reduz consideravelmente o 
tempo de carregamento de 
dados
● engenheiros de dados focam 
apenas nas etapas de extração e 
carregamento
● responsabilidade da 
transformação de dados fica nas 
mãos de profissionais próximos à 
empresa
● Dados brutos
TCE-RJ Análise de Informações
Prof. Raphael Lacerda
Modelando
TCE-RJ Análise de Informações
Prof. Raphael Lacerda
Modelando
operações
Prof. Raphael Lacerda
Uma empresa precisa implementar um sistema Big Data para controlar a movimentação dos 
produtos que a empresa oferece. Esse sistema precisa estar com a configuração de dados 
como sendo um fato, que seria um evento de ocorrên- cia, como, por exemplo: as compras 
de um determinado insumo, em um determinado fornecedor e em um determinado instante.
Para tal finalidade, esse sistema a ser implementado deverá estar organizado segundo a 
configuração de
(A) Cubo de dados
(B) Tuplas estáticas
(C) Matriz de ocorrência
(D) Documentos lineares
(E) Subconjunto de atributos
Prof. Raphael Lacerda
Cesgranrio/BB/2021
Prof. Raphael Lacerda
SEFAZ-BA/2019
A modelagem multidimensional proposta
A tem como característica um fato central, a partir do qual estão 
dispostas as dimensões que dele participam, em um formato 
simétrico, característico do modelo star.
B é o resultado da decomposição de mais de uma dimensão que 
possui hierarquias entre seus membros, caracterizando o modelo 
snowflake, a partir de um fato central.
Prof. Raphael Lacerda
SEFAZ-BA/2019
Prof. Raphael Lacerda
SEFAZ-BA/2019
C não é um modelo normalizado, por isso evita a redundância de 
valores textuais em cada uma das tabelas, representadas pelas 
dimensões denominadas dimension tables.
D possui um fato central, a partir do qual estão dispostas as 
dimensões que dele participam e seus membros, sob uma única 
estrutura hierárquica, facilitando a inclusão de dados por digitação 
nas tabelas do DW.
E parte de um elemento central, denominado pivot, a partir do qual 
são realizadas operações OLAP como roll up, em que busca-se 
aumentar o nível de detalhe ou diminuir a granularidade da consulta.
Prof. Raphael Lacerda
SANASA/2019
O sistema de suporte a decisão representado em cada um dos 
cilindros do conjunto denominado Específicos, na imagem, é um
A Catálogo de Metadados.
B Schema.
C Drill.
D OLTP.
E Data Mart.
Prof. Raphael Lacerda
Cespe/HEMOBRAS/2008
A figura acima apresenta um modelo de banco de dados. Julgue os
próximos itens, relativos às informações apresentadas e aos conceitos
de arquiteturae sistemas de informação.
O modelo de dados é capaz de gerar um cubo OLAP que possui 
quatro dimensões.
Prof. Raphael Lacerda
Cespe/HEMOBRAS/2008
@canetas.pretas
PYTHON
http://instagram.com/estrategiaconcursosti
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Ao analisar um conjunto de dados com Python, um programador resolveu usar um dataframe Pandas de 
nome dp para guardá-los. Em um certo momento, ele resolveu que precisaria usar, apenas, quatro colunas 
de dados do dataframe: “pais“, “ano“, “renda per capita“ e “expectativa de vida“.
Que fragmento de código Python 3 deve ser usado para selecionar, apenas, essas quatro colunas do 
dataframe dp?
(A) dp[“pais“,“ano“,“expectativa de vida“,“renda per capita“]
(B) dp[[“pais“,“ano“,“expectativa de vida“,“renda per capita“]]
(C) dp(“pais“,“ano“,“expectativa de vida“,“renda per capita“)
(D) dp([“pais“,“ano“,“expectativa de vida“,“renda per capita“])
(E) dp[dp[“pais“,“ano“,“expectativa de vida“,“renda per capita“]]
Prof. Raphael Lacerda
Pandas
⇒ intervalo de dados
⇒ trabalho com múltiplos dados
⇒ planilhas
Prof. Raphael Lacerda
Que tipo de ajuda?
Pandas Example - Python - OneCompiler
10 minutes to pandas — pandas 1.5.2 
documentation (pydata.org)
https://onecompiler.com/python/3x7an28pr
https://pandas.pydata.org/docs/user_guide/10min.html
https://pandas.pydata.org/docs/user_guide/10min.html
Prof. Raphael Lacerda
⇒ info() → informações sobre o DataFrame
⇒ head() → mostra os 5 primeiros por padrão
⇒ tail() → mostra os 5 últimos
⇒ dtypes → tipos dos dados do DataFrame
⇒ shape → linhas e colunas
⇒ concat → concatenar DataFrames
Métodos e atributos do DataFrame
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html
 
 
 
 
 
 
 
 
 
Considere o código Python a seguir.
import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]]) print (a[a>5])
O que será exibido após esse código ser executado?
CESGRANRIO/BB/2021
Prof. Raphael Lacerda
Numpy
Prof. Raphael Lacerda
ndarray Vs standard python
tem o tamanho fixado na 
criação
pode aumentar dinamicamente
mesmo tipo (homogêneo) qualquer tipo
facilitar cálculos matemáticos não lida bem com grande 
quantidade de dados
mais eficiente com menos 
código
+ verborrágico
consome menos memória - otimizado
⇒ ndim: número de eixos
⇒ shape: indica o tamanho do array em cada dimensão (linhas e 
colunas)
⇒ size: total de elementos do array
⇒ dtype: tipo dos elementos do array
Prof. Raphael Lacerda
Atributos
Online NumPy Compiler (tutorialspoint.com)
https://www.tutorialspoint.com/execute_numpy_online.php
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Considere o código Python a seguir.
import numpy as np
valorAplicado = np.array([5000, 6000, 7000, 8000]) taxaJuros = 
np.array([1, 2, 3, 4])
resultado = valorAplicado * taxaJuros
@canetas.pretas
HTML
http://instagram.com/estrategiaconcursosti
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Considere o código HTML a seguir.
<!doctype html>
<html lang=”pt-br”>
<head>
<script src=”script.js”></script>
</head>
<body>
<form>
Texto: <input type=’text’ name=’texto’ id=’idTexto’ class=’classe-input’ value=’Texto inicial’><br>
<input type=’submit’ value=’Envia’>
</form>
</body>
</html>
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Considere, também, o arquivo TypeScript script.ts, listado a seguir, que irá gerar o arquivo script.js no mesmo diretório 
do arquivo HTML, apresentado acima.
onload = (event) => {
const texto = document.querySelector(’???’) as HTMLInputElement; console.log(’Texto inicial: ’, texto.value);
};
Que texto o programador deverá utilizar no lugar de ???, no código do arquivo TypeScript script.ts, para exibir o valor do 
campo HTML input na console?
(A) #classe-input (B) #idTexto
(C) #texto
(D) .idTexto
(E) .texto
@canetas.pretas
TYPESCRIPT
http://instagram.com/estrategiaconcursosti
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Considere o fragmento de código TypeScript a seguir.
const a = <T extends {b: string}>(obj: T) => { <código removido>
};
Com relação ao código apresentado acima, a(o)
(A) função a() retorna um objeto do tipo string.
(B) variável a é uma lista de objetos do tipo string.
(C) variável a é um dicionário cujas chaves são objetos do tipo string.
(D) objeto que for passado para a função a() deve ter um campo b do tipo string.
(E) valor retornado pela função a() é um objeto que estende um objeto do tipo string.
javascript - How to restrict object fields in 
Typescript using Type parameter - Stack 
Overflow
Using Typescript Generic Constraints to 
Restrict Function Arguments Based on Other 
Arguments - DEV Community 󰠁󰞵
https://stackoverflow.com/questions/64288927/how-to-restrict-object-fields-in-typescript-using-type-parameter
https://stackoverflow.com/questions/64288927/how-to-restrict-object-fields-in-typescript-using-type-parameter
https://stackoverflow.com/questions/64288927/how-to-restrict-object-fields-in-typescript-using-type-parameter
https://dev.to/nas5w/using-typescript-generic-constraints-to-restrict-function-arguments-based-on-other-arguments-1jdi
https://dev.to/nas5w/using-typescript-generic-constraints-to-restrict-function-arguments-based-on-other-arguments-1jdi
https://dev.to/nas5w/using-typescript-generic-constraints-to-restrict-function-arguments-based-on-other-arguments-1jdi
Prof. Raphael Lacerda
Ecossistema
Prof. Raphael Lacerda
Características
⇒ Compilada (error checking)
⇒ Fortemente e Estaticamente tipada
⇒ Orientação a Objetos
Prof. Raphael Lacerda
Sintaxe básica
Prof. Raphael Lacerda
Variáveis
Prof. Raphael Lacerda
Palavras Reservadas
Prof. Raphael Lacerda
strings
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Em TypeScript 4, é possível usar o seguinte fragmento de código:
// definir x
const y = (...args: number[]) => args.reduce(x, 0);
Que fragmento de código apresenta uma versão compilável e executável da definição de x que poderia 
aparecer no lugar do comentário “// definir x” ?
(A) const x = 1;
(B) const x = [1,2,3];
(C) const x = (a:number) => [a*2];
(D) const x = (a:number[]) => a[0];
(E) const x = (a:number,b:number) => a+b;
Array.prototype.reduce() - JavaScript | MDN 
(mozilla.org)
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
@canetas.pretas
JAVA
http://instagram.com/estrategiaconcursosti
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Sejam as seguintes classes Java:
public class Va1 {
 public static String getStr() {
 return “abcdefghijklmnop“; }
 public String ini(String s, int cpr) {
 return s.substring(0, cpr);
 }
 public String fin(String s, int cpr) {
 return ini(s, cpr)+s.substring(s.length()-cpr, s.length());
 }
} Can We Override Static Method in Java - 
Javatpoint
A Single Java Program Can Contain How 
many Classes? - Scaler Topics
Online Java Compiler - Online Java Editor - 
Java Code Online (jdoodle.com)
https://www.javatpoint.com/can-we-override-static-method-in-java#:~:text=Can%20we%20override%20a%20static,we%20cannot%20override%20static%20methods.
https://www.javatpoint.com/can-we-override-static-method-in-java#:~:text=Can%20we%20override%20a%20static,we%20cannot%20override%20static%20methods.
https://www.scaler.com/topics/a-single-java-program-can-contain-how-many-classes/
https://www.scaler.com/topics/a-single-java-program-can-contain-how-many-classes/
https://www.jdoodle.com/online-java-compiler/
https://www.jdoodle.com/online-java-compiler/
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
public class Va2 extends Va1 {
 public static String getStr() {
 return “0123456789ABCDEF“; }
 public String ini(String s, int cpr) {
 return s.substring(s.length()-cpr, s.length());
 }
 public static void main(String[] args) {
 Va1 o=new Va2();
 System.out.println(o.fin(o.getStr(), 5));
 }
}
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021O que será exibido no console quando o método main for executado?
(A) 0123BCDE
(B) BCDEFBCDEF 
(C) 01234BCDEF
(D) abcdelmnop 
(E) lmnoplmnop
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
As classes Java a seguir são públicas e ocupam arquivos 
separados.
O que será exibido no console quando o método main for 
executado?
(A) 0 (B) 10 (C) 24 (D) 25 (E) 33
https://www.geeksforgeeks.org/ord
er-execution-initialization-blocks-co
nstructors-java/
https://www.geeksforgeeks.org/order-execution-initialization-blocks-constructors-java/
https://www.geeksforgeeks.org/order-execution-initialization-blocks-constructors-java/
https://www.geeksforgeeks.org/order-execution-initialization-blocks-constructors-java/
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Foi solicitado a um programador de sistemas de informação que transformasse uma classe escrita em Java em uma classe equivalente, para ser executada em um programa Kotlin.
O código da classe Java é:
public class AlunoJava{
 private String codigo;
private String nome;
private int numero=0;
private String texto= “EscolaX”;
public AlunoJava (String codigo,String nome)
 { this.codigo = codigo;
 this.nome = nome; }
}
A classe em Kotlin equivalente à classe Java acima é
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
(A) public class AlunoKotlin (private String: nome , private String: codigo ) { private:
numero int = 0
texto String = “EscolaX” }
(B) public class AlunoKotlin (private var nome; codigo: String) { private var numero = 0
private var texto = “EscolaX” }
(C) class AlunoKotlin (val nome: String, val codigo: String) { private this.nome = nome
private this.codigo=codigo
private var int numero = 0
private var String texto = “EscolaX” }
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
(D) class AlunoKotlin (var nome: String, var codigo: String) { private 
var numero = 0
private var texto = “EscolaX”
private AlunoKotlin.nome, AlunoKotlin.codigo }
(E) class AlunoKotlin (private val nome: String, private val codigo: 
String) { private var numero = 0
private var texto = “EscolaX” }
⇒ Linguagem moderna
⇒ 100% compatível com Java
⇒ server ou client side, IoS, mas especialmente ANDROID
⇒ muti-paradigma
⇒ concisa
⇒ first-class language on Android. 
Prof. Raphael Lacerda
Linguagem
https://techcrunch.com/2017/05/17/google-makes-kotlin-a-first-class-language-for-writing-a
ndroid-apps
Prof. Raphael Lacerda
must
loved
language
Prof. Raphael Lacerda
hated?
Prof. Raphael Lacerda
wanted
Prof. Raphael Lacerda
val x var
Properties | Kotlin Documentation 
(kotlinlang.org)
https://kotlinlang.org/docs/properties.html#getters-and-setters
https://kotlinlang.org/docs/properties.html#getters-and-setters
Prof. Raphael Lacerda
Palavras Reservadas
https://kotlinlang.org/docs/keyword-reference.html#hard-keywords
Prof. Raphael Lacerda
Data Class
Data classes | Kotlin Documentation 
(kotlinlang.org)
https://kotlinlang.org/docs/data-classes.html
https://kotlinlang.org/docs/data-classes.html
Prof. Raphael Lacerda
Visibilidade
Kotlin Visibility Modifiers - public, protected, 
internal, private | DigitalOcean
android - What's the difference when adding 
a private modifier to arguments in a Kotlin's 
constructor? - Stack Overflow
https://www.digitalocean.com/community/tutorials/kotlin-visibility-modifiers-public-protected-internal-private
https://www.digitalocean.com/community/tutorials/kotlin-visibility-modifiers-public-protected-internal-private
https://stackoverflow.com/questions/47824418/whats-the-difference-when-adding-a-private-modifier-to-arguments-in-a-kotlins
https://stackoverflow.com/questions/47824418/whats-the-difference-when-adding-a-private-modifier-to-arguments-in-a-kotlins
https://stackoverflow.com/questions/47824418/whats-the-difference-when-adding-a-private-modifier-to-arguments-in-a-kotlins
@canetas.pretas
ESTRUTURA
DE
DADOS
http://instagram.com/estrategiaconcursosti
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Um programador escreveu uma função para percorrer, em 
pós-ordem, uma árvore binária e exibir, no console, os valores 
referentes aos nós dessa árvore.
Após essa função ter sido executada, foi exibido o seguinte 
resultado:
41 44 33 47 55 52 36 30
Que árvore essa função percorreu para exibir o resultado acima?
AVL Tree Visualzation (usfca.edu)
https://www.cs.usfca.edu/~galles/visualization/AVLtree.html
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
AVL Tree Visualzation (usfca.edu)
https://www.cs.usfca.edu/~galles/visualization/AVLtree.html
Como Percorrer?
Prof. Raphael Lacerda
Árvore Cheia
Prof. Raphael Lacerda
https://pt.stackoverflow.com/questions/134190/diferen%C3%A7a-entre-%C3%A1rvore-bi
n%C3%A1ria-completa-e-cheia
https://pt.stackoverflow.com/questions/134190/diferen%C3%A7a-entre-%C3%A1rvore-bin%C3%A1ria-completa-e-cheia
https://pt.stackoverflow.com/questions/134190/diferen%C3%A7a-entre-%C3%A1rvore-bin%C3%A1ria-completa-e-cheia
Árvore Completa
Prof. Raphael Lacerda
https://pt.stackoverflow.com/questions/134190/diferen%C3%A7a-entre-%C3%A1rvore-bi
n%C3%A1ria-completa-e-cheia
https://pt.stackoverflow.com/questions/134190/diferen%C3%A7a-entre-%C3%A1rvore-bin%C3%A1ria-completa-e-cheia
https://pt.stackoverflow.com/questions/134190/diferen%C3%A7a-entre-%C3%A1rvore-bin%C3%A1ria-completa-e-cheia
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Desejam-se realizar buscas nas seguintes coleções de dados, representadas na linguagem Java:
I - Um array de 1.000 números inteiros ordenados de forma decrescente;
II - Uma lista encadeada desordenada e alocada dinamicamente, cujos 1.000 nós contêm strings (uma string por nó);
III - Uma lista encadeada, alocada dinamicamente, cujos 1.000 nós contêm números decimais (um número double por nó)
ordenados de forma ascendente.
Levando-se em consideração a exequibilidade e a eficiência, quais métodos de busca devem ser empregados, respectiva- mente, em cada 
um dos três casos acima?
(A) I – sequencial; II – sequencial; III – binária
(B) I – binária; II – sequencial; III – sequencial
(C) I – binária; II – sequencial; III – binária
(D) I – sequencial; II – sequencial; III – sequencial (E) I – sequencial; II – binária; III – binária
Busca binária (artigo) | Algoritmos | Khan 
Academy
https://pt.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search
https://pt.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search
Lista Encadeada
Prof. Raphael Lacerda
https://medium.com/aprendacpp/criando-uma-lista-encadeada-em-c-17e7f5692f36
https://medium.com/aprendacpp/criando-uma-lista-encadeada-em-c-17e7f5692f36
Lista Duplamente Encadeada
Prof. Raphael Lacerda https://wiki.sj.ifsc.edu.br/wiki/index.php/PRG29003:_A_implementa%C3%A7%C3%A3o_da_lista
https://wiki.sj.ifsc.edu.br/wiki/index.php/PRG29003:_A_implementa%C3%A7%C3%A3o_da_lista
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Um professor preparou uma série de experimentos para avaliar, juntamente com seus alunos, três 
algoritmos de ordenação: o da bolha, o de ordenação por inser- ção e o de ordenação por seleção. Para 
tal, ele escre- veu três métodos Java, um para cada algoritmo. Todos eles recebem como único parâmetro 
um array de inteiros (int vet[ ] = {81,15,4,20,7,47,14,20,4}), que será ordenado em ordem crescente.
Para acompanhar a evolução desse array sendo ordena- do, cada um dos três métodos exibe a 
configuração dos elementos do array ao término de cada iteração do co- mando de repetição mais 
externo. Vale lembrar que es- ses três algoritmos de ordenação são compostos por dois comandos de 
repetição aninhados (dois comandos for ou dois comandos while).
Terminada a codificação, o professor executou os méto- dos relativos aos três algoritmos de ordenação e 
projetou no quadro as configurações do array relativas às três pri- meiras iterações de cada um dos 
algoritmos de ordena- ção, conforme mostrado a seguir.
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021CESGRANRIO/BB/2021
As configurações 1, 2 e 3, exibidas acima, correspondem, respectivamente, 
aos algoritmos
(A) da bolha, de seleção e de inserção 
(B) da bolha, de inserção e de seleção 
(C) de seleção, de inserção e da bolha 
(D) de seleção, da bolha e de inserção 
(E) de inserção, de seleção e da bolha
Prof. Raphael Lacerda
Selection Sort
Prof. Raphael Lacerda
Selection Sort
http://www.youtube.com/watch?v=Ns4TPTC8whw
Prof. Raphael Lacerda
Insertion Sort
Prof. Raphael Lacerda
Insertion Sort
http://www.youtube.com/watch?v=ROalU379l3U&t=10
Prof. Raphael Lacerda
Bubble Sort
Prof. Raphael Lacerda
Bubble Sort
http://www.youtube.com/watch?v=lyZQPjUT5B4&t=50
In a nutshell
Prof. Raphael Lacerda
https://www.treinaweb.com.br/blog/conheca-os-principais-algoritmos-de-ordenacao/
estrategia/algoritmos-ordenacao at main · 
raphaelLacerda/estrategia · GitHub
https://www.treinaweb.com.br/blog/conheca-os-principais-algoritmos-de-ordenacao/
https://github.com/raphaelLacerda/estrategia/tree/main/algoritmos-ordenacao
https://github.com/raphaelLacerda/estrategia/tree/main/algoritmos-ordenacao
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Dentre os problemas identificados pela gerência de um banco comercial, está a localização das contas dos 
seus titulares nas listagens e nos relatórios impressos em diferentes situações. Um especialista de TI 
sugeriu ordenar as contas por meio dos CPF dos seus n titulares antes das impressões.
Dentre alguns algoritmos pré-selecionados para essa ordenação, o especialista escolheu o algoritmo de 
ordenação por inserção, no qual o consumo de tempo é, no melhor caso, proporcional a
(A) n log n
(B) log n
(C) n2
(D) n
(E) 1
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Em uma agência bancária, as filas de atendimento são ordenadas da esquerda para a direita, e 
o gerente dessa agência percebeu a presença equivocada de um idoso, com a senha 52, na fila 
de atendimento não preferencial. Visando a sanar o equívoco, o gerente resolveu que, na 
primeira oportunidade, faria uma busca no sistema para saber se a senha 52 ainda estava ativa, 
indicando a presença do idoso na fila de atendimento não preferencial. Em caso de resposta 
positiva, procu- raria o cliente para trocar sua senha por outra de atendimento preferencial; se 
não, apenas registraria o fato para posterior discussão no grupo de qualidade de atendimento.
Considerando o uso de um algoritmo de busca sequencial otimizado, partindo da esquerda 
para a direita, e as sequências hipotéticas das senhas da fila de atendimento não preferencial e 
suas regras de ordenação, segundo as quais quem está à esquerda é atendido antes de quem 
está à direita, o menor número de comparações para o gerente conhecer o resultado de sua 
busca ocorre em
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
As agências bancárias negociam seguros residenciais com seus clientes e, 
muitas vezes, precisam arquivar cópias de forma ordenada para que consultas 
eventuais sejam facilitadas. O gerente de uma agência precisava ordenar um 
vetor de documentos referentes a esses seguros, e o seu adjunto, da área de 
TI, o aconselhou a usar o algoritmo de ordenação chamado Bubble Sort.
Utilizando-se o algoritmo sugerido, qual será a quantidade de trocas de 
posições realizadas para ordenar, de modo cres- cente, o vetor de números de 
contrato (77, 51, 11, 37, 29, 13, 21)?
(A) 14 (B) 15 (C) 16 (D) 17 (E) 18
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Uma das formas de o gerente de uma agência bancária acompanhar a qualidade dos serviços prestados aos seus clientes 
é verificar o estado da ordem de atendimento em vários instantes ao longo do expediente. O sistema que a gerência 
utiliza para tal fim é a estrutura de dados conhecida como FILA, que mostra a situação da ordem de atendimento no 
instante da verificação.
Nesse contexto, implementa-se uma estrutura de FILA de números inteiros com suas duas operações tradicionais: 
ENFILEIRAR(Z), que ocorre no instante em que um cliente recebe uma senha Z e entra na FILA; e DESENFILEIRAR( ), que 
ocorre quando um cliente sai da FILA, caso em que DESENFILEIRAR( ) retorna o número da senha. Sabe-se, tam- bém, 
que a representação do estado da FILA em um instante qualquer é realizada listando os elementos, de forma que o 
primeiro elemento, da esquerda para a direita, é o mais antigo presente na FILA.
Nas condições apresentadas, considere uma FILA que começa vazia e realiza as seguintes operações:
ENFILEIRAR(8) → ENFILEIRAR(9) → DESENFILEIRAR( ) → ENFILEIRAR(10) → ENFILEIRAR(11) → 
ENFILEIRAR(DESENFILEIRAR ( )) → ENFILEIRAR(12) → DESENFILEIRAR( ) → ENFILEIRAR(13) → DESENFILEIRAR( )
Após realizar as operações acima, a FILA estará no estado
(A)10–11 –12 (B) 9 – 12 – 13 (C) 9 – 10 – 11 (D) 8 – 10 – 11 (E) 8 – 9 –10
Pilha
Prof. Raphael Lacerda
Fila
Prof. Raphael Lacerda
@estrategiaconcursosti
IOS
http://instagram.com/estrategiaconcursosti
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
O desenvolvimento de um aplicativo bancário para dis- positivos móveis exige 
que se dedique atenção à parte visual do mesmo, que vai depender, também, 
do modelo do aparelho e do tipo de sistema operacional (SO) que esteja 
rodando nele.
Caso um desenvolvedor de aplicativos para um iPhone com SO iOS precise 
fazer a programação visual das telas desses aplicativos, que ferramenta do 
Xcode 10 ele deve utilizar?
(A) Interface Builder (B) Bundle Identifier (C) Organizer Interface (D) Apple 
LLVM
(E) Instruments
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Xcode 14 Overview - Apple DeveloperInterface Builder - Wikipedia
https://developer.apple.com/xcode/
https://en.wikipedia.org/wiki/Interface_Builder
Prof. Raphael Lacerda
Ciclo
de
Vida
https://medium.com/good-morning-
swift/ios-view-controller-life-cycle-2
a0f02e74ff5
https://medium.com/good-morning-swift/ios-view-controller-life-cycle-2a0f02e74ff5
https://medium.com/good-morning-swift/ios-view-controller-life-cycle-2a0f02e74ff5
https://medium.com/good-morning-swift/ios-view-controller-life-cycle-2a0f02e74ff5
Prof. Raphael Lacerda
Equatable
@estrategiaconcursosti
DEVOPS
http://instagram.com/estrategiaconcursosti
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Em um ambiente Cluster, há um servidor Linux que tem o Ansible instalado.
Para construir um arquivo YAML, que informe os passos que o Ansible realizará 
automaticamente na conexão com os servidores que fazem parte do Cluster, além de exe- 
cutar um conjunto de tarefas solicitadas, o administrador desse servidor deve seguir o padrão
(A) Apache-Start 
(B) Nodel
(C) Playbook
(D) Taskbook
(E) Tower
Devops
Prof. Raphael Lacerda
Infra as Code
https://stackshare.io/stackups/ansible-vs-terraform
https://logz.io/blog/terraform-vs-ansible-vs-puppet/
https://stackshare.io/stackups/ansible-vs-terraform
https://logz.io/blog/terraform-vs-ansible-vs-puppet/
Devops
Prof. Raphael Lacerda
https://medium.com/edureka/ansible-cheat-sheet-guide-5fe615ad65c0
https://medium.com/edureka/ansible-cheat-sheet-guide-5fe615ad65c0
Devops
Prof. Raphael Lacerda
code na infra
Devops
Prof. Raphael Lacerda
code na infra
Prof. Raphael Lacerda
Palpites
Prof. Raphael Lacerda
Palpites
https://www.digitalocean.com/com
munity/cheatsheets/how-to-use-ans
ible-cheat-sheet-guide
https://www.digitalocean.com/community/cheatsheets/how-to-use-ansible-cheat-sheet-guide
https://www.digitalocean.com/community/cheatsheets/how-to-use-ansible-cheat-sheet-guide
https://www.digitalocean.com/community/cheatsheets/how-to-use-ansible-cheat-sheet-guide
Prof. Raphael Lacerda
Palpites
http://www.youtube.com/watch?v=ZAdJ7CdN7DY
@estrategiaconcursosti
NOSQL
http://instagram.com/estrategiaconcursosti
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Um banco comercial deseja obter um tipo de banco de dados NoSQL que trate os dados 
extraídos de redes sociais, de modo a formar uma coleção (collection) interconectada. Nessa 
coleção (collection), os dados são organizados em vértices ou objetos (O) e emrelacionamentos, que são relações (R) ou arestas.
Nesse modelo de banco de dados NoSQL, os dados seriam apresentados da seguinte forma:
O:Usuario{u1:Joao, u2:Jose, u3:Maria, u4:Claudio} O:Escola{e1:UFRJ, e2:URGS, e3:IFB} 
R:Estudaem{re1=u1:e2;re2=u2:e2;re3=u3:e1;re4=u4:e3} 
R:Amigode{ra1=u1:u2;ra2=u1:u3;ra3=u2:u3}
O banco de dados NoSQL que representa essa situação deve ter uma estrutura do tipo
(A) Distribuided Hashing (B) Consistent Hashing (C) Document Oriented (D) Graph Oriented
(E) Vector Clock
Prof. Raphael Lacerda
NoSQL
Prof. Raphael Lacerda
Melhor Escalabilidade
Prof. Raphael Lacerda
Relacional vs NoSQL
NoSQL Tutorial: What is, Types of NoSQL 
Databases & Example (guru99.com)
https://www.guru99.com/nosql-tutorial.html
https://www.guru99.com/nosql-tutorial.html
Prof. Raphael Lacerda
BASE vs ACID
NoSQL Tutorial: What is, Types of NoSQL 
Databases & Example (guru99.com)
https://www.guru99.com/nosql-tutorial.html
https://www.guru99.com/nosql-tutorial.html
Prof. Raphael Lacerda
e esses SGBD's?
Prof. Raphael Lacerda
NoSQL
https://medium.com/permalink-univesp/nosql-o-que-s%C3%A3o-onde-habitam-do-que-se-alimentam-2ccd4cc39571
https://medium.com/permalink-univesp/nosql-o-que-s%C3%A3o-onde-habitam-do-que-se-alimentam-2ccd4cc39571
Prof. Raphael Lacerda
NoSQL
https://micreiros.com/tipos-de-bancos-de-dados-nosql/
https://micreiros.com/tipos-de-bancos-de-dados-nosql/
Prof. Raphael Lacerda
Exemplos
https://autociencia.blogspot.com/2020/01/scylladb-um-banco-de-dados-nosql-big-data.html
https://autociencia.blogspot.com/2020/01/scylladb-um-banco-de-dados-nosql-big-data.html
Prof. Raphael Lacerda
Grafos
Prof. Raphael Lacerda
Documentos
Prof. Raphael Lacerda
Colunar
Prof. Raphael Lacerda
Chave/Valor
Redis - DB4Beginners - O blog da Dani Monteiro
http://db4beginners.com/blog/sql-ou-nosql-redis/key-value-data-stores-2/
Prof. Raphael Lacerda
 Teorema
 CAP
https://autociencia.blogspot.com/2020/01/scylladb-um-banco-de-dados-nosql-big-data.html
https://blog.caelum.com.br/nosql-do-teorema-cap-para-paccl/
https://autociencia.blogspot.com/2020/01/scylladb-um-banco-de-dados-nosql-big-data.html
https://blog.caelum.com.br/nosql-do-teorema-cap-para-paccl/
 
 
 
 
 
 
 
 
 
CESPE/2022
Cypher query language, linguagem de consulta de gráfico do 
Neo4j que possibilita aos usuários o armazenamento e a 
recuperação de dados do banco de dados de gráficos, permite 
declarar o que se deseja selecionar, inserir, atualizar ou excluir 
desses dados de gráficos.
 
 
 
 
 
 
 
 
 
CESGRANRIO/BB/2021
Um administrador de um banco de dados construído por meio do MongoDB inseriu dados em uma coleção (collection) 
de dados da seguinte forma:
db.fornecedores.insert( { codigo: “thx1138“,
nome: “Roupas Syfy ltda“, pais: “Arabia Saudita“ } )
Posteriormente, esse administrador construiu uma consulta que retornou apenas o nome, sem repetição, de todos os 
países que fazem parte dessa coleção (collection).
O comando utilizado para tal consulta foi
(A) db.fornecedores.find("pais")
(B) db.fornecedores.find().pretty({"pais":1}) (C) db.fornecedores.find().sort({"pais":1}) (D) 
db.fornecedores.distinct({"pais":0})
(E) db.fornecedores.distinct( "pais" )
 
 
 
 
 
 
 
 
 
dicas do mongo
Document Database
Collections (tables)
Views e Materialized Views
High Performance
Rich Query Language
High Availability
Scalability
https://docs.mongodb.com/manual/introduction/
https://docs.mongodb.com/manual/introduction/
 
 
 
 
 
 
 
 
 
CRUD! https://docs.mongodb.com/manual/r
eference/method/db.collection.inser
tMany/#mongodb-method-db.collec
tion.insertMany
https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany
https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany
https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany
https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany
 
 
 
 
 
 
 
 
 
CRUD! https://docs.mongodb.com/manual/r
eference/method/db.collection.inser
tMany/#mongodb-method-db.collec
tion.insertMany
https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany
https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany
https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany
https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany
 
 
 
 
 
 
 
 
 
Índices
https://docs.mongodb.com/manual/introduction/
https://docs.mongodb.com/manual/introduction/
 
 
 
 
 
 
 
 
 
Cheat Sheet
https://www.mongodb.com/developer/quickstart/cheat-sheet/
https://www.mongodb.com/developer/quickstart/cheat-sheet/
 
 
 
 
 
 
 
 
 
Prof. Raphael Lacerda
FGV/CGU/2021
Sobre o MongoDB v5.0, considere as afirmativas a seguir.
I. Todos os documentos de uma coleção (collection) devem possuir o mesmo número de campos 
(fields).
II. Um campo presente em diferentes documentos de uma collection pode ter diferentes tipos de 
dados ao longo dos documentos.
III. MongoDB oferece a capacidade de validar esquemas durante operações de inserção (insertion) 
e atualização (update). Está correto o que se afirma em:
A somente I;
B somente III;
C somente I e II;
D somente II e III; 
E I, II e III.
OBRIGADO!
FOCO NA 
APROVAÇÃO
Prof. Raphael Lacerda
@canetas.pretas
@canetaspretas
@
oscanetaspretas
@canetaspretas

Continue navegando