Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Revisão

Total questions: 35

Worksheet time: 18mins

Name
Class
Date
1.

O que o fetch() retorna imediatamente ao ser chamado?

a)

Um objeto XMLHttpRequest

b)

Uma Promise

c)

O corpo da resposta como JSON

d)

Um ReadableStream

2.

Para transformar uma string JSON em objeto JS, usa-se:

a)

JSON.toObject()

b)

Object.fromJSON()

c)

JSON.parse()

d)

parseJSON()

3.

Para serializar um objeto JS em string JSON, usa-se:

a)

JSON.stringify()

b)

Object.stringify()

c)

toJSON()

d)

serialize()

4.

Qual afirmação é verdadeira sobre JSON?

a)

Aceita aspas simples em chaves

b)

Permite vírgula final (trailing comma)

c)

Aceita NaN e Infinity

d)

Chaves (nomes de propriedades) devem estar entre aspas duplas

5.

No fluxo clássico fetch → tratar resposta → exibir no DOM, a etapa de manipular a página ocorre via:

a)

WebAssembly

b)

DOM APIs

c)

Service Workers

d)

CSSOM apenas

6.

Dado const resp = await fetch(url);, qual verificação é a mais adequada antes de await resp.json()?

a)

resp.ok

b)

resp.headers.has('json')

c)

resp.statusText === 'OK'

d)

typeof resp === 'json'

7.

Em uma galeria dinâmica, por que usar <template>?

a)

Ele executa scripts embutidos automaticamente

b)

Evita CORS

c)

Mantém HTML “oculto” até ser clonado e injetado

d)

Converte HTML em JSON automaticamente

8.

Para parametrizar cartões de uma lista com metadados no HTML, a prática recomendada é:

a)

Atributos data-* com element.dataset

b)

Comentários HTML

c)

Classes CSS codificadas

d)

IDs numéricos sequenciais

9.

Em uma integração client-side, o que não é responsabilidade do fetch()?

a)

Criar a requisição

b)

Resolver para um Response

c)

Parsear JSON automaticamente

d)

Respeitar CORS/política de origem

10.

O acesso a data-user-id via dataset é:

a)

el.dataset.user-id

b)

el.dataset.userId

c)

el.dataset['data-user-id']

d)

el.dataset.userid

11.

Qual é o tipo de template.content?

a)

HTMLCollection

b)

NodeList mutável

c)

DocumentFragment (somente leitura)

d)

ShadowRoot

12.

Para alternar estados visuais sem reflow custoso e manter semântica, a técnica indicada é:

a)

Escrever style inline por item

b)

Alterar classes com classList

c)

Recriar nós com innerHTML em loop

d)

Usar document.write

13.

Qual método é recomendado para registrar ouvintes de evento?

a)

addEventListener()

b)

Event.observe()

c)

element.onClick = fn

d)

attachEvent()

14.

O que faz a opção { once: true } em addEventListener?

a)

Executa no capture phase apenas

b)

Garante que o listener rode uma vez e seja removido

c)

Torna o listener passivo para rolagem

d)

Cancela o bubbling

15.

Por que "passive: true" pode melhorar desempenho em rolagem?

a)

Permite ao navegador rolar sem aguardar preventDefault()

b)

Impede o click

c)

Desativa bubbling

d)

Converte listeners em throttled

16.

Para acessibilidade de botões customizados (ex.: <div role="button">), além de role, qual prática é essencial?

a)

Remover tabindex

b)

Usar apenas click do mouse

c)

Desabilitar foco

d)

Suportar Enter/Space via eventos de teclado

17.

setTimeout(fn, 0) garante execução imediata?

a)

Sim, antes de qualquer código restante

b)

Sim, mas somente em Web Workers

c)

Não; agenda para a próxima iteração do loop de eventos

d)

Não existe 0 em setTimeout

18.

Qual é um risco clássico do padrão de múltiplos callbacks?

a)

Bloqueio do thread principal

b)

“Callback hell” e difícil tratamento de erros

c)

Incompatibilidade com fetch()

d)

Necessidade de transpilar

19.

Qual construção encadeia tratamentos assíncronos preservando retorno?

a)

.when()

b)

.success()

c)

.done()

d)

.then()

20.

Em fetch(url).then(r => r.json()), o valor passado ao próximo .then() é:

a)

O objeto Response

b)

Uma Promise rejeitada

c)

O objeto JS parseado (resolvido da Promise de json())

d)

Um ReadableStream

21.

Qual é a vantagem de async/await sobre .then() em muitos passos?

a)

Torna síncrono o código

b)

Executa em paralelo automaticamente

c)

Dispensa Promises

d)

Sintaxe linear; tratamento de erro com try/catch

22.

Para gerar cartões de forma eficiente e evitar múltiplos reflows, a abordagem mais indicada é:

a)

Concatenar strings e definir innerHTML a cada item

b)

Usar <template> + DocumentFragment e inserir tudo de uma vez

c)

Criar elementos e anexar um a um

d)

Usar document.write

23.

Para filtrar sem recriar nós, escolha a técnica:

a)

Remover nós e recriar

b)

Alternar hidden/classes utilitárias

c)

Recarregar a página

d)

Usar alert()

24.

Qual sequência está correta para “consumir e renderizar” uma lista?

a)

fetch → await resp.json() → montar DOM (template/dataset) → anexar

b)

await resp.json() → fetch → anexar → montar DOM

c)

Montar DOM → fetch → ignorar JSON

d)

Apenas fetch é suficiente

25.

Em uma página que consome uma API, o erro mais comum ao tentar usar os dados antes do await fetch() terminar é:

a)

TypeError: Cannot read property of undefined

b)

SyntaxError: Unexpected token

c)

ReferenceError: await is not defined

d)

NetworkError: Failed to fetch

26.

O método Array.filter() é ideal para:

a)

Transformar elementos em novos valores

b)

Adicionar novos itens a um array

c)

Retornar apenas os elementos que satisfazem uma condição

d)

Interromper um loop

27.

Qual opção melhor descreve o comportamento de Promise.all()?

a)

Retorna assim que a primeira Promise resolve

b)

Rejeita se qualquer Promise for rejeitada

c)

Executa em série, uma após a outra

d)

Sempre retorna um objeto vazio

28.

Em acessibilidade web, qual é a melhor prática ao associar um <label> a um <input>?

a)

Repetir o nome do campo em ambos

b)

Colocar o label depois do input

c)

Usar o atributo for com o mesmo id do input

d)

Usar apenas aria-label

29.

Para criar uma animação leve disparada após carregar dados da API, a abordagem recomendada é:

a)

Repetir setInterval a cada 10 ms

b)

Usar setTimeout com valores fixos

c)

Usar requestAnimationFrame()

d)

Forçar reflow com offsetHeight

30.

Em fetch(url).then(r => r.json()).catch(err => console.error(err)), qual parte trata falhas de rede

a)

.then()

b)

.json()

c)

Nenhuma, pois fetch nunca falha

d)

.catch()

31.

Qual verbo HTTP é usado quando o cliente quer enviar dados para criação de um novo recurso?

a)

GET

b)

POST

c)

DELETE

d)

PUT

32.

Qual código de status HTTP indica sucesso total da requisição?

a)

201 Created

b)

204 No Content

c)

200 OK

d)

202 Accepted

33.

Em uma requisição fetch, qual código indica erro do cliente, geralmente causado por uma URL incorreta?

a)

301

b)

400

c)

500

d)

404

34.

O código 500 Internal Server Error indica:

a)

Erro inesperado no servidor ao processar a requisição

b)

Redirecionamento temporário

c)

Problema de rede no cliente

d)

Erro de autenticação

35.

Em uma API RESTful, qual resposta é esperada após criar com sucesso um novo recurso via POST?

a)

200 OK

b)

201 Created

c)

202 Created

d)

201 OK