1. O que é DOM?
DOM (Document Object Model) é uma interface de programação para documentos HTML. Esta interface permite que você influencie o documento a partir de scripts, alterando sua aparência, estilos, conteúdo. No DOM, um documento é representado como uma árvore de nós.
2. Qual é a diferença entre os elementos <span> e <div>?
<span>É um elemento embutido.<div>É um elemento de bloco.
Os elementos
<div>devem ser usados para estilizar as seções de um documento. E os elementos atuam <span>como contêineres para pequenas quantidades de texto, para imagens e outros elementos de página semelhantes.
Deve-se observar que você não pode colocar elementos de bloco em elementos embutidos. Aqui está um exemplo que mostra, entre outras coisas, o posicionamento incorreto de um elemento de bloco dentro de um elemento embutido (este é um fragmento
<div>I'm illegal</div>colocado dentro de um elemento <span>):
<div>Hi<span>I'm the start of the span element <div>I'm illegal</div> I'm the end of the span</span> Bye I'm the end of the div</div>
3. O que são metatags?
Meta tags são tags encontradas em uma tag de página
<head>que descreve o conteúdo de uma página. Meta tags não são exibidas na página. Eles são encontrados apenas em seu código.
Sua principal tarefa é descrever brevemente o conteúdo das páginas para os motores de busca. Aqui está um exemplo:
<head>
<meta charset="UTF-8">
<meta name="description" content="Description search engines use">
<meta name="keywords" content="Keywords, of, your, page">
<meta name="author" content="Me">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
4. Qual é a diferença entre identificador e seletores de classe em CSS?
Identificadores (
id) são únicos. Um item pode ter apenas um identificador. Pode haver apenas um elemento com um ID específico em uma página.
Os nomes das classes (
class) não são exclusivos. A mesma classe pode ser atribuída a vários elementos. Um elemento pode ser atribuído a várias classes.
Se um determinado estilo precisa ser aplicado a vários elementos da página, essa tarefa precisa ser resolvida por meio de classes.
5. Como usar consultas de mídia em CSS?
As consultas de mídia usam uma regra
@mediaque permite aplicar estilos CSS a diferentes tipos de conteúdo. As consultas de mídia também podem ser usadas para personalizar os elementos da página com base nas características do ambiente no qual as páginas são exibidas.
/* <div> "red" , 600px */
@media only screen and (max-width: 600px) {
div {
background-color: red;
}
}
6. O que são pseudo-classes em CSS?
Em CSS, pseudo-classes são usadas para descrever os estilos de elementos que estão em estados especiais. As pseudo classes podem ser usadas em conjunto com seletores CSS para personalizar a aparência dos elementos com base em seus estados.
Aqui está um exemplo:
/*
<a>, , green.
*/
a:hover {
color: green;
}
/* <a> purple.*/
a:visited {
color: purple;
}
Se for perguntado se você pode nomear alguma pseudo-classe, aqui está uma página com uma grande lista delas.
7. Qual é a diferença entre os seguintes tipos de posicionamento de elementos: relativo, fixo, absoluto, estático?
- O posicionamento relativo é quando um elemento é deslocado de sua posição padrão.
- O posicionamento fixo é quando você ajusta a posição de um elemento com base nas bordas da janela do navegador.
- O posicionamento absoluto é o posicionamento de um elemento em relação ao elemento pai posicionado mais próximo e exatamente onde especificado pelo desenvolvedor.
- O posicionamento estático é o modo de posicionamento padrão que exibe os itens na ordem em que são descritos no documento.
8. Qual é a diferença entre solicitações PUT e POST?
As solicitações PUT resultam na substituição do recurso de destino pelos dados transmitidos na solicitação. Ele pode ser usado para atualizar o conteúdo de um recurso existente ou para criar um novo recurso.
As solicitações POST resultam no processamento específico do recurso dos dados transmitidos na solicitação. Eles podem ser usados para realizar várias ações. Incluindo - para criar novos recursos, para enviar arquivos para o servidor, para enviar formulários.
Outra diferença entre as solicitações PUT e POST é que as solicitações PUT são idempotentes, mas as solicitações POST não. Ou seja, se uma solicitação em que os mesmos dados são transmitidos e executada na mesma URL for executada várias vezes, isso equivale a executar essa solicitação uma vez. Executar uma solicitação POST várias vezes não é equivalente a executá-la uma vez. Ou seja, vários desses pedidos, por exemplo, podem levar à criação de vários objetos no servidor.
9. Quais são as diferenças entre a tecnologia Long Polling, o protocolo WebSocket e os eventos gerados pelo servidor?
- Long Polling . , , , . .
- WebSocket .
- , , HTTP-, .
10. -, ?
O armazenamento local, como o nome sugere, é um lugar que os navegadores podem usar para armazenar dados localmente. Ele pode armazenar até 10 MB de dados. O armazenamento de sessão é um tipo de armazenamento local associado a uma sessão e excluído após sua conclusão. O armazenamento da sessão pode armazenar até 5 MB de dados.
Os cookies são usados para armazenar pequenas quantidades de dados, não excedendo 4 KB. O navegador pode usá-los, o servidor pode solicitá-los do navegador.
11. O que é CORS?
CORS (Cross-Origin Resource Sharing) é um mecanismo baseado em navegador que permite que as páginas acessem recursos fora de um determinado domínio. Isso estende os recursos das páginas e adiciona flexibilidade à política de mesma origem.
12. O que é uma promessa?
Promessas são objetos que o JavaScript usa ao executar operações assíncronas. Eles tornam mais fácil trabalhar com operações assíncronas e fornecem mecanismos de tratamento de erros mais convenientes do que retornos de chamada e eventos.
13. Em que estados pode estar uma promessa?
Uma promessa pode estar em um dos três estados:
- Cumprida - A operação associada à promessa foi concluída com sucesso.
- Rejeitado - A operação associada à promessa concluída com um erro.
- Pendente - uma promessa está em um estado pendente, ou seja, não se pode dizer que foi concluída com êxito ou com erro.
14. O que é variável e elevação de função em JavaScript?
Elevar variáveis e funções é o movimento de suas declarações para o topo de seu escopo (escopo global ou de função).
15. Quais valores são falsos em JavaScript?
Em JavaScript, valores falsos são valores que, quando convertidos para um tipo booleano, se tornam valores
false. Estes são os seguintes valores:
- ''
- 0
- nulo
- Indefinido
- NaN
- falso
- -0
- 0n // valores do tipo BigInt, quando convertidos para o tipo booleano, se comportam da mesma forma que os valores do tipo Number
Resultado
As perguntas que compartilhei com você foram feitas durante as entrevistas. Eu perguntei a eles em entrevistas com outros desenvolvedores. Perguntas como essa, complementadas por tarefas práticas, são uma boa maneira de testar o conhecimento de um candidato a programador front-end.
Acho que há muito mais perguntas sobre JavaScript a serem preparadas para uma entrevista inicial do que as abordadas neste artigo. As perguntas de análise sobre o TypeScript também podem ser muito úteis.
Se você declarar em seu currículo que está familiarizado com uma estrutura de front-end, isso significa que você deve se preparar para o fato de que serão feitas perguntas sobre o conhecimento dessa estrutura.
Que perguntas você recebeu nas entrevistas iniciais?
