EMPG Engineering Interview Preparation Guide

Asim Ghaffar
3 min readFeb 1, 2021

--

Here are some pointers for potential applicants to best prepare for the EMPG tech interview for teams working on internal apps for Zameen and other businesses. If you haven’t applied yet, then you may do so here for positions in Pakistan.

Our interview process is the same whether you have zero years of experience or 20 years of experience. The degree of difficulty and level of skills are expected to be better for the experienced candidates.

Screening

For screening, we use HackerRank or a similar platform. Here are some quick tips to clear this phase.

  • Practice, practice, practice. If you can solve medium level problems on HackerRank, then you should clear our screening.
  • The primary objective is to solve a problem(s) efficiently. It need not be the most efficient solution. However, where an O(n log n) solution is possible with a bit of thinking, don’t settle on O(n2).
  • The secondary objective is code readability and maintainability. Once you have solved a problem, take some time to clean it up and make it concise.

Our recommendation is to use the same language at the screening that you intend to use in the main interview later. Use the language that you have the best mastery of. Be aware of general good practices associated with your favorite programming language.

Assignment

Based on screening result, some applicant may get an assignment e.g. create a simple SPA consuming some public API.

Main Interview

Our colleagues in SectorLabs will conduct the main technical interview. It has three parts.

Tip: while sharing your contribution to the projects you have worked on, use the word “I” not “We” :).

Problem Solving

First, there will be a live coding session to solve a problem on your local IDE with screen sharing. Try thinking out loud to engage the interviewers, and explain your thought process and reasoning.

If you can think of multiple solutions, talk about them before jumping in. Work your way up from trivial to an optimal solution, and don’t forget to address time and space complexities at each level.

For more help, see: https://yangshun.github.io/tech-interview-handbook/cheatsheet/

Code Review

You’ll be given a piece of code to review. You may not clear this phase if you have an ad hoc approach to code reviews.

See these links for a few pointers:

System Design

You are being interviewed for a team working on multi-tenant database-driven business apps that can potentially have a few thousand concurrent users. Your system-design skills should be reasonable for such a level of scale.

You should be able to work through a system design problem progressively as more constraints are being added. You’ll be required to talk about design tradeoffs and the pros and cons of different approaches to a specific design problem.

Following is a bit advanced stuff. So if you are applying for senior roles, you may want to skim through this:

More goodies:

Following are some curated lists aimed at making everyone a better engineer.

A good list of commonly used software design patterns are:

Acknowledgements:

A few colleagues directly or indirectly helped me in preparing this guide: including Shahid Ali Khan, Lucian Dragomir, and Ahmad Luqman.

Bonus:

If you are a fresh graduate and looking for ideas to make your resume noticed then check this out: https://asim-ghaffar.medium.com/cs-freshie-have-this-in-your-resume-39532b2fd934

--

--

Responses (1)