El estar en una entrevista de trabajo puede producir, sin duda, un gran estrés, por ello es recomendable aventurarse a conocer qué podríamos esperar de esa situación, es así que encontramos personas que han pasado por ello y comparten sus experiencias, en este caso, se trata de desarrolladores Javascript.
Los entrevistadores formulan preguntas que están destinadas a indagar si el candidato posee un conocimiento de la materia, de acuerdo a páginas como Career Guru, Toptal, entre otros.
- ¿Puedes nombrar dos paradigmas de programación importantes para los desarrolladores de aplicaciones de JavaScript?
El profesional deberá mencionar que JavaScript es un lenguaje de paradigma múltiple, que admite programación imperativa / de procedimientos junto con OOP (Programación Orientada a Objetos) y programación funcional. JavaScript soporta OOP con herencia prototípica.
- ¿Qué es la programación funcional?
La programación funcional produce programas al componer funciones matemáticas y evita el estado compartido y los datos mutables. Lisp (especificado en 1958) fue uno de los primeros lenguajes en admitir la programación funcional y se inspiró en gran medida en el cálculo lambda. Lisp y muchos idiomas de la familia Lisp todavía son de uso común en la actualidad.
La programación funcional es un concepto esencial en JavaScript (uno de los dos pilares de JavaScript). Se agregaron varias utilidades funcionales comunes a JavaScript en ES5.
- ¿Cuál es la diferencia entre herencia clásica y herencia prototípica?
Herencia de clase: las instancias se heredan de las clases (como un plano, una descripción de la clase) y crean relaciones de subclase: taxonomías de clase jerárquica. Las instancias se suelen instanciar a través de las funciones del constructor con la palabra clave new
. La herencia de clase puede o no usar la palabra clave class
de ES6.
Herencia prototípica: las instancias se heredan directamente de otros objetos. Las instancias normalmente se crean instancias a través de funciones de fábrica o Object.create ()
. Las instancias pueden estar compuestas de muchos objetos diferentes, lo que permite una fácil herencia selectiva.
- ¿Explica cómo leer y escribir un archivo usando JavaScript?
Hay dos formas de leer y escribir un archivo usando JavaScript:
Usando extensiones de JavaScript.
Usando una página web y objetos Active X.
- ¿Qué es la programación asíncrona y por qué es importante en JavaScript?
La programación síncrona significa que, salvo los condicionales y las llamadas a funciones, el código se ejecuta de forma secuencial de arriba a abajo, bloqueando tareas de larga ejecución, como solicitudes de red y E / S de disco.
La programación asíncrona significa que el motor se ejecuta en un bucle de eventos. Cuando se necesita una operación de bloqueo, se inicia la solicitud y el código continúa ejecutándose sin bloquear el resultado. Cuando la respuesta está lista, se dispara una interrupción, lo que hace que se ejecute un controlador de eventos, donde el flujo de control continúa. De esta manera, un solo hilo de programa puede manejar muchas operaciones concurrentes.
Las interfaces de usuario son asíncronas por naturaleza, y pasan la mayor parte del tiempo esperando que la entrada del usuario interrumpa el bucle de eventos y active los controladores de eventos.
El nodo es asíncrono por defecto, lo que significa que el servidor funciona de la misma manera, esperando en un bucle una solicitud de red y aceptando más solicitudes entrantes mientras se maneja la primera.
Esto es importante en JavaScript, porque es un ajuste muy natural para el código de interfaz de usuario y muy beneficioso para el rendimiento en el servidor.
Estas preguntas podrían parecer sencillas pero al momento de estar en una entrevista técnica de trabajo, debido a los nervios podrías flaquear, así que vale la pena hacer un último repaso de tus conocimientos. ¿Cuál ha sido tu experiencia y qué otras preguntas agregarías?