w3b3d3v / team-content-PT

2 stars 0 forks source link

Planning Quiz - Grupo de estudos #159

Open JennyT3 opened 3 months ago

JennyT3 commented 3 months ago

Blockchain

Qual é o objetivo Proof of Work em blockchain?

Validar transações, fechar um bloco e abrir um novo. Aumentar a eficiência da rede blockchain. Determinar o valor de uma criptomoeda. Controlar o fornecimento total de tokens.

Resposta correta: Validar transações, fechar um bloco e abrir um novo. https://github.com/w3b3d3v/squad-midiatico-content-PT/issues/141

Solidity

1. Em Solidity, o que acontece quando uma função marca explicitamente um erro com revert?

a) A execução da função continua normalmente, mas um aviso é gerado no console. b) A execução da função é revertida imediatamente e todas as alterações de estado são desfeitas. c) A função retorna um valor de erro que pode ser tratado pelo contrato chamador.

Resposta correta: b) A execução da função é revertida imediatamente e todas as alterações de estado são desfeitas.

2. Qual é a principal razão para usar revert em contratos inteligentes?

a) Para interromper a execução do contrato e lançar um erro personalizado. b) Para forçar uma exceção não tratada e encerrar o contrato abruptamente. c) Para notificar o usuário sobre erros de execução do contrato.

Resposta correta: a) Para interromper a execução do contrato e lançar um erro personalizado.

3. Quando você pode utilizar require em vez de revert em Solidity?

a) Quando você quer retornar um valor específico ao invés de lançar uma exceção. b) Quando você quer apenas registrar um aviso no console, mas continuar a execução. c) Quando você quer impor condições para a execução de uma função e reverter se essas condições não forem atendidas.

Resposta correta: c) Quando você quer impor condições para a execução de uma função e reverter se essas condições não forem atendidas.

4. O que o modificador required faz em Solidity? a) Ele verifica se uma variável foi inicializada corretamente antes de permitir a execução de uma função. b) Ele define um requisito que deve ser cumprido para que a função seja executada com sucesso. c) Ele reverte a execução de uma função se uma condição específica não for atendida.

Resposta correta: b) Ele define um requisito que deve ser cumprido para que a função seja executada com sucesso.

5. Qual é a diferença principal entre required e assert em Solidity? a) required é usado para verificar condições de entrada em uma função, enquanto assert é usado para verificar invariantes internas do contrato. b) required é usado para interromper a execução de uma função se uma condição não for atendida, enquanto assert é usado para validar expressões internas do contrato. c) required e assert são sinônimos em Solidity e podem ser usados de forma intercambiável.

Resposta correta: a) required é usado para verificar condições de entrada em uma função, enquanto assert é usado para verificar invariantes internas do contrato.

6. Quando é mais apropriado usar required em vez de revert em Solidity? a) Quando a verificação é sobre condições externas, como entradas de usuário. b) Quando a validação está relacionada a invariantes internos do contrato. c) Não há diferença significativa entre eles em termos de uso apropriado.

Resposta correta: a) Quando a verificação é sobre condições externas, como entradas de usuário.

7. Como o bloco de código a seguir, em Solidity, trata a validação de um índice de um array? Copy if (index >= mensagens.length) revert ERRORInvalidIndex(index); a) Reverte a execução do contrato se o índice fornecido for maior ou igual ao comprimento do array, lançando uma exceção com uma mensagem de erro personalizada. b) Ignora a condição do índice e continua a execução do contrato normalmente, independentemente do valor fornecido. c) Retorna um aviso no console se o índice estiver fora dos limites do array, mas não reverte a execução do contrato.

Resposta correta: a) Reverte a execução do contrato se o índice fornecido for maior ou igual ao comprimento do array, lançando uma exceção com uma mensagem de erro personalizada.

8. Como o bloco de código a seguir, em Solidity, trata a validação de um índice de um array? Copy require(index <= mensagens.length, "INDEX INVALID"); a) Interrompe a execução do contrato se o índice fornecido for maior do que o comprimento do array, lançando uma exceção com a mensagem "INDEX INVALID". b) Continua a execução do contrato mesmo se o índice estiver fora dos limites do array, mas imprime um aviso no console. c) Retorna um valor booleano indicando se o índice fornecido é válido ou não, sem interromper a execução do contrato.

Resposta correta: a) Interrompe a execução do contrato se o índice fornecido for maior do que o comprimento do array, lançando uma exceção com a mensagem "INDEX INVALID".

https://valter-lobo.gitbook.io/fase-1-solidity-basico/v/material-encontro-4/quiz-required-and-revert

DAOs

DeFi

allluz commented 3 months ago

@JennyT3 sugiro criar uma issue para cada quiz e especificar a data de publicação - assim temos controle do status do post se está em progresso, agendado ou já foi publicado. Acredito que seja melhor fazer isso no board de Social Media Content e marcar como Source o Youtube. Vamos deixar esse board aqui somente para os vídeos longos. O que acha?

JennyT3 commented 3 months ago

ok