DEV Community

Cover image for Front End Conceitos Junior
Henrique Vital
Henrique Vital

Posted on

Front End Conceitos Junior

Nível Júnior

  1. Pergunta: O que é o DOM? Resposta: O DOM (Document Object Model) é uma interface de programação que representa a estrutura de um documento HTML ou XML. Ele permite que scripts e programas acessem e atualizem o conteúdo, a estrutura e o estilo do documento. O DOM é uma representação em árvore do documento, onde cada nó é um objeto que representa uma parte do documento.

Exemplo:

 <div id="myDiv"> <h1>Olá, Mundo!</h1> </div> 
Enter fullscreen mode Exit fullscreen mode
 const myDiv = document.getElementById("myDiv"); console.log(myDiv.innerHTML); // "Olá, Mundo!" 
Enter fullscreen mode Exit fullscreen mode
  1. Pergunta: O que é o modelo de caixa (box model) em CSS? Resposta: O modelo de caixa é um conceito que descreve como os elementos HTML são representados como caixas retangulares. Cada caixa tem margens, bordas, preenchimento e conteúdo. O modelo de caixa é fundamental para entender como o layout de uma página é construído.

Exemplo:

 .box { margin: 10px; /* Espaço fora da borda */ border: 1px solid black; /* Borda */ padding: 20px; /* Espaço dentro da borda */ width: 100px; /* Largura do conteúdo */ } 
Enter fullscreen mode Exit fullscreen mode
  1. Pergunta: O que é uma função anônima? Resposta: Uma função anônima é uma função que não possui um nome. Ela é frequentemente usada como um argumento para outras funções ou como uma função de callback. Funções anônimas são úteis quando você não precisa reutilizar a função em outro lugar.

Exemplo:

 setTimeout(function() { console.log("Executado após 1 segundo"); }, 1000); 
Enter fullscreen mode Exit fullscreen mode
  1. Pergunta: O que são seletores CSS? Resposta: Seletores CSS são padrões usados para selecionar os elementos que você deseja estilizar. Existem vários tipos de seletores, como seletores de classe, ID e tipo. Eles permitem que você aplique estilos específicos a elementos HTML.

Exemplo:

 .className { /* Seleciona todos os elementos com a classe "className" */ color: blue; } #idName { /* Seleciona o elemento com o ID "idName" */ font-size: 20px; } 
Enter fullscreen mode Exit fullscreen mode
  1. Pergunta: O que é o "localStorage" em JavaScript? Resposta: localStorage é uma API que permite armazenar dados no navegador do usuário de forma persistente. Os dados armazenados no localStorage não expiram e permanecem mesmo após o fechamento do navegador. É útil para armazenar informações que você deseja manter entre sessões.

Exemplo:

 localStorage.setItem("key", "value"); const value = localStorage.getItem("key"); // "value" 
Enter fullscreen mode Exit fullscreen mode
  1. Pergunta: O que é o evento "DOMContentLoaded"? Resposta: O evento DOMContentLoaded é disparado quando o documento HTML inicial foi completamente carregado e analisado, sem esperar que folhas de estilo, imagens e subframes terminem de carregar. É útil para executar scripts assim que o DOM estiver pronto.

Exemplo:

 document.addEventListener("DOMContentLoaded", function() { console.log("DOM completamente carregado e analisado"); }); 
Enter fullscreen mode Exit fullscreen mode
  1. Pergunta: O que é o "this" em JavaScript? Resposta: O this em JavaScript refere-se ao contexto de execução atual. O valor de this pode mudar dependendo de como uma função é chamada. Em métodos de objetos, this refere-se ao objeto que está chamando o método.

Exemplo:

 const obj = { name: "John", greet: function() { console.log("Hello, " + this.name); } }; obj.greet(); // "Hello, John" 
Enter fullscreen mode Exit fullscreen mode
  1. Pergunta: O que é o "event bubbling"? Resposta: O "event bubbling" é um mecanismo de propagação de eventos em que um evento começa no elemento mais interno e se propaga para os elementos externos. Isso significa que, se um evento ocorrer em um elemento filho, ele também será capturado pelos elementos pai.

Exemplo:

 <div id="parent"> <button id="child">Clique em mim</button> </div> <script> document.getElementById("parent").addEventListener("click", function() { console.log("Div pai clicada"); }); document.getElementById("child").addEventListener("click", function() { console.log("Botão filho clicado"); }); </script> 
Enter fullscreen mode Exit fullscreen mode

Ao clicar no botão, a saída será:

 Botão filho clicado Div pai clicada 
Enter fullscreen mode Exit fullscreen mode
  1. Pergunta: O que é uma "callback function"? Resposta: Uma "callback function" é uma função passada como argumento para outra função, que pode ser chamada em um momento posterior. Isso é comum em operações assíncronas, como requisições de rede.

Exemplo:

 function fetchData(callback) { // Simulação de operação assíncrona setTimeout(() => { callback("Dados recebidos"); }, 1000); } fetchData(data => console.log(data)); // "Dados recebidos" 
Enter fullscreen mode Exit fullscreen mode
  1. Pergunta: O que é o "responsive design"?

    Resposta: O "responsive design" é uma abordagem de design web que visa criar páginas que se adaptam a diferentes tamanhos de tela e dispositivos. Isso é frequentemente alcançado usando media queries em CSS.

    Exemplo:

    @media (max-width: 600px) { body { background-color: lightblue; } } 

Nível Pleno

  1. Pergunta: O que é o Flexbox e como ele funciona?

    Resposta: Flexbox é um modelo de layout em CSS que permite distribuir espaço entre itens em um contêiner, mesmo quando seu tamanho é desconhecido. Ele facilita o alinhamento e a distribuição de espaço.

    Exemplo:

    .container { display: flex; justify-content: space-between; /* Espaço entre os itens */ } 
  2. Pergunta: O que são Promises em JavaScript?

    Resposta: Promises são objetos que representam a eventual conclusão (ou falha) de uma operação assíncrona. Elas permitem que você escreva código assíncrono de forma mais legível.

    Exemplo:

    const myPromise = new Promise((resolve, reject) => { // Simulação de operação assíncrona setTimeout(() => { resolve("Operação concluída!"); }, 1000); }); myPromise.then(result => console.log(result)); // "Operação concluída!" 
  3. Pergunta: O que é o conceito de "hoisting" em JavaScript?

    Resposta: Hoisting é um comportamento do JavaScript onde as declarações de variáveis e funções são movidas para o topo do seu contexto de execução durante a fase de compilação. Isso significa que você pode usar variáveis e funções antes de declará-las.

    Exemplo:

    console.log(x); // undefined var x = 5; 
  4. Pergunta: O que é o "virtual DOM" em React?

    Resposta: O "virtual DOM" é uma representação leve do DOM real. O React usa o virtual DOM para otimizar a atualização do DOM, permitindo que ele faça alterações de forma mais eficiente, comparando o virtual DOM com o DOM real e aplicando apenas as mudanças necessárias.

    Exemplo:

    const element = <h1>Hello, world!</h1>; ReactDOM.render(element, document.getElementById('root')); 
  5. Pergunta: O que são "props" em React?

    Resposta: "Props" (propriedades) são um mecanismo de passagem de dados entre componentes em React. Elas permitem que você passe dados de um componente pai para um componente filho.

    Exemplo:

    function Greeting(props) { return <h1>Hello, {props.name}!</h1>; } <Greeting name="John" /> // "Hello, John!" 
  6. Pergunta: O que é o "state" em React?

    Resposta: O "state" é um objeto que representa a parte da aplicação que pode mudar. Ele é usado para armazenar dados que afetam a renderização do componente.

    Exemplo:

    class Counter extends React.Component { constructor(props) { super(props); this.state = { count: 0 }; } increment = () => { this.setState({ count: this.state.count + 1 }); }; render() { return ( <div> <p>{this.state.count}</p>  <button onClick={this.increment}>Increment</button>  </div>  ); } } 
  7. Pergunta: O que é o "React Router"?

    Resposta: O React Router é uma biblioteca que permite a navegação entre diferentes componentes em uma aplicação React, facilitando a criação de aplicações de página única (SPA). Ele permite definir rotas e renderizar componentes com base na URL.

    Exemplo:

    import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; function App() { return ( <Router> <Switch> <Route path="/about" component={About} />  <Route path="/" component={Home} />  </Switch>  </Router>  ); } 
  8. Pergunta: O que são "hooks" em React?

    Resposta: Hooks são funções que permitem que você use o estado e outros recursos do React em componentes funcionais. O useState e o useEffect são exemplos de hooks.

    Exemplo:

    import React, { useState, useEffect } from 'react'; function Example() { const [count, setCount] = useState(0); useEffect(() => { document.title = `Você clicou ${count} vezes`; }); return ( <div> <p>Você clicou {count} vezes</p>  <button onClick={() => setCount(count + 1)}>Clique aqui</button>  </div>  ); } 
  9. Pergunta: O que é o "Webpack"?

    Resposta: Webpack é um empacotador de módulos para aplicações JavaScript. Ele permite que você agrupe arquivos JavaScript, CSS e outros recursos em um único arquivo ou em vários arquivos otimizados para produção.

    Exemplo:

    // webpack.config.js module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: __dirname + '/dist' } }; 
  10. Pergunta: O que é o "Babel"?

    Resposta: Babel é um transpilador que permite que você escreva código JavaScript moderno (ES6+) e o converta em uma versão compatível com navegadores mais antigos. Ele é frequentemente usado em conjunto com o Webpack.

    Exemplo:

    // .babelrc { "presets": ["@babel/preset-env", "@babel/preset-react"] } 

Bibliografia

As informações apresentadas foram extraídas e adaptadas de várias fontes confiáveis, incluindo:

  1. Glassdoor - Um site onde pessoas compartilham suas experiências de entrevistas e perguntas comuns.

  2. MDN Web Docs - Documentação abrangente sobre HTML, CSS e JavaScript.

  3. JavaScript.info - Um guia moderno para JavaScript, cobrindo desde os fundamentos até tópicos avançados.

  4. React Documentation - A documentação oficial do React, que fornece informações detalhadas sobre a biblioteca.

  5. CSS-Tricks - Um site com dicas e tutoriais sobre CSS e desenvolvimento front-end.

Essas fontes são amplamente reconhecidas na comunidade de desenvolvimento web e são ótimos recursos para aprofundar o conhecimento em front-end. Se precisar de mais informações ou exemplos, sinta-se à vontade para perguntar!

Top comments (0)