Ruby on Rails es probablemente el marco Ruby más famoso. Su simplicidad de uso, arquitectura MVC, comunidad y escalabilidad son las razones de su popularidad.
Algunos de los grandes nombres que usan Ruby on Rails son GitHub, Dribble, Shopify, Airbnb, Etsy, Kickstarter, Twitch y Zendesk, por mencionar algunos.
Si es un ingeniero de Ruby on Rails de nivel intermedio o experto, comprender la naturaleza de las preguntas que probablemente encontrará en su próxima entrevista es una decisión inteligente.
Las entrevistas pueden dar miedo si no estás preparado. Sin embargo, si está bien preparado, su confianza se disparará y es posible que tenga suerte de conseguir un nuevo puesto en la empresa de sus sueños.
Estas son algunas preguntas comunes de entrevistas de Ruby on Rails y sus respuestas.

What is Ruby on Rails?
Ruby es un lenguaje de programación orientado a objetos con una sintaxis simple.
Ruby on Rails es un marco Ruby que los desarrolladores usan para crear aplicaciones web.
Discuss the advantages of Ruby on Rails
- Menos código que otros lenguajes: Puede lograr mucho con solo unas pocas líneas de código con Rails.
- Amplia biblioteca y gemas.: Existen toneladas de bibliotecas y gemas para mejorar la funcionalidad de una aplicación de Ruby on Rails.
- Fácil de aprender: El código de Ruby on Rails parece un lenguaje sencillo.
- Una gran comunidad.
Discuss the limits of Ruby on Rails
- Cuando se compara con Django y Node.js, La velocidad de ejecución y el rendimiento de Rails son bajos.
- Documentación limitada para algunas de sus gemas.
- Ruby on Rails es obstinado, lo que limita la flexibilidad de un desarrollador.
What is a Rails controller?
Es el centro lógico de una aplicación Ruby on Rails. El controlador Rails administra, coordina y monitorea todas las interacciones entre usuarios, modelos y vistas.
What is Rails’ Active Record?
Active Record es una técnica de mapeo de relaciones de objetos (ORM). Esta capa de código Ruby se ejecuta entre la lógica del código y su base de datos. Después de escribir el código de Ruby, ejecuta 'migraciones' para realizar cambios en su base de datos.
What is MVC, and how does it work?
El patrón arquitectónico modelo-vista-controlador (MVC) separa la lógica comercial de la lógica de entrada y presentación.
- Modelo: maneja toda la lógica de datos en una aplicación de Rails.
- Ver: esta es parte de la aplicación que ven los usuarios.
- Regulador: es como un puente o intermediario que permite que el modelo y la vista se comuniquen.
What is an action controller in Ruby on Rails?
El controlador de acción es la C en el patrón MVC. El controlador de acción recibe solicitudes entrantes, da sentido a la solicitud y produce la salida adecuada.
What is rake in Rails?
Rake es un ejecutor de tareas para aplicaciones Ruby on Rails y Ruby. Rails tiene tareas Rake predefinidas para realizar pruebas, ejecutar migraciones y crear bases de datos.
What is yield in Ruby on Rails?
El rendimiento es una palabra clave utilizada dentro de los métodos para llamar a un bloque. No hay limitación en la cantidad de argumentos que Yield puede pasar al bloque. Los bloques, en este caso, son métodos sin nombres que se pueden pasar como argumentos adicionales a otros métodos.
What is Garbage Collection Ruby on Rails?
La recolección de basura es el proceso de controlar la memoria utilizada por los programas de computadora. Ruby on Rails realiza un seguimiento de los objetos que utiliza el programa en lugar del programador. Los desarrolladores pueden así centrarse en la lógica y la convención en lugar de preocuparse por la asignación de memoria.
What is the role of Garbage Collection in the Rails app?
Libera memoria en su máquina para que se ejecuten otros procesos. La recolección de basura logra esto eliminando los objetos inaccesibles que deja un programa después de la ejecución.
What is an asset pipeline?
Una canalización de activos en Ruby on Rails proporciona un marco que minimiza y concatena activos CSS y JavaScript. Este marco permite que todos los recursos de su aplicación Rails se combinen automáticamente con recursos de otras gemas.
Differentiate between dynamic and static scaffolding
Scaffolding es el proceso de generar partes principales de la aplicación Rails.
andamio estático ingresa explícitamente un comando que produce los datos requeridos en los campos respectivos. Para completar el scaffolding estático, debe ejecutar migraciones.
Andamio dinámico genera contenidos e interfaces de usuario durante el tiempo de ejecución. Este proceso se puede utilizar para crear, modificar y eliminar acciones en una aplicación de Rails.
What is a class library?
Una biblioteca de clases comprende dominios en Ruby on Rails, y la programación de subprocesos y los tipos de datos son ejemplos de dichos dominios. Una biblioteca de clases le permite a un desarrollador crear abstracción de código y, por lo tanto, usar la misma lógica dentro de diferentes elementos en una aplicación.
Describe Polymorphic Association in Rails
La asociación polimórfica es un tipo de asociación de registros activos. Polimorfismo significa que un objeto puede tener muchas formas. En el contexto de Rails, Polymorphic Association le permite definir un solo modelo que se puede asociar o pertenecer a otros modelos sin escribir un código repetido.
What is String Interpolation in Ruby?
La interpolación de cadenas agrega marcadores de posición que hacen referencia a otros valores en un objeto de cadena. El uso del operador de suma es la forma más sencilla de interpolar valores.
Considere este ejemplo:
name = "Titus"
puts "Hello " + name
La salida será;
hola tito
What is Object Relationship Model (ORM)?
Un ORM es un puente entre las bases de datos y los programas orientados a objetos. Una relación de objeto, en Rails, indica cuándo las clases se asignan a una tabla dentro de su base de datos.
Explain Rails migration
Las migraciones ayudan a los desarrolladores a realizar cambios en el esquema de una base de datos de manera conveniente. De este modo, los desarrolladores pueden administrar la implementación y la reversión en el esquema de la base de datos en un entorno controlado. Este enfoque le impide administrar secuencias de comandos SQL individuales para definir sus cambios.
Explain the naming convention in Rails
- Clase y módulo: use MixedCase pero no tenga un guión bajo. Los nombres de las clases y los módulos comienzan con una letra mayúscula.
- Tabla de base de datos: El nombre de una tabla de base de datos debe estar en plural y en mayúsculas y minúsculas.
- Variables: las letras que declaran variables deben estar en minúsculas y serpientes con un guión bajo separándolas.
- Modelo: use MixedCase para especificar un modelo y asegúrese de que el nombre esté en singular.
- Controladores: los nombres de los controladores están en plural.
What is the difference between string and text in Rails?
: cadena es adecuado cuando desea almacenar texto breve de hasta 255 caracteres. Puede usarlo con nombres, nombres de usuario, correos electrónicos, contraseñas y títulos.
:texto se ajusta a descripciones largas. Ejemplos perfectos de comentarios en una publicación de blog o en la descripción de una tienda.
class CreatePosts < ActiveRecord::Migration
def self.up
create_table:posts do |t|
t.string:description
t.text :content
end
end
Explain Cross-Site Request Forgery (CSRF)
La falsificación de solicitudes entre sitios (CSRF) es un ataque en línea en el que el atacante atrapa a los usuarios autenticados para realizar ciertas acciones en su nombre.
Rails requiere que los desarrolladores agreguen "protect_from_forgery" al ApplicationController para evitar ataques CSRF. La aplicación siempre requerirá un token CSRF para autenticar a un usuario.
Explain what mixin is in Rails
Un mixin ofrece una forma controlada de agregar funcionalidades a una clase. Muchos mixins diferentes forman una clase. Los mixins erradican la necesidad de tener múltiples herencias.
What is the use of load and require in Ruby?
requerir( ) se utiliza para importar bibliotecas/gemas
carga() se utiliza para ejecutar un bloque de código
What is the difference between callbacks and observers in Ruby on Rails
Observadores de rieles se utilizan cuando un método no está directamente relacionado con el ciclo de vida de un objeto. Sus ciclos de vida son grandes y se pueden conectar o desconectar en cualquier momento.
Devoluciones de llamada solo se puede llamar en instancias específicas en el ciclo de vida de un objeto. Ejemplos de tales instancias son actualizaciones, creación y validación. Las devoluciones de llamada solo están activas durante períodos breves.
What are Harnesses and Fixtures in Ruby?
Partidos de fútbol se refieren a una forma de organizar los datos que desea probar. Se pueden crear en archivos que terminan con una extensión .yml.
Arneses es el entorno o ejecutor de pruebas para ejecutar pruebas de Rails. Los accesorios se configuran en Arneses.
What is the difference between extend and include?
"Incluir" agrega un método de instancia a una clase. Por lo tanto, se podrá acceder al código a través de métodos de clase.
"Extender" agrega métodos de instancia definidos en el módulo a la clase extendida.
Are gems and plugins the same in Ruby?
Gemas son aplicaciones Ruby empaquetadas que necesitan ser instaladas. Son de propósito general y no dependen de Rails para su funcionalidad.
Plugins en Ruby on Rails se implementan junto con su aplicación Rails. Modifican o agregan a la funcionalidad principal de Rails.
What are rail observers?
Rails Observer ofrece un mecanismo en el que un objeto informa a los demás cuando cambia su estado. Es aplicable en una relación de uno a muchos, de modo que cuando un objeto cambia, todos los objetos dependientes se informan y cambian automáticamente.
What command is used to create a migration?
bin/rails db:migrate
Show how to define class, Instance, and global variables in Ruby
- Variables de clase: Se puede utilizar en cualquier lugar dentro de su clase. Los descendientes de clase también pueden acceder a ellos. Comienzan con @@.
- Variables de instancia: Se utiliza en el ámbito local que es específico de las instancias del objeto creado. Pueden variar de un objeto a otro. Comienzan con @.
- Variables globales: Accesible en cualquier lugar dentro del programa. Comienza con $.
Which role does rakefile available in the demo directory in Ruby play?
Rakefile ayuda con la prueba y el empaquetado del código de Rails. El archivo define las tareas que realizan pruebas o demuestran las funciones de la aplicación.
What is a sweeper in Rails?
Los barrenderos actúan como terminadores en el almacenamiento en caché. Actúan como medio filtro y medio observador e implementan devoluciones de llamadas para los dos roles. El 'expire_cache' encuentra todos los fragmentos de caché que deben caducar y los borra,
What are filters?
Estos son métodos "antes" o "después" de que se ejecute la acción de un controlador. Dichos métodos se heredan y se ejecutarán con cada solicitud que reciba su aplicación, siempre que los haya configurado en ApplicationController.
Differentiate between redirect and render in Rails
Hacer: se utiliza para representar una plantilla y luego enviarla al cliente en respuesta a la solicitud. Esta plantilla luego genera la página que mostrará el navegador.
Redireccionar: envía una nueva solicitud HTTP a una URL diferente. Esta acción redirige al cliente a un controlador o acción diferente. Este método es útil cuando desea cambiar la URL que los clientes ven en el navegador.
Differentiate between calling super() and super call
- súper: envía un mensaje al padre del objeto actual para invocar todos los argumentos del método invocado.
- súper(): no envía ningún argumento al padre.
What is the difference between Procs and Blocks?
- bloques: A fragmento de código rodeado de instrucciones do/end o llaves. Se crean y ejecutan cada vez que se llama al método.
- Procesos: Bloques de código unidos a un conjunto de variables locales. Este código se puede llamar en diferentes contextos y todavía accede a las variables.
What is the difference between puts and print statements?
Utilizamos pone cuando queremos imprimir algo en la pantalla. Por ejemplo,
puts “Hello World!!!”
Huellas dactilares ¡¡¡Hola Mundo!!! en la pantalla
Usamos imprimir cuando no queremos agregar una nueva línea en la consola.
print “Hello World!!!”
Salidas ¡¡¡Hola Mundo!!!, pero no se agregará una nueva línea a la consola.
What are dynamic finders?
Los buscadores dinámicos permiten a los desarrolladores buscar registros en su base de datos sin utilizar consultas SQL sin procesar. Ellos usan el encontrar_por_ palabra clave, a la que sigue el atributo a buscar.
Explain how Rail implements ajax
- Se inicia un activador, como enviar un formulario o hacer clic en un botón.
- Método JavaScript envía los datos del activador a un controlador en el servidor.
- El controlador del lado del servidor trabaja con los datos y envía HTML al cliente web.
- El controlador de JavaScript en el lado del cliente recibe contenido HTML y actualiza la página actual.
Explain Dig, Float, and Max
- Con la Cavar método, puede extraer valores de matrices o hashes anidados.
- Flotador es un tipo de datos de Ruby que representa números reales con precisión de coma flotante.
- Max es un método que se puede utilizar con matrices y hashes. Devuelve el valor máximo en una colección de elementos/valores.
array = [2, 9, 4, 7, 3]
maximum = array.max
La consola generará 9 ya que es el número más grande.
Conclusión
Arriba hay algunas preguntas que probablemente encontrará en su próximo Ruby on Rails. Si es un ingeniero de software completo, consulte estos Preguntas de entrevistas para Node.js. Asegúrese de comprender la descripción del trabajo de un ingeniero de Rails antes de asistir a su próxima entrevista.