Skip to content

Instantly share code, notes, and snippets.

@erubboli
Last active July 28, 2021 14:15
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save erubboli/f9b4c627b4c8adf651c5dbe762675e4f to your computer and use it in GitHub Desktop.
Save erubboli/f9b4c627b4c8adf651c5dbe762675e4f to your computer and use it in GitHub Desktop.
Test

Recruitment process

First step is to complete a very simple test, it should not take more than 2 hours of your time and you're free to complete it when you want

Second step is a quick (20 min) technical interview

Third step is a quick (20 min) interview with the CEO


First step, please complete the following

Your application manage real estate, you have several types of assets you want to display:

  • Houses
  • Complex Buildings
  • Commercial Units

They're very similar, but there are some differences, see asset_fields.txt for a description of the models.

Write a simple Rails app* that allow managers (permissions are not important) to add items to the list of assets, they can also attach pictures. On the root page of the app users (they don't have to be logged) can see the list of items ordered by creation date: a single list that include all three types of assets. A user can buy an asset clicking a button, when this happens a special very long task needs to be executed (implemented in the file very_long_task.rb attached here), once the task is completed an email message must be sent to both the user and the owner confirming the success of the operation.

  1. you're free to take special care on the parts of the system that you like more (UI, backend, etc.)
  2. you're free to add tests

But please don't waste more than a couple hours on the test. Send your solution as a zip file or a link to the github repo to info@realhouse.io with CC anurag.agrawal@realhouse.io . If you have any question don't hasitate to ask.

*) Feel free to use other languages other than Ruby/Rails for the server side OR mock the server completely if you're applying for the frontend role.

house
-----------------
owner | string
address | string
rooms | int
sqmt | int
floors | int
air_cond| bool
price | decimal
complex building
------------------
owner | string
address | string
units | int
sqmt | int
price | decimal
commecial unit
------------------
owner | string
address | string
shops | int
sqmt | int
parking | int
price | decimal
class VeryLongTask
# call this method when you have to perform the very long task
def perform
sleep 60
true # the task was completed correctly
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment