Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?

The Incomplete Study Guide for RoR Interviews Outside Malaysia

This gist serves as a reminder for myself or for anyone who has found this on what to prepare. At this point, I have failed approximately 5 interviews (and counting) in Singapore, China, and Hong Kong. On the bright side, doing interviews allowed me to find out the gaps I have in my programming knowledge.

Take note:

  1. Just because there are questions I notice being asked by companies in certain territories, does not mean all companies in that territory will ask those, nor does it mean no companies outside the territories stated won't ask them.
  2. The number of companies I have interviewed with is considerably small. This study guide covers very little ground of what can actually be asked.
  3. Every failed interview gets you closer to better offers. So don't give up, keep going, you are bound to make it.

Database

Observation: It seems like Chinese and Hong Kong companies tend to ask questions related to the underlying data structures used by database systems.

  1. Data structure of PostgreSQL (or other SQL DBs) indexes (b-tree and hash).
  2. Data structure of Redis.

Data Structures and Algorithms

Only 1 SG company actually asked questions related to data structures and algorithms so far.

Sample questions:

  1. Implement a function that will be ran everytime a user makes a move in a tic tac toe board of n*n size to check whether they have won with that particular move in O(1) time.

Preparations:

  1. Cracking The Coding Interview
  2. Practise your ass off on HackerRank

Design Patterns

Frequently asked.

  1. Read up on Gang of Four Design Patterns and SOLID (Object-oriented design).
  2. Find your old real world project(s) for a good story to tell. Courseworks don't count.

DNS, HTTP(S)

Frequently asked. Seek to understand:

  1. How DNS works.
  2. How a typical HTTP/HTTPS request-response cycle is like.
  3. SSL handshake steps.

Related resources:

  1. What happens when a user types in URL in browser and hit enter
  2. How does HTTPS actually work

Example question encountered:

  1. An HTTPS library is vulnerable - it does not check for common names in certificates. How to intercept the data sent from the client? (Hint: man-in-the-middle, DNS poisoning, reverse proxies etc)

Ruby

Master several aspects that make Ruby Ruby:

  1. Metaprogramming
  2. Callable functions - Proc, Lambda, Thread

You can easily find all these written and explained in details in Well-Grounded Rubyist. Go read the book in its entirety.

Rails Testing

Examples of questions encountered:

  1. database_cleaner gem comes with several cleaning strategies. What do you use under different cases?
  2. Assuming a piece of Ruby code that will execute HTTP request to another HTTP endpoint that will return arbitrary results with different status codes, sometimes even timeout. How do you go about testing this?

Other questions asked

  1. Diff between process and thread.
  2. Diff between container and VM.
  3. Explain event bubbling.
  4. API consumption.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment