Qual alternativa a seguir apresenta corretamente uma relação que pode ser feita entre um item (palavra-chave) de um exemplo concreto de comportamento da abordagem BDD (Behavior Driven Development) e os elementos tradicionais de um caso de teste?
Considere as seguintes afirmações:I) Comumente usada na construção de sistemas de informação corporativos.
II) As três camadas são: interface com o usuário, controladores, e banco de dados.
III) Normalmente, é centralizada, ou seja, é executada em apenas uma máquina.
IV) Alternativamente, pode haver apenas duas camadas, em que interface com o usuário e lógica de negócio são unificadas.
V) A lógica de negócio é também chamada de camada de aplicação.Marque a seguir a alternativa correta para o contexto da "arquitetura em três camadas".
A dívida técnica, um conceito cunhado por Ward Cunningham e posteriormente detalhado por Martin Fowler, é uma metáfora importante no desenvolvimento de software. Ela descreve as consequências de decisões de design tomadas para ganhos de curto prazo, mas que podem acarretar custos adicionais no futuro. De acordo com Fowler, a dívida técnica é comparável à dívida financeira, onde o pagamento de 'juros' se manifesta na forma de esforço extra em desenvolvimentos futuros. Além disso, Fowler classifica a dívida técnica em quatro categorias, baseadas em prudência e consciência. Com base nessa compreensão, qual das seguintes opções melhor descreve um exemplo de dívida técnica?
Considere os seguintes itens:I) Comentários redundantes que dizem exatamente o que o código está fazendo são ruins e desnecessários.
II) Não insira comentários em um código ruim, refatore-o.
III) É mehor não ter comentário nenhum do que comentários imprecisos.
IV) Quanto mais longo e detalhado o comentário, melhor.
V) Uma forma inteligente de fazer um comentário é usar a própria linguagem de programação para isso.Qual alternativa a seguir está correta considerando os itens acima?
No desenvolvimento de software, garantir que o código seja não apenas funcional, mas também confiável e livre de erros, é crucial. Uma forma de avaliar a qualidade e a confiabilidade do código é por meio da medição da cobertura de teste, que ajuda a identificar partes do código não exercitadas por testes automatizados. O Coverage.py é uma ferramenta amplamente utilizada neste contexto, oferecendo diferentes tipos de métricas de cobertura.Qual destas métricas é especialmente relevante para desenvolvedores que buscam entender até que ponto seus testes estão efetivamente exercitando o código que escreveram?
A depuração de scripts de teste no Selenium IDE é uma habilidade essencial para qualquer engenheiro de testes de software. Utilizando recursos integrados do IDE, os usuários podem interromper, inspecionar e controlar a execução dos scripts para identificar e corrigir erros. Com base nas funcionalidades de depuração do Selenium IDE descritas, qual das seguintes opções melhor descreve uma funcionalidade correta de depuração disponível no Selenium IDE?
Ao iniciar um projeto Java com a ferramenta de automação de build Gradle, você se depara com várias escolhas e configurações. Uma das primeiras ações é usar a task init para configurar a estrutura básica do projeto. Se você deseja criar um projeto específico de aplicação Java, você precisa especificar um tipo de projeto ao executar a task init. Com base nesse entendimento, qual das seguintes opções corretamente descreve o comando que você deveria usar para iniciar um projeto de aplicação Java com o Gradle, assumindo que todos os arquivos pré-existentes relevantes foram removidos?
Com o avanço tecnológico e a globalização dos mercados, as empresas enfrentam o desafio de gerenciar eficientemente seus recursos e informações. Neste contexto, sistemas de Enterprise Resources Planning (ERP) tornaram-se fundamentais. Esses sistemas integram diversas funções empresariais, como finanças, logística e recursos humanos, em uma única plataforma, automatizando processos e centralizando dados. A escolha e implantação de um ERP requerem cuidadosa consideração de vários fatores, por exemplo: custo, suporte técnico, e capacidade de integração. Além disso, a implementação bem-sucedida de um ERP traz benefícios significativos, mas também pode enfrentar obstáculos como resistência cultural e limitações de orçamento. Com base no texto, analise as seguintes afirmações sobre os sistemas ERP:I. Um dos principais objetivos do ERP é a integração das informações de diferentes departamentos, criando um fluxo de dados unificado e eficiente.II. A implementação de um ERP não afeta significativamente a estratégia e os processos internos da organização.III. O processo de escolha de um fornecedor de ERP envolve a consideração de vários aspectos, incluindo a capacidade tecnológica e o custo total de implementação.IV. A implantação de um ERP é sempre garantida para melhorar o desempenho organizacional sem enfrentar desafios significativos.Escolha a combinação correta das afirmações:
Com a evolução da tecnologia digital, a computação em nuvem transformou-se em um componente essencial da infraestrutura de TI das empresas e da vida cotidiana dos usuários. Oferecendo armazenamento e processamento de dados em servidores remotos acessíveis via internet, este modelo elimina a necessidade de instalação local de softwares e armazenamento de dados, promovendo uma flexibilidade e eficiência sem precedentes no acesso a informações e aplicações de qualquer lugar do mundo. Além disso, pode responsabilizar os fornecedores de serviço por desenvolvimento, manutenção, e atualização de aplicações, reduzindo significativamente a carga de gestão de TI para os usuários. Nesse contexto, analise as seguintes afirmações sobre a computação em nuvem e identifique quais estão corretas:I. A computação em nuvem permite o acesso remoto a aplicações e dados, reduzindo a dependência de servidores locais.II. Os usuários da computação em nuvem precisam realizar manutenção e atualizações de softwares aplicativos em seus próprios dispositivos para garantir o acesso aos serviços.III. A computação em nuvem centraliza o armazenamento de dados em servidores locais para melhorar a segurança e o acesso.IV. Serviços como o Office Online exemplificam a capacidade da computação em nuvem de oferecer aplicações acessíveis via navegador de internet, sem necessidade de instalação local.Assinale alternativa correta:
No âmbito da governança corporativa, a distribuição de poder e a definição de responsabilidades dentro de uma organização são vitais para sua operação e transparência. Este sistema não se limita a questões financeiras, estendendo-se para setores como saúde, educação e governança, e para empresas de capital aberto onde diferentes stakeholders possuem papéis específicos. A mudança de poder e o papel da governança como uma entidade não governamental evidenciam a importância de uma comunicação efetiva e de mecanismos de controle adequados. Relacione os conceitos apresentados na Coluna A com suas respectivas descrições na Coluna B.Coluna A:
Distribuição de poder
Governança corporativa
Transparência organizacional
Coluna B:A. Relacionada à adequação dos canais de divulgação, que devem comunicar principalmente informações relevantes que tenham influência nos negócios ou que envolvam resultados, oportunidades e riscos.
B. É expressa por um sistema de valores que rege as organizações e sua rede de relações internas e externas. Abrange um conjunto de processos, regulamentos, decisões, costumes, ideias que mostram a maneira pela qual aquela empresa ou sociedade é dirigida ou administrada. C. O fator-chave do crescente interesse pela governança corporativa é uma sensível mudança que concede poder a outras partes interessadas, tais como clientes e acionistas minoritários.Selecione a alternativa correta:
A implantação de controles lógicos valida os documentos e refere-se à implantação de mecanismos de controles diversos, relacionados a processos e projetos, que descrevem normas estabelecidas para garantir a segurança da informação que está sendo disponibilizada. Se as transações ocorrem de forma eletrônica, o ganho é a garantia de autenticidade e integridade das informações que estão sendo entregues aos usuários.Em relação aos mecanismos de controles lógicos, analise as afirmativas a seguir.I. Mecanismos de certificação promovem segurança entre as partes, como o controle de uma empresa certificada no momento da transação, por exemplo, um token de validação de senhas de acesso.II. Mecanismos de cifração ou encriptação são métodos de aplicação de algoritmos que transformam a informação original em cifras embaralhadas, dificultando o entendimento do seu conteúdo, se for interceptada.III. Assinatura digital, por exemplo, validação de documentos recebidos por e-mail, caso em que emissor e receptor fazem a validação, por meio da assinatura do documento, de forma digital.IV. Mecanismos de garantia da integridade da informação estão relacionados à implantação de controles contra um acesso indevido que pode causar alterações na informação, descaracterizando seu conteúdo.
Está correto o que se afirma em:
Na função de gerente de projetos, deve haver um profissional qualificado e habilitado, pois ele tem a missão de: criar um plano para orientar, treinar e integrar os colaboradores e processos de projetos da organização; ser mediador de conflitos; promover um ambiente saudável. Isso tudo sempre buscando a excelência dos projetos que estão sob sua responsabilidade. Ainda, são necessárias as habilidades de saber se comunicar, ter um bom relacionamento, gerenciar conflitos etc.
Em relação às áreas de conhecimento relacionadas ao profissional gerente de projetos, assinale a alternativa correta.
O Material Requirements Planning (MRP) permite que as empresas calculem a quantidade de ___________ de determinado tipo, que serão necessários em cada momento. A essência do MRP é obter _______________, no lugar certo, no ____________, utilizando, para isso, ferramentas de ____________ de prioridades e programação de ___________.Preencha as lacunas escolhendo a alternativa correta.
O computador interage, de alguma forma, com seu ambiente externo. Essas ligações com o ambiente externo podem ser classificadas como dispositivos periféricos ou linhas de comunicação. Os dispositivos de processamento incluem a CPU, unidade central de processamento (Central Processing Unit – CPU), a qual tem a “inteligência” da máquina. Existem quatro componentes estruturais principais.
Em relação às características dos componentes estruturais, analise as afirmativas a seguir.I. Memória (principal): memória RAM de acesso randômico-volátil; carrega o sistema operacional quando ligamos o computador.II. Unidade Aritmética e Lógica (ULA): interage com a memória, e as solicitações são processadas por meio de cálculos matemáticos.III. CPU: unidade central de processamento, composta por diversos registradores, controladores e ULA.IV. Unidade de Controle (UC): responsável por fazer a busca de um programa na memória e o controle operacional externo da CPU.
Está correto o que se afirma em:
Planejar é a maneira pela qual organizações, com ou seu fim lucrativo, _________, implantam e lidam com as ___________, que podem ser _________ por _____________, como as iniciadas por funcionários de todos os níveis, ou por ___________________, como atividades realizadas pelos concorrentes, acionistas e por leis, regulamentações da comunidade, eventos naturais e condições econômicas gerais.A mudança organizacional também ocorre na _____________ de __________. Nesse sentido, a ____________ de seus _________________________ pode ser fundamental para o _______________. Assinale a alternativa que preenche, corretamente, as lacunas:
Os algoritmos particionais baseados em erro quadrático buscam otimizar o critério de agrupamento com interatividades, em que, após a formação de um cluster, há uma mudança dos objetos para outro cluster a fim de melhorar o critério de agrupamento.Em relação aos algoritmos particionados baseados no erro quadrático, avalie as afirmações a seguir.O algoritmo k-médias é o único algoritmo hierárquico dos algoritmos de agrupamento, sendo classificado como um algoritmo aglomerativo.
O algoritmo k-médias é um algoritmo iterativo que busca minimizar o erro quadrático de uma partição formada por um número fixo k de clusters.
O algoritmo k-médias utiliza o critério da compactação, buscando regiões com uma variação de erro quadrático pequena, levando à formação de clusters esféricos.
O algoritmo k-médias não é sensível à escolha inicial dos centróides, sendo necessário que o algoritmo rode apenas uma vez, selecionando os objetos com menor frequência.Está correto o que se afirma em:
Frameworks e bibliotecas de aprendizado de máquina, como TensorFlow, PyTorch, e scikit-learn, desempenham papéis cruciais no desenvolvimento e na implementação de modelos de inteligência artificial. Cada um oferece um conjunto único de ferramentas e funcionalidades, tornando-se mais adequado para certos tipos de tarefas. Por exemplo, TensorFlow e PyTorch são frequentemente escolhidos para projetos que exigem redes neurais profundas devido à sua capacidade de processamento paralelo e suporte a operações com tensores, enquanto scikit-learn é preferido para aprendizado de máquina tradicional devido à sua simplicidade e eficiência. A escolha do framework ou biblioteca adequado pode significativamente impactar a escalabilidade e eficiência do projeto.
Neste contexto, sobre a escolha de frameworks e bibliotecas de aprendizado de máquina, avalie as afirmativas a seguir:I. A escolha do framework ou biblioteca correto é indiferente, pois todos são capazes de executar qualquer tarefa de aprendizado de máquina com eficiência similar.
II. Frameworks como TensorFlow e PyTorch oferecem suporte avançado para cálculos com tensores e processamento paralelo, sendo preferenciais aprendizado profundo.
III. Scikit-learn é otimizado para aprendizado profundo, oferecendo as melhores ferramentas para treinamento e inferência de redes neurais profundas.
IV. A eficiência na execução de tarefas específicas de aprendizado de máquina pode ser drasticamente afetada pela escolha do framework ou biblioteca.
V. Todas as bibliotecas e frameworks de aprendizado de máquina requerem a mesma quantidade de recursos computacionais para treinar modelos.
Está correto o que se afirma em:
As primeiras tentativas de modelar o processo de aprendizagem do cérebro humano em máquinas levaram ao desenvolvimento de estruturas simples, como o perceptron e o adaline, que consistiam em um único neurônio artificial. Esses modelos foram pioneiros, mas logo se descobriu que sua capacidade era limitada a classificar apenas conjuntos de dados linearmente separáveis. Para superar essa limitação e abordar problemas mais complexos, pesquisadores começaram a explorar arquiteturas com múltiplas camadas de neurônios, inaugurando a era das redes neurais profundas. Essas redes com múltiplas camadas são capazes de modelar funções complexas e resolver problemas de classificação e regressão não linearmente separáveis.Com base na evolução das redes neurais, qual das seguintes opções melhor descreve a principal limitação dos modelos baseados em um único neurônio, como o perceptron e o adaline?
As árvores de decisão organizam o conhecimento extraído do conjunto de dados em uma hierarquia de decisões, que vão sendo refinadas sucessivamente até a obtenção da classificação final, em que um problema complexo é particionado de forma recursiva em problemas mais simples, sendo utilizada essa técnica sempre que há um novo particionamento.Em relação aos conceitos de “métodos simbólicos” e ao algoritmo de árvores de decisões, marque a alternativa correta.
No contexto de Aprendizado Supervisionado em Machine Learning, diversos conceitos e terminologias são utilizados para descrever os diferentes tipos de problemas e modelos preditivos. Dentre esses conceitos, estão os problemas de "regressão" e "classificação", além da noção de "estimadores". Associe corretamente os conceitos da Coluna A com suas definições na Coluna B.Coluna A:
A. Problemas de Regressão
B. Problemas de Classificação
C. Estimador
D. Algoritmo PreditivoColuna B:Tarefa que busca mapear entradas em categorias discretas, como rótulos ou classes.
Função construída a partir de um conjunto de pares conhecidos, que visa estimar o valor de uma função desconhecida para novas observações.
Tarefa que visa modelar uma função contínua a partir dos conjuntos de dados de entrada/saída fornecidos.
Aprendizado que resulta em um modelo capaz de prever saídas para novas entradas, baseando-se em dados rotulados.Assinale a alternativa que contém a associação correta:
Grande parte dos algoritmos de agrupamento são considerados particionais, com alguns sendo considerados hierárquicos, com um tipo de algoritmo podendo se enquadrar em mais de uma categoria. Os algoritmos hierárquicos são divididos em aglomerativos, com os clusters unitários sendo aglomerados em conjuntos maiores, e divisivos, com os clusters maiores se tornando clusters menores, com apenas um objeto.Em relação aos dois tipos de algoritmos de agrupamento hierárquico, aglomerativos e divisivos, marque a alternativa correta.
No aprendizado não supervisionado, da mesma forma que há regras a serem seguidas nas tarefas de associação de dados para mineração de padrões frequentes, quando tratamos de clusters, cada um resulta em uma característica de conexão que possa melhor representar um determinado conjunto de dados ou atributos.Em relação à análise de agrupamentos e os seus critérios de agrupamento, avalie as afirmações a seguir a respeito das categorias de critérios de agrupamento e as correlacione com os termos e o uso às quais se referem.Compactação.
Encadeamento.
Separação espacial.Esse critério busca a formação de cluster a partir da identificação de “vizinhos próximos”. É bom para formas arbitrárias, mas é ruim quando há pouca separação espacial.
Esse critério considera apenas a distância entre clusters, sendo normalmente utilizado em associação a outros critérios por alguns algoritmos.
Esse critério busca regiões com uma variação intracluster pequena, o que normalmente leva à formação de clusters esféricos ou bem separados. No entanto esse tipo de abordagem tende a falhar para formas mais complexas.Assinale a alternativa que correlaciona adequadamente os dois grupos de informação.
Na análise de dados, a representação e classificação dos atributos são fundamentais para a compreensão e tratamento dos conjuntos de dados. Os atributos podem ser quantitativos, assumindo valores numéricos, ou qualitativos, representados por símbolos ou nomes. Além disso, a escala de valores dos atributos pode variar, incluindo nominal, ordinal, intervalar e racional. Cada tipo de atributo e escala tem suas próprias características e aplicações na análise de dados. Com base nesse entendimento, assinale a alternativa correta em relação aos tipos de atributos e suas escalas na análise de dados?
Hoje em dia, muitas empresas de tecnologia utilizam o Apache Spark em seus ambientes e, principalmente, em computação em nuvem, pois é uma ação simples subir o sistema Spark no sistema em nuvem da AWS, por exemplo. Isso certifica o Spark a ser uma tendência nos grandes sistemas computacionais, necessitando, também, de mão de obra especializada em tal framework.Em uma plataforma Apache Spark, um node é um computador do cluster que se divide em master - que gerencia todo o cluster - e workers - responsáveis por executar os processos, em que o Spark driver é o principal programa. O Apache Spark, similar ao Hadoop, também foi desenvolvido para sistemas escaláveis e distribuídos.Com relação ao texto acima sobre Apache Spark, avalie as afirmativas a seguir.
I - Os RDDs são a unidade de dados do Hadoop e têm como principal característica a propriedade de serem flexíveis e adaptáveis.
II - O Hadoop foi desenvolvido apenas em Java, diferentemente do Spark, desenvolvido em Scala, Java, Python e R.
III - O Apache Spark pode acessar dados de diferentes fontes, por exemplo, do HDFS, o armazenamento distribuído no Hadoop.
IV - Os RDDs são particionados e divididos em todo o cluster, e o Hadoop constrói essas partições de forma manual.Está correto que se afirma em:
O OpenShift Container Platform é uma plataforma para desenvolver e executar aplicativos em contêineres. Ele foi projetado para permitir que os aplicativos e os data centers que os suportam se expandam de apenas algumas máquinas e aplicativos para milhares de máquinas que atendam a vários clientes. Com base no Kubernetes, o OpenShift Container Platform incorpora a mesma tecnologia que serve como mecanismo, por exemplo, para sistemas de telecomunicações, streaming de vídeo, jogos, serviços bancários e outros aplicativos.Com relação ao OpenShift Container Platform, assinale a alternativa correta.
O desempenho de uma solução computacional é a medida da capacidade de resposta de um sistema para determinar a eficiência com a qual ele atinge seus objetivos.Também podemos considerar que o desempenho de uma solução computacional determina, para uma aplicação específica, a eficiência de como esse sistema alcança as expectativas e as necessidades dos usuários e dos desenvolvedores de sistemas computacionais.Com relação ao desempenho de uma solução computacional, assinale a alternativa correta:
O Apache Hadoop é considerado uma ferramenta importante para o processamento de alta demanda de dados. Entre os benefícios de utilizá-lo, pode-se destacar:
I. Código aberto: todo projeto de software livre de sucesso tem por trás uma comunidade ativa.
II. Único nó mestre: a arquitetura do Hadoop tradicionalmente utiliza várias máquinas para o processamento e armazenamento dos dados tendo como vantagem a utilização de apenas um nó mestre.
III. Simplicidade: Hadoop retira do desenvolvedor a responsabilidade de gerenciar questões relativas à computação paralela, tais como tolerância a falhas, escalonamento e balanceamento de carga.
IV. Processamento de arquivos pequenos: trabalho pequeno é tarefa para ser executada com base em um arcabouço com foco em larga escala.
Na construção de sistemas distribuídos, a decisão entre adotar uma abordagem de programação paralela ou concorrente é essencial e tem implicações significativas no design, na eficiência e na escalabilidade do sistema. A programação paralela foca no uso simultâneo de recursos computacionais para acelerar a execução de tarefas, ideal para operações que podem ser divididas em sub-operações independentes. Já a programação concorrente lida com a execução de múltiplas tarefas ao mesmo tempo, em ambientes onde as tarefas podem compartilhar recursos, exigindo gerenciamento cuidadoso de acesso para evitar conflitos e garantir a consistência dos dados.Neste contexto, sobre a programação paralela e concorrente em sistemas distribuídos, observe as afirmativas a seguir:I. A programação paralela é sempre a escolha preferencial para sistemas distribuídos, pois maximiza a utilização dos recursos disponíveis.II. A programação concorrente é adequada para aplicações em que tarefas interagem com recursos compartilhados, requerendo mecanismos eficazes de sincronização.III. Sistemas construídos com programação paralela não exigem considerações de sincronização, já que as tarefas executadas são completamente independentes.IV. A adoção da programação concorrente pode introduzir desafios adicionais em termos de complexidade do código e potenciais condições de corrida que devem ser gerenciadas.V. A escolha entre programação paralela e concorrente não tem impacto significativo na escalabilidade do sistema ou na facilidade de manutenção do código.É correto o que se afirma em: