About the Job:
1. Programming Basics:
- Programming language related questions - Python/Go experience is good to have.
-
Questions around our tech-stack - Kafka/AWS/MySQL/etc.
2. Data Structures:
- Questions related to data structures and algorithms - typically in a time-based interview format, to assess critical thinking around:
- Reading/clarifying the problem statement.
-
Considering edge-cases.
-
Dividing the problem into sub-problems - with smaller, better testable functions.
-
Variable/function naming conventions.
-
Time complexity - Should be able to explain the time-complexity. But, as our scale doesn't always need very optimised code, we don't need the most optimal algorithm.
-
Space complexity - Should be able to explain space-complexity.
3. Database Schema Design:
- This is helpful to understand lower-level design skills, as well as database management and optimisation techniques.
-
Familiarity with relational database management systems (RDBMS) such as MySQL, PostgreSQL, or Oracle, and experience in designing and implementing normalised database schemas is good to have.
-
Additionally, knowledge of non-relational database systems such as MongoDB or Cassandra is a plus.
-
Experience in data modelling, normalisation, denormalisation, indexing, and query optimisation is also a plus.
4. Testing and Debugging:
- Questions related to unit testing, integration testing, and debugging techniques
About You:
-
1-3 years of hands-on experience in designing, developing, testing, and deploying small to mid-scale applications in any language or stack. 2+ years of recent and active software development experience
-
Should be clear and concise in communication
- Should be able to express their thoughts/opinions clearly.