Skip to content

Instantly share code, notes, and snippets.

@TiagoNunesDeveloper
Last active April 9, 2017 16:41
Show Gist options
  • Save TiagoNunesDeveloper/ed1aa62fedbf63efd2d2ad2d58e4e7eb to your computer and use it in GitHub Desktop.
Save TiagoNunesDeveloper/ed1aa62fedbf63efd2d2ad2d58e4e7eb to your computer and use it in GitHub Desktop.
Front-end-Developer-Interview-Questions

####[⬆] Questões de JS:

  • Explique o evento delegation.

Resposta: " delegation" Ele defini um evento para um elemento pai, que será disparado para todos os seus filhos. Assim o evento vai funcionar para qualquer elemento filho que já existir e também para os que forem adicionados posteriormente na árvore do DOM.

  • Explique como this funciona em JavaScript.

Resposta: " this" Ele funciona como um objeto do contexto da função, aonde esse objeto aponta para uma instância da classe dentro da qual o método é definido.

  • Explique como funciona herança prototipada.

Resposta: " herança prototipada" * .*

  • Como você testa seu JavaScript?
  • AMD vs. CommonJS?
  • Explique por que a seguinte função não funciona como uma IIFE: function foo(){ }();.
    • O que precisa ser alterado para se tornar uma IIFE?
  • Qual a diferença entre uma variável que null, undefined ou undeclared?
    • Como você verificaria esses estados?
  • O que é uma closure, e como/por que você usaria uma?
  • Qual o caso de uso típico para funções anônimas?
  • Como você organiza seu código? (module pattern, herança clássica?)
  • Qual a diferença entre objetos herdados e objetos nativos? Qual a diferença entre: function Person(){}, var person = Person(), e var person = new Person()?
  • Qual a diferença entre .call e .apply?
  • Explique Function.prototype.bind.
  • Quando você otimiza seu código?
  • Você pode explicar como funciona a herença no Javascript?
  • Quando você deve usar o document.write()?
    • A maioria dos anúncios de publicidade ainda utilizam document.write() embora seu uso não seja recomendado.
  • Qual a diferença entre feature detection, feature inference, e o uso de UA string?
  • Explique o que é AJAX o mais detalhadamente possível.
  • Explique como o JSONP funciona (e como ele realmente não é AJAX).
  • Você já utilizou templates com Javascript?
    • Se sim, quais bibliotecas foram utilizadas? (Mustache.js, Handlebars, etc.)
  • Explique o que é "hoisting".
  • Descreva o que é event bubbling.
  • Qual a diferença entre "atributo" e "propriedade"?
  • Porque a extensão de objetos nativos não é uma boa ideia?
  • Qual a diferença entre o evento document load e o evento document ready?
  • Qual a diferença entre == e ===?
  • Explique como você pega um parâmetro na URL do browser.
  • Explique a política de same-origin em relação a Javascript.
  • Faça isso funcionar:
[1,2,3,4,5].duplicate(); // [1,2,3,4,5,1,2,3,4,5]

//Resp:
Array.prototype.duplicate = function(){return this.concat(this)}
  • O que é um operador ternário, o que a palavra "ternário" indica/significa?
  • O que é o "use strict";? Quais a vantagens e desvantagens de sua utilização?
  • Crie um loop for que itere até 100 enquanto retorna fizz em múltiplos de 3, buzz em múltiplos de 5 e fizzbuzz em múltiplos de 3 e 5.
//Resp: 
for(var i = 1; i <= 100; i++){
  if(i % 3 === 0 && i % 5 === 0){
    console.log('fizzbuzz')
  }else
  if(i%3 === 0){
    console.log('fizz')
  }else
  if(i % 5 === 0){
    console.log('buzz')
  }else{
    console.log(i)
  }
}

####[⬆] Questões de jQuery:

  • Explique "chaining".
  • Explique "deferreds".
  • Quais são algumas otimizações de jQuery que você pode implementar?
  • O que .end() faz?
  • Nomeie 4 valores diferentes que você pode passar para um método jQuery.
    • Seletor (string), HTML (string), Callback (function), HTMLElement, object, array, elemento de array, jQuery Object, etc.
  • Qual a diferença entre .get(), [], e .eq()?

####[⬆] Questões de código:

Questão: Como você faria isso funcionar?

add(2, 5); // 7
add(2)(5); // 7

Questão: Qual valor é retornado da seguinte declaração?

"sou uma lasanha".split("").reverse().join("");

Resposta: "ahnasal amu uos"

Questão: Qual é o valor de window.foo?

( window.foo || ( window.foo = "bar" ) );

Resposta: "bar" (apenas se window.foo for falso, se não ele vai retornar o seu valor próprio).

Questão: Qual o retorno dos dois alerts abaixo?

var foo = "Hello";
(function() {
  var bar = " World";
  alert(foo + bar);
})();
alert(foo + bar);

Resposta: "Hello World" & ReferenceError: bar is not defined

Questão: Qual o valor de foo.length?

var foo = [];
foo.push(1);
foo.push(2);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment