Upload
hoangdang
View
228
Download
2
Embed Size (px)
Citation preview
Concurso Banco do Brasil - TI Conhecimentos de Informática
Márcio Hunecke
Java (SE 8 e EE 7)
• Linguagem de programação multiplataforma • Código fonte é compilado para gerar um bytecode • Edição JSE contém ambiente para desenvolvimento • Edição JEE contém ferramentas adicionais para ambiente corporativo
(JDBC, Servlets, JSP, JTA e EJB) e em múltiplas camadas • Código fonte inicia sempre com
Phyton 3.6
• Linguagem de programação de propósito geral, mas muito usada para cálculos com arrays ou listas (começa com zero)
• Preza pela simplicidade • Variáveis não precisam ser declaradas
JavaScript/EcmaScript 6
• Páginas Web = XHTML (Estrutura) + CSS (Estilo visual) + JavaScript (Ação)
• Usado para manipular e interagir com conteúdos das páginas, responder às atividades do usuário interação
• Não precisa ser compilada, roda diretamente no navegador, chamada de client-side
• Seu conteúdo pode ficar junto com o código HTML ou colocar no código HTML uma chamada para o arquivo .js (melhor prática)
<script src="/builds/core.js" type="text/javascript"></script>
Scala 2.12
• Semelhante ao Java • roda sobre a JVM • Precisa ser compilada (scalac.exe)
• Linguagem funcional (produtividade, código reduzido) • IDE – IntelliJ Community (gráfica) ou SBT (linha comando) • Macros são funções que são chamadas pelo compilador durante a
compilação
• Obs.: Ao final do material tem um resumo sobre as linguagens
Pig 0.16
• Pig é uma plataforma, composta por Pig Latin e Grunt Shell • Faz parte do Ecossistema Hadoop • Pig Latin é uma linguagem de fluxo de dados • O jobs MapReduce podem ser programados em Java (complexo)
simplesmente executado via comando Pig (semelhante aos de SQL) • Processo acontece em três etapas – LOAD, FILTER / SORT e DUMP
Busca sequencial e binária sobre arrays
• Sequencial - Busca um determinado elemento em um arranjo, passando por todas as posições do arranjo
• Sequencial ordenado - Busca um determinado elemento em um arranjo, passando por todas as posições até encontrar um elemento com valor maior.
• Binária (obrigatoriamente ordenado) - Verificar se o elemento procurado é o do meio do arranjo. Se não for, verifica se é maior
• Se for, repita a busca na metade direita do arranjo • Senão for, repita a busca na metade esquerda do arranjo
Ordenação
• Métodos da bolha – Ordena os valores par a par. Após 1 passada último elemento está ordenado.
• Ordenação por seleção – Sempre move o primeiro elemento para início do arranjo.
• Ordenação por inserção - Ele percorre o arranjo e, a cada novo elemento, procura onde, à esquerda desse elemento, ele se encaixa.
• Lista encadeada – tamanho dinâmico • Pilha – LIFO e FILO • Fila - FIFO • Árvore binária – Raiz, pais e filhos. Saber com incluir elementos.
Algoritmos de aprendizado supervisionados e não supervisionados • Machine Learning - Computadores com habilidade de aprender sem
serem explicitamente programados • Supervisionado - CLASSIFICAÇÃO / RÓTULO – Tenho mapeamento
• KNN, Distance WNN, SVM – Exemplo: Flor e Vinho
• Não supervisionado – AGRUPAMENTO – Não tenho mapeamento • K-Means – Vendas, Transações bancárias
Conceitos de banco de dados e sistemas gerenciadores de bancos de dados (SGBD) • Banco de Dados - é uma coleção de dados inter-relacionados,
representando informações sobre um domínio específico • Objetivo é isolar o usuário dos detalhes do Banco de Dados –
Abstração • Responsável por gerenciar os detalhes do Banco de Dados
(armazenamento, inconsistência, Restrição de acesso).
Modelagem conceitual de dados (abordagem entidade-relacionamento) • Modelo ER tem:
• Entidades (Fraca ou Forte) • Relacionamentos • Atributos (Simples ou Composto) • Cardinalidade (1 -1, 1 - n ou n - 1, n - n)
• Diagrama ER
Modelo relacional de dados
• Formado por tabelas, que são compostas por linhas (tuplas) e colunas (atributos)
• Tabelas não precisa ter os dados ordenados
• 3 formas normais - 1FN: atributos atômicos (mesmo domínio / tipo) - 2FN: atributos dependem da chave primária inteira - 3FN: atributos dependem somente da chave primária
FILME NR_FILME NR_FILME NR_FILME NR_FILME NR_FILME 85 85 85 85 85 85 85 85 85 85 92 92 92 92 92 95 95 95 95 95
Banco de dados SQL
• DDL – Data Definition Language CREATE- para criar objetos no banco de dados ALTER – altera a estrutura da base de dados TRUNCATE – remover todos os registros de uma tabela • DML – Data Manipulation Language SELECT- recuperar dados do banco de dados INSERT – inserir dados em uma tabela UPDATE – atualiza os dados existentes em uma tabela DELETE – exclui registros de uma tabela
Banco de dados NoSQL
• Significa “Not Only SQL” – Não relacionais (sem tabelas) • Utilizados com Big Data • Escalonamento horizontal • Esquema / estrutura do banco totalmente flexível • Colunas, Chave-valor, Grafos ou Documentos (MongoDB)
Data Warehouse
• Visa integrar os dados internos e externos de uma organização em uma estrutura unificada
• Grande volume de dados • ETL (Extract transform and load) • Data Mart – Fatia / parte do DW • Data Mining – Mineração de dados
HTML 5
• Páginas Web = XHTML (Estrutura) + CSS (Estilo visual) + JavaScript (Ação)
• Ao lado a estrutura mínuma (!doctype html, html, head, body) • Conhecer as TAGS – title, meta name (3), meta charset,
h1 até h6, header, nav, section, article, aside, footer, blockquotes, p, br, a href (-blank, title), img src (title, alt), imput type, pattern.
CSS 3
• Páginas Web = XHTML (Estrutura) + CSS (Estilo visual) + JavaScript (Ação)
• Atribuição dos efeitos – Inline, Interno ou Externo (<link rel="stylesheet" type="text/css" href="estilo.css"/>
• Propriedades – Color, Text-decoration, Background-color, Font-size, Font-family, Text-shadow, Margin e Padding
• Posso usar identificador “#” ou classes “.” • Div é um parte da página HTML
XML 1.1
• Linguagem de marcação padrão para troca de dados entre sistemas • Permite utilizar qualquer tipo de dado, além de uma infinidade de
Tags. • 1ª linha: <?xml version=“1.1” encoding=ISSO-8559-1”?> • XSD (XML Schema Definition) ou DTD (Document Type Definition) –
usada para definição de regras de validação. • XSD - < xs:element name="xxx" type="xs:yyy" /> • DTD - <!ELEMENT Processo (NumeroSequencial, Digito, Vara)>
Json (ECMA-404)
• JSON (JavaScript Object Notation) – derivado do JavaScript • Formato de arquivo de texto compacto para troca de dados em que
um objeto é um conjunto de pares nome/valor • Totalmente independente do XML e mais eficiente
Angular.js 1.6.x
• É um framework para desenvolvimento Web com JavaScript • Plug-in para o Google Chrome - Batarang • Diretivas no AngularJS são ng-*
Node.js 6.11.3
• É um runtime que executa código JavaScript no servidor • Foco em real-time (chats), IOT (Internet das Coisas) • Gerenciador de pacotes – NPM
REST
• 6 regras (constraints) para uma aplicação ser RESTful : Cliente/Servidor , Stateless, Cache, Interface uniforme, Sistema em camadas, Código sob demanda.
• Métodos: Métodos do HTTP mais usados: GET (obter), POST (criar recurso), PUT (atualizar um recurso) e DELETE (excluir).
• Retornos: Servidor deve retornar 2xx para sucesso, 4xx para erro no cliente e 5xx para erro no servidor.
• Modelo de maturidade de Richardson - Nível 0 (mais simples) a 3 (mais aderente ao REST).
Linguagem R 3.4.2 e R Studio 5.1
• Baseada em Software livre e multiplataforma. • R é uma linguagem e também um ambiente de desenvolvimento
integrado para cálculos estatísticos e gráficos. • Usada entre estatísticos e analistas de dados para desenvolver
softwares de estatística e análise de dados. • Utiliza o R Studio como IDE de desenvolvimento
OLAP
• OLAP (On-Line Analytic Processing) • ROLAP - Relacional • MOLAP - Multidimensional • HOLAP - Hybrid • DOLAP – Desktop
• Drill Down: mais detalhes • Drill Up: menos detalhes • Slice: uma dimensão • Dice: - mais dimensões. • Pivot: nova perspectiva.
MS Excel 2013
• Tabelas dinâmicas • Gráficos • Análise instantânea de dados (formatação condicional, mini gráficos
ou gráficos) • Guia Dados
• Obter dados externos • Classificar • Filtrar
Conceitos de MapReduce
• Processo de coleta e transformação de dados para armazenar no HDFS
• Baseado em 4 etapas • Splitting (Separar) • Mapping (Mapear) • Shuffling (Organizar) • Reducing (Reduzir)
HDFS/Hadoop/YARN 2.7.4
• HDFS – Sistema de arquivos DISTRIBUÍDO para armazenar os dados. Dados são copiados para 3 Data Nodes com o modelo Mestre/Escravo
• Haddop - É uma plataforma de software em Java de computação distribuída voltada para clusters e processamento de grandes volumes de dados, com atenção a tolerância a falhas.
• Yarn - Trata-se de uma plataforma de gerenciamento de recursos responsável pelo gerenciamento dos recursos computacionais em cluster, assim como pelo agendamento dos recursos.
Ferramentas de ingestão de dados
• Sqoop – Transferência de dados de banco de dados relacionais para HDFS.
• Flume – Coleta e Agregação de dados streaming (Twitter) ou Logs (dados não estruturados) para HDFS.
• NiFi – Ferramenta Web para criar processos automatizados de coleta de dados.
• Kafka – Coleta e Agregação de Logs para HDFS.
Excelente PROVA