Our screening process

As a network, we have a very rigorous screening process to identify the best. We are experts in Computer Science, and we look for great problem solvers with passion and drive — the types of people we want to work with. That is why we do 3 full rounds of interviews with each of our students.


1st Round: Language, Personality and Work Experience

Candidates must be able to read, write, and speak English extremely well. We expect them to have at least 6 months of work or internship experience. We also probe into the inner depths of personality traits, looking for passionate and driven individuals who are hands-on and fully engaged in their work.

  • What programming languages do, and at which do you excel?
  • Tell me approximately a few tasks you’ve worked on.
  • What have you ever learnt out of your most current undertaking?
  • What do you do while you run into an obstacle at some point of a task?
  • Do you enjoy operating in teams?
  • Recollect a time while a mission you worked on wasn’t nicely received. How did you respond?
  • How do you cross about beginning a new task?
  • What do you do to stay abreast of developments in tech?
  • In which area do you see yourself 5 years from now?

2nd Round: General Technical Knowledge

Next, we check for technical knowledge of candidates in their field of expertise. Each candidate is screened by experts in their functional domain, and will be asked 10-20 technical questions. These questions have zero to minimal coding required, and tests if the candidate is aware of how technologies work in the real world. After this point, we also ask the candidate to provide some code examples (Github, school project...) which they worked on.

  • Explain me how REST APIs work.
  • What is revision/version control?
  • How is JavaScript different from Java?
  • Which are different methods two servers can communicate together?
  • What are the ways through which the files can be transferred to server?
  • What is difference between String, StringBuilder and StringBuffer in Java?
  • How do I create a thread to do AJAX polling?
  • What is the difference between an inner join and a left join in SQL?
  • What is your definition of the term "Cross-Site Scripting"? What is the potential impact to servers and clients?

3rd Round: Live Screening and In-Depth Skill Review

Each screener will provide specific 1-on-1 live-coding exercises via Skype that cover core topics within the candidate’s primary domain of expertise. We look at problem-solving ability, depth of experience, communication ability, and creativity. We typically only accept candidates with exceptional results.
It occurs sometimes that we ask a candidate to deliver a small project prior to the interview, and we expect from him/her a working demo with some code explanation.

Our type of problems are of the same nature and difficulty as Codility's, and require similar problem-solving and creativity skills.
  • Given is number N. Create a function that calculates sqrt(N).
  • Let's say you have a list of N+1 integers between 1 and N. You know there's at least one duplicate, but there might be more. For example, if N=3, your list might be 3, 1, 1, 3 or it might be 1, 3, 2, 2. Print out a number that appears in the list more than once.
  • A binary gap within a positive integer N is any maximal sequence of consecutive zeros that is surrounded by ones at both ends in the binary representation of N. For example, number 9 has binary representation 1001 and contains a binary gap of length 2. The number 529 has binary representation 1000010001 and contains two binary gaps: one of length 4 and one of length 3. The number 20 has binary representation 10100 and contains one binary gap of length 1. The number 15 has binary representation 1111 and has no binary gaps.
    Write a function that, given a positive integer N, returns the length of its longest binary gap. The function should return 0 if N doesn't contain a binary gap.