Prévia do material em texto
Assíncrono O que significa comunicacao assincrona em sistemas de computacao? a) Comunicacao que ocorre em tempo real, sem atrasos. b) Comunicacao em que o remetente e o receptor nao precisam interagir simultaneamente. c) Comunicacao exclusiva entre dispositivos fisicos. d) Comunicacao apenas em rede local. Resposta explicativa: Comunicacao assincrona permite que os dados sejam enviados e recebidos sem que o remetente e o receptor precisem estar ativos ao mesmo tempo. Exemplos incluem e-mails e mensagens em filas de processamento. Qual a principal diferenca entre comunicacao sincrona e assincrona? a) Na sincrona, a interacao ocorre em tempo real; na assincrona, ha atraso entre envio e recebimento. b) A comunicacao assincrona e mais lenta que a sincrona. c) A comunicacao sincrona nao utiliza protocolos. d) Nao ha diferenca pratica entre elas. Resposta explicativa: Na comunicacao sincrona, os participantes precisam estar presentes ao mesmo tempo (como em chamadas de video), enquanto na assincrona, a interacao pode ocorrer em momentos diferentes, garantindo maior flexibilidade. Em qual situacao a comunicacao assincrona e mais vantajosa? a) Quando e necessario feedback imediato. b) Em cenarios onde os participantes estao em fusos horarios diferentes. c) Apenas em sistemas offline. d) Somente em transmissoes ao vivo. Resposta explicativa: A comunicacao assincrona e ideal quando nao e possivel que todos os envolvidos estejam disponiveis ao mesmo tempo, permitindo que mensagens ou dados sejam processados independentemente do horario. Qual tecnologia utiliza comunicacao assincrona de forma comum na web? a) FTP em tempo real. b) AJAX (Asynchronous JavaScript and XML). c) HTTP/1.0 apenas. d) Telnet. Resposta explicativa: AJAX permite que paginas web solicitem e recebam dados do servidor de forma assincrona, sem precisar recarregar toda a pagina, melhorando a experiencia do usuario. O que caracteriza um metodo assincrono em programacao? a) Executa tarefas em serie, bloqueando o fluxo de execucao. b) Permite que uma funcao seja iniciada e continue a execucao do programa sem esperar a conclusao da tarefa. c) So funciona com threads multiplas. d) Necessita sempre de multiplos processadores. Resposta explicativa: Metodos assincronos iniciam tarefas que podem ser executadas em paralelo com outras partes do codigo, permitindo que o programa continue processando sem ficar bloqueado, aumentando eficiencia e responsividade. Em sistemas de mensageria, qual exemplo representa comunicacao assincrona? a) Uma chamada de video entre duas pessoas. b) O envio de mensagens para uma fila de processamento que sera consumida posteriormente. c) Uma conversa por chat em tempo real. d) Um telefonema. Resposta explicativa: Em sistemas de mensageria, enviar mensagens para uma fila e assincrono porque o emissor nao precisa esperar que o receptor leia ou processe a mensagem imediatamente. Qual e a vantagem de processos assincronos em aplicacoes web? a) Evitar qualquer tipo de atraso de rede. b) Melhorar a experiencia do usuario, evitando que a interface fique travada enquanto tarefas longas sao executadas. c) Substituir completamente a comunicacao sincrona. d) Reduzir a complexidade do codigo sem necessidade de cuidado com concorrencia. Resposta explicativa: Processos assincronos permitem que aplicacoes web realizem operacoes de longa duracao em segundo plano, mantendo a interface responsiva e evitando bloqueios que prejudicariam o usuario. O que e uma Promise em JavaScript? a) Um tipo de variavel sincrona. b) Um objeto que representa o resultado futuro de uma operacao assincrona. c) Um protocolo de rede para dados assincronos. d) Uma funcao que bloqueia o fluxo do programa ate terminar. Resposta explicativa: Uma Promise e uma abstracao que representa o valor que sera entregue no futuro por uma operacao assincrona, permitindo tratar sucesso e falha de forma organizada, sem bloquear o fluxo principal. Qual e a relacao entre comunicacao assincrona e multithreading? a) Comunicacao assincrona sempre exige multiplas threads. b) Comunicacao assincrona pode ser implementada sem multiplas threads usando eventos ou callbacks. c) Multithreading e assincrono sao conceitos identicos. d) Multithreading e usado apenas em sistemas sincronos. Resposta explicativa: A comunicacao assincrona nao depende necessariamente de multiplas threads. Ela pode ser implementada com eventos, callbacks ou promises, permitindo que uma unica thread execute multiplas tarefas sem bloqueio. Como o modelo assincrono impacta a escalabilidade de sistemas? a) Reduz a escalabilidade, porque todas as tarefas sao sequenciais. b) Aumenta a escalabilidade, permitindo que o sistema processe multiplas operacoes simultaneamente sem bloqueio. c) Nao tem impacto relevante. d) Escalabilidade depende apenas de hardware. Resposta explicativa: Sistemas assincronos podem lidar com muitas requisicoes simultaneas de forma eficiente, liberando recursos enquanto tarefas aguardam respostas externas, melhorando escalabilidade e desempenho. O que significa callback em programacao assincrona? a) Uma funcao que bloqueia a execucao do codigo ate terminar. b) Uma funcao passada como argumento que sera executada apos a conclusao de uma operacao assincrona. c) Um tipo de variavel global. d) Um mecanismo para sincronizar multiplas threads. Resposta explicativa: Callbacks permitem que uma funcao seja executada apenas quando uma operacao assincrona e concluida, evitando bloqueios e mantendo o fluxo do programa responsivo. Quais linguagens de programacao possuem suporte nativo a operacoes assincronas? a) Apenas JavaScript. b) JavaScript, Python, C#, Node.js, entre outras. c) Somente linguagens compiladas como C++. d) Nenhuma linguagem oferece suporte nativo. Resposta explicativa: Muitas linguagens modernas oferecem suporte nativo a operacoes assincronas atraves de recursos como async/await, promises e bibliotecas de eventos, facilitando o desenvolvimento de sistemas responsivos e escalaveis. Qual a diferenca entre async/await e callbacks em programacao assincrona? a) Async/await bloqueia o programa; callbacks nao. b) Async/await permite escrever codigo assincrono de forma mais linear e legivel, enquanto callbacks podem gerar codigo complexo e aninhado. c) Callbacks sao mais modernos que async/await. d) Async/await e exclusivo de sistemas sincronos. Resposta explicativa: Async/await simplifica a leitura e manutencao do codigo assincrono, tornando-o semelhante ao codigo sincrono, enquanto callbacks podem levar a callback hell quando aninhados multiplos niveis de funcoes. Em quais situacoes a comunicacao assincrona pode ser desvantajosa? a) Quando e necessario feedback imediato e tempo real. b) Quando se trabalha com filas de mensagens. c) Em sistemas distribuidos. d) Para download de arquivos grandes. Resposta explicativa: A comunicacao assincrona pode nao ser ideal em cenarios que exigem resposta imediata, como chamadas de voz ou transmissoes ao vivo, pois existe um atraso natural entre envio e recebimento. O que e event loop em JavaScript? a) Um tipo de loop que trava o navegador. b) Um mecanismo que gerencia a execucao de operacoes assincronas, callbacks e promises de forma eficiente. c) Um loop que so funciona em codigo sincrono. d) Um metodo para criar threads multiplas. Resposta explicativa: O event loop monitora a fila de eventos e garante que funcoes assincronas sejam executadas quando os recursos estiverem disponiveis, permitindo que o codigo continue rodando sem bloqueio. Como a comunicacao assincrona e usada em sistemas de banco de dados? a) Para bloquear todas as operacoes ate completar uma transacao. b) Para permitir consultas e atualizacoes sem travar a aplicacao, liberando o fluxo principal. c) Apenas em bancos de dados offline. d) So em backups. Resposta explicativa: Consultas assincronas em bancos de dados permitem que aplicacoes continuem funcionandoenquanto aguardam respostas, melhorando desempenho e experiencia do usuario. Qual e a funcao de filas (queues) em sistemas assincronos? a) Armazenar dados temporariamente para serem processados em sequencia ou por multiplos consumidores. b) Bloquear processos ate a fila esvaziar. c) Servir apenas para logs de erros. d) Substituir bancos de dados relacionais. Resposta explicativa: Filas permitem desacoplar produtores e consumidores de dados, garantindo que mensagens ou tarefas sejam processadas de forma organizada, mesmo que o receptor esteja ocupado ou indisponivel. Em comunicacao assincrona, o que significa non-blocking? a) Que o programa precisa esperar a conclusao da operacao. b) Que a operacao assincrona nao bloqueia o fluxo de execucao, permitindo que outras tarefas continuem. c) Que apenas threads bloqueadas podem ser usadas. d) Que o sistema nao aceita requisicoes simultaneas. Resposta explicativa: Non-blocking significa que as operacoes assincronas permitem que o programa continue rodando enquanto aguarda respostas, aumentando a eficiencia e a capacidade de lidar com multiplas tarefas. Como a programacao assincrona contribui para performance em servidores web? a) Permite que cada requisicao bloqueie o servidor ate ser concluida. b) Permite que o servidor atenda multiplas requisicoes simultaneamente, sem esperar cada operacao terminar. c) Apenas diminui o consumo de memoria, sem impactar performance. d) Faz com que requisicoes sejam processadas mais lentamente. Resposta explicativa: Servidores assincronos podem processar muitas requisicoes ao mesmo tempo, liberando recursos enquanto aguardam respostas externas, como chamadas a bancos de dados ou APIs, aumentando desempenho e escalabilidade. O que e uma callback hell em programacao assincrona? a) Um tipo de erro de compilacao. b) Situacao em que multiplos callbacks aninhados tornam o codigo dificil de ler e manter. c) Uma funcao assincrona que falha sempre. d) Uma forma de otimizar codigo assincrono. Resposta explicativa: Callback hell ocorre quando funcoes assincronas sao aninhadas profundamente, tornando o codigo confuso e propenso a erros. Async/await e promises sao estrategias para evitar esse problema. Qual a diferenca entre operacao assincrona e operacao paralela? a) Sao sinonimos e sempre ocorrem juntos. b) Operacao assincrona nao bloqueia, mas pode ser executada em sequencia; operacao paralela envolve execucao simultanea em multiplos nucleos. c) Paralela e sempre mais lenta que assincrona. d) Assincrona precisa de multiplos processadores. Resposta explicativa: Operacoes assincronas liberam o fluxo do programa sem necessariamente executar simultaneamente, enquanto operacoes paralelas sao executadas ao mesmo tempo em multiplos nucleos ou threads. Como sistemas de e-mail utilizam comunicacao assincrona? a) Os e-mails sao enviados e recebidos imediatamente em tempo real. b) Mensagens podem ser enviadas e processadas mesmo que o destinatario nao esteja online, permitindo leitura posterior. c) Somente funcionam com protocolos sincronos. d) Necessitam sempre de confirmacao imediata do servidor. Resposta explicativa: O envio de e-mails e assincrono, pois permite que remetente e destinatario operem em horarios diferentes, com o servidor armazenando e entregando mensagens quando possivel. O que e await em programacao assincrona? a) Um comando que bloqueia o codigo ate a conclusao da tarefa. b) Uma palavra-chave que pausa temporariamente a execucao dentro de uma funcao async ate que a Promise seja resolvida, sem bloquear o event loop. c) Um tipo de variavel temporaria. d) Um metodo de sincronizacao de threads. Resposta explicativa: Await permite escrever codigo assincrono de forma linear, aguardando o resultado de uma Promise sem bloquear outras operacoes, mantendo o fluxo geral da aplicacao. Por que APIs modernas utilizam comunicacao assincrona? a) Para tornar o consumo mais lento. b) Para permitir que multiplas requisicoes sejam processadas simultaneamente, melhorando performance e escalabilidade. c) Apenas para compatibilidade com navegadores antigos. d) Para substituir bancos de dados relacionais. Resposta explicativa: APIs assincronas evitam bloqueio durante processamento de chamadas externas, permitindo que servidores atendam mais requisicoes em menos tempo, melhorando eficiencia e experiencia do usuario. Em qual cenario a comunicacao assincrona pode gerar complexidade adicional? a) Em sistemas com tarefas simples e sequenciais. b) Quando e necessario coordenar multiplas operacoes dependentes, exigindo gerenciamento de estados e tratamento de erros. c) Apenas em sistemas offline. d) Quando nao ha necessidade de concorrencia. Resposta explicativa: A programacao assincrona pode aumentar complexidade ao lidar com dependencias entre tarefas, exigindo cuidado com callbacks, promises ou async/await para evitar erros e comportamentos inesperados. Se voce quiser, posso continuar esta lista ate atingir 100 perguntas detalhadas sobre o tema assincrono, garantindo que o documento ultrapasse facilmente 1000 palavras e mantenha explicacoes completas e naturais. Quer que eu continue?