Skip to content

Instantly share code, notes, and snippets.

@tadast
Last active April 3, 2024 12:25
Show Gist options
  • Star 18 You must be signed in to star a gist
  • Fork 13 You must be signed in to fork a gist
  • Save tadast/5642683 to your computer and use it in GitHub Desktop.
Save tadast/5642683 to your computer and use it in GitHub Desktop.
A technical challenge we give to our Ruby on Rails applicants in order to evaluate their coding proficiency.Job description: http://www.alphasights.com/positions/ruby-developer-london or http://www.alphasights.com/positions/ruby-developer-new-york

Update: I no longer work for the company and this challenge is no longer used, but I'll leave the gist here in case people want to practice.

Alphasights Technical Challenge

Using Ruby on Rails we would like you to create a simple expert search tool. The application should fulfill the requirements below. The source code must be placed in a public repo on GitHub. The application should be deployable on Heroku.

  • I enter a name and a personal website address and a member is created.

  • When a member is created, all the heading (h1-h3) values are pulled in from the website to that members profile.

  • The website url is shortened (e.g. using http://goo.gl)

  • After the member has been added, I can define their friendships with other existing members. Friendships are bi-directional i.e. If Sasha is a friend of Ash, Ash is always a friend of Sasha as well.

  • The interface should list all members with their name, short url and the number of friends e.g. Taylor http://goo.gl/3io1P (3)

  • Viewing an actual member should display the name, website URL, shortening, website headings, and links to their friends' pages.

  • Now, looking at Taylor's profile, I want to find experts in the application who write about a certain topic and are not already friends of Taylor.

  • Results should show the path of introduction from Taylor to the expert e.g. Taylor wants to get introduced to someone who writes about 'Dog breeding'. Claudia's website has a heading tag "Dog breeding in Ukraine". Bart knows Taylor and Claudia. An example search result would be Taylor -> Bart -> Claudia ("Dog breeding in Ukraine")

  • Optional: prefering h1 over h2 and shorter introduction paths when ordering results.

  • Bonus points for not using Twitter Bootstrap or any other CSS framework (We want to see how you structure your CSS).

We encourage you to use gems and libraries for everything except the search, where we want to see your algorithm. We are looking for a simple, clean, elegant design, tests and all round understanding of the full stack e.g. Ruby, Rails, CSS (or SASS), HTML (or HAML), JavaScript (or CoffeeScript).

@icorson3
Copy link

icorson3 commented May 1, 2018

Hi! FYI, I stumbled across this challenge when googling "Rails Technical Challenges". I hope that you take my suggestion as something of value rather than criticism:

As an Instructor at a code school, the language in your challenge is quite gendered. This may discourage diverse people (especially women) from applying to your company.

I would suggest changing the names in your challenge to gender neutral names or using multiple types of names to emphasis users. If you would like to talk more about this, I am happy to at ilana@turing.io. Thanks!

@GavinRay97
Copy link

@icorson3

Imagine having nothing better to do than complain on the internet about how free materials published on someone’s personal time for the benefit of others does not conform to your personal ideology.

@icorson3
Copy link

icorson3 commented Aug 10, 2019 via email

@tadast
Copy link
Author

tadast commented Aug 12, 2019

Hi @icorson3, sorry I did not see your earlier comment as I had my notifications turned off. The gist is very old and no longer in use, I no longer work for the company (they are doing really well BTW) i.e. I had forgotten this gist even exists.

I've updated the text based on your suggestions and will leave it online in case someone wants to practice. Let me know if you have ideas for further improvements. Thanks.

@rajesh1285
Copy link

@tadast where can i find solution for this challenge

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