Past ExamsRwanda ICT preparation

Software Developer key topics and quick reference

Developers draw on a set of facts every day: what a status code means, which Git command does what, and the vocabulary of development practice. The reference tables on this page gather those facts. The notes below explain how to learn them and how they connect when you build and maintain real applications.

How this guide was made

Written for this site with AI assistance, then checked automatically before publishing. The topic table, sample questions, worked examples and study plan are generated from this site’s question bank: each worked example is recalculated by separate code, and each sample answer says where it came from.

The guide deliberately states no salaries, grades, pass marks or exam dates. Those change, and they could not be checked here, so take them from the advert itself.

This site is independent and is not affiliated with MIFOTRA or any employer.

Where to spend your study time

The suggested emphasis reflects what this position works with day to day. It is a study guide, not a published exam blueprint.

AreaSuggested emphasisQuestions in the bankPractise
Software development 56%378In the full bank
Cloud and emerging technology 22%188In the full bank
Cybersecurity 11%541Security
Linux command line 11%360In the full bank

Status codes tell a story

HTTP status codes are grouped by their first digit: 2xx for success, 3xx for redirection, 4xx for client errors and 5xx for server errors. Learning the groups first makes individual codes easier to remember and helps you debug an API quickly, since a 4xx points to the request and a 5xx to the server.

Quick reference

HTTP status codes

CodeMeaning
200OK - the request succeeded
201Created - the request succeeded and made a new resource
204No Content - succeeded with nothing to return
301Moved Permanently - the resource has a new permanent URL
302Found - the resource is temporarily at a different URL
304Not Modified - the cached copy is still valid
400Bad Request - the server could not parse the request
401Unauthorized - authentication is required or failed
403Forbidden - authenticated but not allowed
404Not Found - no resource at that URL
405Method Not Allowed - wrong HTTP verb for this resource
409Conflict - the request clashes with the current state
429Too Many Requests - the client has been rate limited
500Internal Server Error - the server failed unexpectedly
502Bad Gateway - an upstream server returned an invalid response
503Service Unavailable - the server is overloaded or down for maintenance
504Gateway Timeout - an upstream server did not respond in time

Git commands

CommandWhat it does
git clonecopy a remote repository, including its history, to a new local directory
git statusshow which files are staged, modified or untracked
git addstage changes for the next commit
git commitrecord the staged changes as a new commit
git pushsend local commits to a remote repository
git pullfetch from a remote and merge into the current branch
git fetchdownload remote commits without merging them
git branchlist, create or delete branches
git checkoutswitch branches or restore files in the working tree
git mergejoin another branch’s history into the current one
git rebasereplay commits onto a new base, rewriting their history
git logshow the commit history
git diffshow changes between commits, the index and the working tree
git stashset aside uncommitted changes and restore a clean working tree
git revertcreate a new commit that undoes an earlier one
git resetmove the branch pointer, optionally changing the index and working tree

Software Development terms

TermMeaning
API endpointA specific URL a client calls to reach one operation of a service
Big-O notationA description of how an algorithm’s cost grows as the input grows
CI/CDAutomatically building, testing and releasing changes as they are merged
CompilerA tool translating source code into machine code ahead of running it
EncapsulationKeeping an object’s internal state private and exposing behaviour instead
Foreign keyA column referencing the primary key of another table
InheritanceDeriving a class from another so it reuses and extends that behaviour
Integration testA test exercising several components working together
JSONA text format representing structured data as objects, arrays and primitives
NormalisationOrganising tables to remove redundancy and update anomalies
Primary keyA column whose value uniquely identifies each row in a table
Race conditionA defect where the result depends on the timing of concurrent work
RecursionA function solving a problem by calling itself on a smaller case
RefactoringChanging a program’s structure without changing what it does
RESTAn architectural style using HTTP verbs and URLs to act on stateless resources
StackA last-in, first-out collection
Technical debtThe future cost of a shortcut taken in design or implementation
Unit testA test exercising one small piece of code in isolation

Git as a safety net

Git commands matter because they let teams change code safely. Know how to create a branch, commit with a clear message, bring in changes from others, resolve a conflict and undo a mistake. Questions often ask which command fits a situation, such as updating a branch or reviewing history.

Development vocabulary

Terms such as refactoring, technical debt, idempotent, race condition and dependency injection come up in interviews, documentation and tests. Understanding them precisely helps you communicate with other developers.

Be ready to explain

  • The difference between 401 and 403.
  • What git rebase does compared with git merge.
  • Why an idempotent API operation is safer to retry.
  • What a race condition is, with a simple example.
  • Why technical debt slows a team down over time.

Common questions

Do I need to memorise all the HTTP status codes?

Learn the groups and the common codes well. Rarer codes can be looked up, but tests often include the common ones.

Which Git commands are most important?

The ones for everyday work: clone, status, add, commit, branch, switch or checkout, pull, push, merge and log.

More Software Developer guides