Skip to content

Instantly share code, notes, and snippets.

@delbetu
Last active September 1, 2016 12:59
Show Gist options
  • Save delbetu/d6bb084f5fd7d930d3491726b4ef05ad to your computer and use it in GitHub Desktop.
Save delbetu/d6bb084f5fd7d930d3491726b4ef05ad to your computer and use it in GitHub Desktop.

#Guía para proceso de selección

##que es lo que precisamos ? Analizamos esto en base a lista de skills y como evaluarlas

##Skills Requeridas

1) Language        -> Candidate must speak, read and write english
2) Problem solving -> Debe poder resolver problemas que exijan un pensamiento lógico
3) Tiene que saber que es http, MVC, OOP, html, javascript, css
4) Intentar escribir, codigo robusto, legible, entender cada línea que escribió
   saber explir porqué lo hizo.
5) Tiene que manejar saber cuales son los componentes de rails y para que sirven
6) Tiene que saber que son tests algo de test y haber escrito algo de ello
7) Tiene que saber manejar sus tiempos para cumplir con objetivos
8) Tiene que saber manejar GIT( manejar bien rebase y merge )

##Como evaluar las skills requeridas ?

1) Entrevista y mails en inglés
2) Que resuleva un problema de codility en ruby
3) Preguntas generales sobre web development
4) Ver si el código que escribe es prolijo, pedirle que explique alguno de sus commits.
5) Preguntas generales sobre ruby y rails
6) Exigir que escriba tests en el código de ejemplo
7) mmmm ni idea
8) Pedir que suba el código para ver sus commits y preguntar que es un rebase en el cuestionario

Los puntos anteriores se pueden evaluar en base a una entrevista, prueba escrita( o meeting y preguntas oral ) y código de ejemplo. ##Entrevista Con Anthony para que evalúe el nivel de inglés. Y con Gabe para ver si la personalidad encajaría.

##Prueba escrita

###Preguntas

Web development en general
Que son las cookies ?(para que se utilizan)
Qué es http ?
Que diferencia hay entre un servidor de aplicaciones y un servidor web ?
Que es ajax ?
Que entiende por single page application ?
Que es MVC ?

Rails
Cuáles son los principales componentes de Rails y cuáles son sus responsabilidades?

(Asociaciones has_many, belongs_to, has_many_through)
Como implementaría la relación un usuario padre tiene muchos usuarios hijos.

Que Paths genera esto:
resources :posts do
  member do
    get 'comments'
  end
  collection do
    post 'bulk_upload'
  end
end

(Delete en cascada)
Al borrar un artículo se deben borrar sus mensajes. Cómo lo implementaría ?

class Article < ApplicationRecord
  has_many :comments, dependent: :destroy
  validates :title, presence: true,
                    length: { minimum: 5 }
end

Rendering, Qué diferencia hay entre render y redirect_to ?

Para qué son yield y content_for en las vistas ?

###Problema This problem from codility would be fine. Quizás podemos pedir que escriba un pseudo código de la solución.

##Código de ejemplo En vista que el código de ejemplo es para evaluar:

  • Prolijidad
  • Que sepa testear
  • Que maneje GIT
  • Que maneje Rails

Tres posibles opciones de pruebas

  1. Pedir que implemente una feature de un producto existente (ej: Refer)
  2. Task logger app( sólo 2 requerimientos )

    Usuario selecciona un proyecto, duración, tarea, descripción y loguea la tarea. Usuario presiona send report y envía un reporte con las tasks pendinentes(no enviadas) a slack

  3. Tomar un código público, dejarlo un poco feo y pedir que lo refactoree.

    Agregarle duplicación Juntar varios métodos en uno sólo Dejar lógica en el controller ( un método grande ) Que viole el principio de no hables con extraños Dejar comentarios erroneos Usar nombres de funciones y variables sin sentido Dejar codigo comentado Una función que reciba muchos argumentos Una función que no se utilice nunca

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment