Questões de Concurso Sobre engenharia de software

Foram encontradas 14.770 questões

Ano: 2025 Banca: TJ-PI Órgão: TJ-PI Prova: TJ-PI - 2025 - TJ-PI - Residente Tecnológico |
Q3903026 Engenharia de Software
O suporte a sistemas legados pode ser realizado por meio da reengenharia,que tem como objetivo:
Alternativas
Ano: 2025 Banca: TJ-PI Órgão: TJ-PI Prova: TJ-PI - 2025 - TJ-PI - Residente Tecnológico |
Q3903014 Engenharia de Software
Para auxiliar magistrados e assessores na elaboração de sentenças e acórdãos, a equipe de TI do TJPI planeja desenvolver um sistema de recomendação de jurisprudência integrado ao editor de textos do PJe. Ao analisar o texto da minuta em elaboração, o sistema deve sugerir decisões e súmulas relevantes do próprio TJPI e de tribunais superiores. Qual das seguintes arquiteturas de sistema de recomendação é a mais adequada para essa tarefa?
Alternativas
Ano: 2025 Banca: TJ-PI Órgão: TJ-PI Prova: TJ-PI - 2025 - TJ-PI - Residente Tecnológico |
Q3903012 Engenharia de Software
A Corregedoria Geral da Justiça do TJPI detectou um aumento expressivo no volume de processos contra um pequeno grupo de empresas de telefonia e instituições financeiras, caracterizando um fenômeno de litigância de massa. Para gerenciar essa demanda, a equipe de TI foi solicitada a construir um modelo preditivo que, ao analisar uma nova petição inicial no PJe, identifique com alta probabilidade se ela pertence a esse conjunto de litígios repetitivos. A análise inicial do dataset histórico revelou que esses processos representam apenas 5% do total de petições. Diante de um problema de classificação com dados severamente desbalanceados, qual é a abordagem metodológica mais adequada?
Alternativas
Ano: 2025 Banca: TJ-PI Órgão: TJ-PI Prova: TJ-PI - 2025 - TJ-PI - Residente Tecnológico |
Q3903011 Engenharia de Software
A equipe de TI do TJPI foi incumbida de desenvolver um sistema de Inteligência Artificial para realizar a triagem e classificação automática de petições iniciais submetidas via PJe. O objetivo é direcionar cada petição para a vara competente (ex: Cível, Família, Fazenda Pública) com a menor latência possível, visando reduzir o tempo de distribuição. A equipe está avaliando duas abordagens principais de Processamento de Linguagem Natural (NLP): uma baseada em TF-IDF com um classificador SVM (Máquina de Vetores de Suporte) e outra baseada em um modelo Transformer pré-treinado para o português, como o BERTimbau, seguido de uma camada de classificação. Considerando os requisitos de um ambiente de produção de alta demanda como o do TJPI, qual das seguintes afirmações representa a análise de trade-offs mais acurada para a escolha da tecnologia? 
Alternativas
Q3893945 Engenharia de Software
Uma equipe de TI precisa gerenciar a configuração de centenas de servidores de forma padronizada, repetível e com o mínimo de intervenção manual. Eles decidiram empregar ferramentas de automação como Puppet e Ansible. Considerando as características dessas ferramentas, assinale a alternativa correta.
Alternativas
Q3893938 Engenharia de Software
Uma equipe de desenvolvimento de software foi reestruturada para adotar práticas DevOps com o objetivo de melhorar a colaboração entre desenvolvedores e operadores, reduzir o tempo de entrega e aumentar a confiabilidade dos sistemas. Considerando os princípios e modelos do DevOps, assinale a alternativa correta.
Alternativas
Q3893923 Engenharia de Software
A abordagem de Infraestrutura como Código (IaC) tem se tornado cada vez mais comum em ambientes de DevOps e computação em nuvem, pois permite automatizar o provisionamento de servidores, redes e serviços. Sobre esse conceito, analise as afirmativas a seguir:
I.Infraestrutura como Código permite a definição e o gerenciamento de recursos de TI por meio de arquivos de configuração em linguagens declarativas ou imperativas.
II.Com a utilização da IaC, o provisionamento de infraestrutura torna-se repetível e versionável, reduzindo erros manuais e aumentando a previsibilidade.
III.A aplicação da IaC exige a substituição completa das práticas tradicionais de administração de sistemas, sendo incompatível com ambientes híbridos.

Está correto o que se afirma em:
Alternativas
Q3845384 Engenharia de Software
No contexto de desenvolvimento de software, qualidade pode ser entendida como um conjunto de características a serem satisfeitas, de modo que o produto de software atenda às necessidades de seus usuários. Entretanto, tal nível de satisfação nem sempre é alcançado de forma espontânea, devendo ser continuamente construído. Nesse sentido, há diversos atributos que visam garantir a qualidade de software e, enquanto um é definido como a capacidade do produto de software de ser compreendido, aprendido, operado e atraente ao usuário, quando usado sob condições especificadas, outro é conceituado como a capacidade do produto de software de apresentar desempenho apropriado, relativo à quantidade de recursos usados, sob condições especificadas.
Esses dois atributos são conhecidos, respectivamente, como: 
Alternativas
Q3845381 Engenharia de Software
A metodologia ágil representa uma forma de gerir projetos, em que se busca a otimização dos processos. Em vez de seguir um plano rígido, como na gestão tradicional, na metodologia ágil, pode-se fazer ajustes e melhorias ao longo do desenvolvimento de projetos, significando identificar e corrigir falhas rapidamente, garantindo resultados mais efetivos. Entre os métodos empregados nessa metodologia, dois são caracterizados a seguir.
I.Emprega um framework ágil que tem por objetivo facilitar a colaboração, a adaptação e a entrega de valor de forma iterativa e incremental, com base em três pilares fundamentais: transparência, inspeção e adaptação. Nesse esquema, o trabalho é dividido em iterações chamadas de Sprints, que geralmente têm duração de duas a quatro semanas e utiliza artefatos como o Product Backlog e o Sprint Backlog, além de reuniões de planejamento, revisão e retrospectiva. Com um enfoque na auto-organização e na colaboração da equipe, essa metodologia promove uma abordagem flexível para lidar com mudanças e busca maximizar o valor entregue ao cliente.
II.Emprega um esquema que enfatiza a visualização e a limitação do trabalho em progresso ou Work In Progress (WIP), além da melhoria contínua do processo. Essa metodologia utiliza um quadro, no qual as tarefas são representadas em cartões e movidas pelas diferentes etapas do fluxo de trabalho.
Os métodos descritos são conhecidos, respectivamente, como:
Alternativas
Q3845378 Engenharia de Software
As ferramentas para automatização de testes utilizam recursos especiais para realizar um conjunto de testes de software. Uma vez que o conjunto de testes é automatizado, nenhuma intervenção humana é necessária, por isso, as ferramentas para teste automatizado são tão importantes. Entre elas, uma é considerada uma das mais populares no momento, direcionada à testes de aplicações web pelo browser, utilizada para teste de regressão, sendo uma ferramenta gratuita open source, que fornece recursos de reprodução e gravação para este tipo de teste. Outra, considerada uma das ferramentas mais completas, ideal para iniciantes, altamente ajustável e fácil de usar, além de um IDE completo e APIs abertas para especialistas em automação, suporta testes de ponta a ponta em desktop, web e dispositivos móveis. Um detalhe importante é que essa ferramenta possui versão paga, mas também a de teste grátis.
Essas ferramentas de testes são conhecidas, respectivamente, como:
Alternativas
Q3845373 Engenharia de Software
DevOps é uma cultura baseada em práticas, modelos e ferramentas integrativas, que permite a eliminação de diferenças entre desenvolvedores e operadores que atuam na área da engenharia de softwares, tendo por objetivo manter um ritmo de trabalho complementar e constante, que atenda à demanda frequente por atualizações em sistemas complexos das organizações atuais. As ferramentas são fundamentais para que a dinâmica DevOps tenha sucesso, pois são elas que otimizam os processos, elevam o nível de confiabilidade e a automação em todas as etapas dos projetos. Entre essas ferramentas, uma fornece maior segurança aos aplicativos, sendo utilizada para empacotar aplicações e ambientes em contêineres, tendo se popularizado por facilitar a portabilidade dos projetos de engenharia de software. Dessa forma, a aplicação pode ser, simplesmente, replicada em outras máquinas rapidamente, agilizando a construção de diferentes partes dos programas.
Essa ferramenta é conhecida como: 
Alternativas
Q3845372 Engenharia de Software
Na metodologia de softwares tradicionais, primeiramente o código é desenvolvido, sendo ajustado de maneira retroativa para fins de validação. Em contrapartida, o Desenvolvimento Orientado a Testes (TDD) emprega uma metodologia que modifica esse paradigma, preconizando que os testes sejam escritos antes e que as adaptações sejam, só depois, aplicadas ao código, até que o projeto atenda aos requisitos do teste já definido. Nesse contexto, a figura mostra o fluxo de trabalho do TDD, com destaque para as etapas e sua natureza ágil, cíclica e iterativa. 
45.jpg (350×224)
Nesse esquema, a etapa I indica que o código não funciona, a II que tudo está funcionando, não necessariamente de maneira otimizada e, finalmente, a III em que o responsável otimiza o código, confiante de que o mesmo passou por vários testes, tendo sido alterado, aprimorado e chegado à versão final com mais segurança.
As etapas I, II e III são conhecidas, respectivamente, como:
Alternativas
Q3845371 Engenharia de Software
O ciclo de vida de um software é uma estrutura que indica processos e atividades envolvidas no desenvolvimento, operação e manutenção de um software, abrangendo de fato toda a vida do sistema. Existem diversos modelos de ciclos de vida para o desenvolvimento de software, sendo um deles ilustrado por meio da figura.
44.jpg (344×234)
Esse modelo de ciclo de vida é conhecido pela seguinte denominação:
Alternativas
Q3845365 Engenharia de Software
O gerenciamento de configuração é um processo de engenharia de sistemas para estabelecer a consistência dos atributos de um produto ao longo da vida, sendo que no mundo da tecnologia, constitui um processo de gerenciamento de TI que monitora itens de configuração individuais de um sistema de TI. Entre as ferramentas utilizadas nesse tipo de gerenciamento, uma constitui o sistema de controle de versão líder do setor para rastrear alterações de código. Nesse sentido, adicionar dados de gerenciamento de configuração ao lado de código em um repositório dessa ferramenta, possibilita uma visualização holística de controle de versão de um projeto inteiro.
Essa ferramenta de configuração é conhecida como: 
Alternativas
Q3845363 Engenharia de Software
Design Thinking é uma abordagem que se utiliza do pensamento do design como uma forma de encontrar as necessidades humanas e criar novas soluções usando as ferramentas e mentalidades de múltiplas disciplinas. Entre as técnicas de Design Thinking, uma fornece uma narrativa visual que promove empatia e comunica com o contexto, no qual uma tecnologia será usada. Tem por objetivo criar uma sequência de imagens, organizada quadro a quadro, para ajudar a capturar visualmente os fatores sociais, ambientais e técnicos importantes que moldam o contexto de como, onde e por que as pessoas se envolvem com os produtos.
Essa ferramenta é conhecida como:
Alternativas
Q3845357 Engenharia de Software
O Desenvolvimento orientado por comportamento (BDD) refere-se a uma técnica de desenvolvimento ágil, que visa integrar regras de negócios com linguagem de programação, focando o comportamento do software. Tem como objetivo melhorar a colaboração entre desenvolvedores, analistas de negócios e stakeholders, para que todos possam ter uma compreensão clara das expectativas em relação ao software. Para aplicar o processo de BDD de forma eficiente, é necessário seguir uma ordem específica, que inclui quatro etapas distintas, caracterizadas a seguir.
I.É a fase em que o Product Owner explica a visão geral do negócio, na qual a equipe utiliza o processo de discussão do BDD para reunir exemplos de usuários e entender como a função fornecida é usada, identificando problemas e possíveis novas regras de negócios.
II.É a fase em que a equipe faz perguntas para determinar quais regras, critérios de aceitação ou novas histórias podem ser criadas, na qual o esclarecimento das ideias ocorre por meio do diálogo entre os participantes.
III.É a fase em que todas as questões discutidas são agrupadas, criando um documento que contém todas as notas reunidas, na qual a linguagem Gherkin é geralmente recomendada ao criar critérios de aceitação.
IV.É a fase em que após pesquisar e testar a história, a equipe de desenvolvimento apresenta ao Product Owner para validação, na qual a história validada é utilizada durante a revisão da produção do projeto, para garantir que o produto corresponda aos padrões estabelecidos. Para finalizar, após a instalação do aplicativo no ambiente de produção, ocorre o monitoramento da funcionalidade para coletar feedback do cliente sobre o sistema desenvolvido.
As etapas descritas são conhecidas, respectivamente, como: 
Alternativas
Q3845355 Engenharia de Software
Prototipação é uma técnica que consiste em desenvolver o protótipo de algum produto, ou seja, uma forma de visualizar a ideia antes de ela ser entregue definitivamente ao mercado. Entre as categorias de protótipo, uma tem por objetivo investigar o que um produto pode oferecer ao usuário, descrevendo como a funcionalidade da qual o usuário pode se beneficiar, sem dar muita atenção ao como funcionaria. Outra categoria, tem por objetivo validar a experiência do usuário com a interface do produto, refinando o direcionamento das interações com o público alvo.
Essas duas categorias de protótipo são conhecidas respectivamente, como:
Alternativas
Q3845349 Engenharia de Software
O teste de software constitui parte integrante do ciclo de vida de desenvolvimento de software, visando ter certeza sobre funcionalidade, desempenho e experiência do usuário, sendo uma parte importante e imprescindível, pois ajudam a garantir a qualidade do código. Entre os tipos de testes, enquanto um tem por objetivo validar os diferentes módulos juntos como um todo e identificar os bugs e problemas relacionados a eles, outro se concentra em testar partes/unidades individuais de um aplicativo de software no início do ciclo de vida, sendo que qualquer função, procedimento, método ou módulo pode ser uma unidade a ser submetida a esse tipo de teste para determinar sua correção e o comportamento esperado.
Os dois tipos de testes descritos são conhecidos, respectivamente, como testes:
Alternativas
Q3842958 Engenharia de Software
Contêineres são pacotes leves do código do aplicativo com dependências, como versões específicas de ambientes de execução de linguagem de programação e bibliotecas necessárias para executar seus serviços de software. Os contêineres tem por função oferecerem um mecanismo de empacotamento lógico em que os aplicativos podem ser abstraídos pelo ambiente em que são efetivamente executados. Os desenvolvedores usam a estruturação em contêiner para criar e implantar aplicações modernas devido a diversas vantagens, das quais uma é caracterizada por meio da utilização da estruturação em contêiner para implantar aplicações em vários ambientes sem precisar reescrever o código do programa. Nesse caso, os desenvolvedores criam uma aplicação uma vez e a implantam em vários sistemas operacionais. Por exemplo, eles executam os mesmos contêineres nos sistemas operacionais Linux e Windows.
Essa vantagem é conhecida como: 
Alternativas
Q3842939 Engenharia de Software
O GitLab representa um gerenciador de repositórios de software, cujo funcionamento se baseia em Git — sistema de versões distribuído usado para desenvolver softwares. O GitLab Ci caracteriza-se como um ambiente de Integração Contínua, que pertence ao GitLab, e oferece suporte para integração contínua, implantação contínua) e entrega contínua. Desse produto, o usuário deve criar uma conta para acessar o GitLab e, logo em seguida, criar um repositório. Nesse processo, há que se configurar um arquivo específico, com o intuito de promover o controle do projeto conforme o seu andamento. Após concluir a criação do arquivo, deve-se adicionar alguns comandos que garantem o seu funcionamento adequado, com destaque para três, descritos a seguir..
I. Responsável por determinar as fases que podem ser executadas ao longo do projeto.
II.Tem a finalidade de especificar a lista de arquivos e diretórios a serem anexados ao job depois do seu sucesso.
III. Detalha o caminho que vai ser trilhado pelo arquivo.
O nome do arquivo a ser criado e os três comandos descritos são, respectivamente:
Alternativas
Respostas
821: E
822: B
823: C
824: C
825: E
826: A
827: D
828: B
829: D
830: C
831: C
832: D
833: C
834: B
835: D
836: C
837: C
838: D
839: B
840: C