How to pass our engineering interview

Are you an engineer? Let us tell you how to pass our interview!

Learn HTTP

Example question: describe in as much detail as you can, the process that takes place when you enter a URL into a browser address bar and press enter.

Material: Learn this well: https://developer.mozilla.org/en-US/docs/Web/HTTP. That’s the theory. For practice, try playing around with curl: https://flaviocopes.com/http-curl/.

Why: programming languages come and go, but much of the world’s software now runs on the web. And the web is built on HTTP.

Learn Unix

At the bottom of almost every cloud service is some sort of Unix-like system. And most developers spend a lot of time on Unix-like terminals. Here’s one of our favorite resources to learn about Unix/Linux: https://neilkakkar.com/unix.html

Learn at least one programming language well

Doesn’t matter which language it is. Just show us that you can solve big problems using it. If you can master one language, we will know that you can master any language.

Try doing little pet projects and committing your work to Github. Include your Github profile in your CV. Don’t upload a completed project in one go; instead, commit and push as you develop. Don’t forget to write tests.

And it goes without saying: please don’t copy others’ code; plagiarism will earn you an immediate disqualification and a permanent blacklist. Consider developing a REST API that does something useful. Here’s a guide to REST APIs: https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api

Refresh your logic, algorithms and data structures knowledge

Try a few of these, preferably in JavaScript: https://projecteuler.net/archives

Learn JavaScript/Node.js

If you really want to get a leg up, write your pet project using Node.js. Here’s everything you need to know about Node.js: https://different.lk/2021/03/25/nodejs.html

Learn a bit of system design

If you’re trying for a senior role, you might be expected to go through a system design interview. Here’s a great place to learn system design: https://github.com/donnemartin/system-design-primer. Try out some of the sample questions and answers there.

Learn a bit about the principles of Agile software development

Remember, Agile != SCRUM. An Agile process is any process that follows these principles: https://agilemanifesto.org/principles.html.

Apply!

Write to us at careers-eng AT different DOT com DOT au. Or, go to https://different.lk/careers.html