Go Back

Take home assessment

M-kopa
Software Engineering specialist
Problem Description
At M-KOPA, we believe the best way to evaluate engineering candidates is to see how they actually write code in a realistic environment. Rather than conducting live coding or whiteboard exercises, we therefore choose to use a take-home exercise that lets you work comfortably at your own desk with your normal workflows. This exercise is designed to take 4-5 hours to complete. Important Notes: . If any instructions seem ambiguous, feel free to make and document your assumptions in the readme file. . Don't worry about handling every edge case - note any limitations for discussion in your follow-up interview. Remember: this exercise serves as a discussion point for your technical interview. Focus on demonstrating your approach to software development. While your solution should represent your capabilities well, we don't expect perfection. The Exercise v Service Archetypes at M-KOPA M-KOPA builds and deploys code using microservices. To complement and standardize this work we have a set of "service archetypes" that serve as reusable building blocks for common use-cases. Each of these service archetypes is supported by best-practice documentation and an automated template for quickly creating the skeleton new service instances. For this exercise we willl be giving you the best-practice documentation for a specific service archetype: an Outbound HTTP Service. An Outbound HTTP Service is meant to wrap an external HTTP API in an async, message-based contract. Other internal M-KOPA microservices can then take advantage of this async contract. Using the HTTP Integration Service Archetype to Build Part of an SMS Service In M-KOPA's markets SMS (aka "text messaging") remains an extremely important tool for reaching customers. To send these SMS messages M-KOPA integrates with a range of different SMS service providers in the countries where we operate, each of whom typically expose their SMS-sending capabilities via REST-style HTTP APIs. At a very high-level an integration will look something like:
Description 1
Hints

No hints available for this question.