JS, Node.js, Frontend, Backend, Firebase, Express, Patrones, HTML5_APIs, Asincronía, Websockets, Testing
¿Cúal es tu relación?
- Freelance/Nómada digital
- Developer por cuenta ajena
- Modelo hibrido
¿Qué haces?
- Desarrollas activamente (Software Engineers - SWE)
- Backend
- Frontend
- El mito del Fullstack
- Desarrollas parcialmente (Engineering Managers)
- Lideras producto
- Organizas y dinamizas el equipo
- No desarrollas pero aportas conocimiento técnico (Company Leadership)
- Team Lider/Manager
- Arquitectura y sistemas
- CTO
- Otras combinaciones
- Sin desarrollo activo
- Preventa
- Ingenier@ de soporte
- etc...
- Preparate un pequeño discurso sobre ti y tus habilidades
- Ten en mente algunos retos que has superado en el pasado
- Estudia la empresa en la que quieres trabajar
- Pregunta a tu red de contactos por la empresa y busca conocidos en el entorno
- Cuida tu imagen y no te pongas ropa con la que no trabajarias
- Llega con tiempo y se educado
- Prepararte para hablar sobre ti y gestionar preguntas
- No te quedes con dudas
- Aclara las cosas poco claras de la oferta y confirma todos los detalles (salario, condiciones, etc...)
- Antes de dejar un empleo, firma un contrato y asegurate que todo esta correctamente reflejado
- Pregunta por las politicas del "salario emocional" (remoto cuantos días, horario reducido, apredizaje...)
- Intenta conseguir formación o recursos para seguir formandote en horario laboral
- Pregunta sobre su politica de Open Source y autoria del código
- Pregunta por las condiciones y limites del NDA(s)
- Pregunta por la compatibilidad y clausulas especiales con otros empleos del sector
- Revisa las clausulas con alguien expert@ en la materia
- No tener todo lo que piden es NORMAL!
- Preguntar por las tecnologías que usan
- Preguntar por la metodología de trabajo
- Pedir ver código/diagramas/Etc...
- Preguntas sobre tu puesto actual
- Preguntas sobre tus tecnologías actuales y retos
- Ejemplos concretos de tu trabajo
- Retos lógicos (la cerilla, la cabra y el rio, etc...)
- Preguntas concretas o mas abiertas sobre las tecnologías que utilizan
- Proyectos en lso que has trabajo que te hacen sentir orgullo
- Cosas que cambiarias en proyectos anteriores, con la vision que da la experiencia
- PetProjects, sideprojects, charlas, comundiades y demás...
Parte técnica
- Resolución de algoritmos (empresas muy grandes)
- Coding Challenge (muy común)
- Puzzles and Brainteasers (poco común)
- Pair coding (muy poco común)
- Technical Whiteboarding (demasiado popular)
- A developer’s guide to interviewing
- Tech Hiring Has Always Been Broken. Here’s How I Survived it for Decades
- How I went from newbie to Software Engineer in 9 months while working full time
- Simon Sinek: Cómo los grandes líderes inspiran la acción
Preguntas generales
- ¿Qué es una arquitectura
server render
? ¿Qué diferencias tenemos con una arquitectura basada en AJAX? - ¿Cómo gestiona el navegador la descarga de recursos de un mismo dominio?
- ¿Si usas un control de versiones...? ¿Qué metodología recomiendas? y... ¿por que?
- ¿Si podieras aprender una tecnologia nueva ahora mismo... cual sería?
- ¿Qué cosas tengo que tener en cuenta en 2018 para crear un sistema web?
- ¿Tienes alguna recomendacion de como gestioanr el trabajo en un equipo multidisplicanr (back/front) para desarrollar una web usando AJAX?
- Animaciones con JS o con CSS?
- Jquery o no... ? por que?
- ¿Qué es una API? ...y Restfull?
- ¿Cómo gestionas la accesibilidad?¿Cómo la testeas?
HTML
- ¿Qué es y para que sirve
doctype
? - ¿Qué utilidad tienen los atributos
data-
? - ¿Qué diferencia
<script>
,<script async>
y<script defer>
?
CSS
- ¿Qué es la especificidad en CSS?
- ¿Qué se entiende por "cascada"?
- ¿Qué nomenclatura utilizas en CSS y por que?
- ¿Qué preprocesador recomendarias para un proyecto pequeño?¿Y.. para uno grande?
- ¿Cómo enfocarias el refactor de un código legacy?
- ¿Cómo plantearias una migración de Bootstrap a nuestro propio CSS?
- ¿Cómo funciona una media Query? Haz un ejemplo
- ¿Cuantos
Box-sizing
tenemos? y.. ¿Qué los diferencia? - Hablame sobre la propiedad
display
- Si tengo que dar soporte a IE11 que estratégia me recomiendas... ¿Qué evitarías utilizar? ¿Usarias polyfills?
- ¿Qué tienen de especiales las pantallas retina?
- ¿Cómo documentas tu CSS?
JavaScript
- Diferencias entre
==
y===
... - ¿Cómo funciona la delegacion de eventos?
- ¿Qué me aporta
preventDefault
? - ¿Cuando uso
map
,forEach
ofor
...? - ¿Qué diferencia
function Person(){}
,var person = Person()
yvar person = new Person()
?` - ¿Cuentame como funciona AJAX y ponme un ejemplo sencillo en la pizarra
- ¿Qué es JSONP? Cuando lo usuarias?
- ¿Qué es el
bubbling
? - ¿Qué difernecia un metodo de una propiedad en un objeto?
- ¿Qué es un operador tenario? Cuando y como se usa?
- ¿Qué es
use strict;
? - ¿Qué herramientas me ofrece el navegador para depurar mi proyecto?
- ¿Qué me aporta que JavaScript no sea compilado?
- ¿Qué quiere decir que las funciones de JavaScript son de primera clase?
- ¿Qué es una función anonima autoejecutada? Pon un ejemplo...
- ¿Qué me aporta
onclick()
yaddEventListener
? - ¿Si tengo un proyecto de IE8 como harias un polyfill de
attachEvent
yaddEventListener
? - ¿Cómo compartes codigo entre ficheros?¿Y sui tengo funciones anonimas autoejecutadas?
- ¿Qué diferencia
function foo() {}
yvar foo = function() {}
?
- h5bp/Front-end-Developer-Interview-Questions
- 10 common JavaScript interview questions
- 37 Essential JavaScript Interview Questions *
- 10 Interview Questions: Every JavaScript Developer Should Know
- A Tricky JavaScript Interview Question Asked by Google and Amazon
- 21 Essential JavaScript Interview Questions
- ganqqwerty/123-Essential-JavaScript-Interview-Questions
- Top 85 JavaScript Interview Questions & Answers
- 10 JavaScript concepts every Node.js programmer must master
- 10 JavaScript concepts you need to know for interviews
- A perfect guide for cracking a JavaScript interview (A developer’s perspective)
- Top 17 interview questions on Javascript
- Top 50 JavaScript Interview Questions And Answers
- Top 30 JavaScript Interview Questions And Answers
- 10 Read + Advanced JavaScript Interview Questions 2018
- 15 JavaScript interview questions and answers
- Typical JavaScript interview exercises (explained)
- yangshun/front-end-interview-handbook
- 5 Typical JavaScript Interview Exercises
- vvscode/js--interview-questions
- MaximAbramchuck/awesome-interview-questions
- 10 Interview Questions: Every JavaScript Developer Should Know
- How to Turn a Job Opening into a Dream Job for Top Tech Talent
- Struggling to Find Great Senior JavaScript Developers? Mentorship is the Answer
- Comunidades y entorno cercano
- Recruiters... El feliz developer | T3chFest 2018
- Hiwook
- Trabajos remotos
- Github Jobs
- stackoverflow Jobs
- angel list
- Working Nomads
- We Work Remotely
- Honeypot.io
- Mashable Jobs
- The Muse
- Product Hunt
- Domestika
- Malt
- curratelo.es
- Clasicas (Infojobs, Job & Talent...)
- Agencias de empleo temporal (Manpower, Adecco, etc...)
Context The purpose of this test is to enable you to demonstrate your proficiency in solving problems using software engineering tools and processes. Read the specification below and produce a solution.
Your solution should be in the form of completed code. The problem specified below requires a solution that receives input, does some processing and then returns some output.
Specification A robotic rover is to be landed by NASA on a plateau on Mars. This plateau, which is curiously square, must be navigated by the rover so that its on board cameras can get a complete view of the surrounding terrain to send back to Earth.
A rover's position is represented by a combination of an x and y coordinates and a letter representing one of the four cardinal compass points.
The plateau is divided up into a grid to simplify navigation.
An example position might be 0, 0, N, which means the rover is in the bottom left corner and facing North. In order to control a rover, NASA sends a simple string of letters. The possible letters are 'L', 'R' and 'M'.
'L' and 'R' makes the rover spin 90 degrees left or right respectively, without moving from its current spot. 'M' means move forward one grid point, and maintain the same heading.
Assume that the square directly North from (x, y) is (x, y+1).
Input The first parameter is the size of the square (the lower-left coordinates are assumed to be 0,0).
The rest of parameters is information pertaining to the rover that has been deployed.
The second argument gives the rover's position, and the third is a series of instructions telling the rover how to explore the plateau. The position is made up of two integers and a letter, corresponding to the x and y coordinates and the rover's orientation.
Output The output should be the final coordinates and heading.
Example function setup(5, “1 2 N”, [“L”, “M”, “L”, “M”, “L”, “M”, “L”, “M”, “M”]) Expected Output: “1 3 N”
Soluciones