Past ExamsRwanda ICT preparation

Software Developer exam: what is tested and how to prepare

Written tests for developer posts check whether you can reason about code, not whether you have memorised a language's syntax. Expect to predict the output of a short program, choose the right data structure for a problem, spot a bug, estimate how an algorithm scales, or pick the safe way to query a database. Some employers add a practical coding task, but the written paper usually rewards clear thinking about how software behaves.

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.

What the questions draw on

  • Programming fundamentals: variables, types, conditions, loops, functions and scope.
  • Object-oriented concepts: classes, objects, encapsulation, inheritance, polymorphism and abstraction.
  • Data structures: arrays, lists, stacks, queues, hash tables and trees, and when to use each.
  • Algorithms: searching, sorting, recursion, and describing efficiency with Big O notation.
  • Databases: tables, keys, relationships, SQL queries, normalisation and indexes.
  • Web development: HTTP methods and status codes, APIs, and the roles of client and server.
  • Development practice: version control with Git, levels of testing, and agile methods such as Scrum.
  • Secure coding: input validation, SQL injection, authentication and handling secrets safely.

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

Reading code without running it

Many questions show a few lines of code and ask for the output or the final value of a variable. Trace them by hand: write down each variable and update it line by line as the loop runs. Candidates who guess the pattern often miss an off-by-one error or a condition that ends the loop early. Tracing slowly is faster than guessing and being wrong.

Choosing data structures and judging efficiency

A question may describe a task, such as checking whether a username already exists among millions, and ask for the best structure. A hash-based set or map gives near-constant lookup, while searching an unsorted list takes longer with every item added. Learn the common Big O classes, from O(1) and O(log n) to O(n), O(n log n) and O(n²), and connect each to a familiar operation, such as binary search for O(log n).

Databases and security together

Database questions often hide a security question. Building a query by joining user input into an SQL string invites SQL injection; parameterised queries prevent it. Passwords should be stored as salted hashes, never in plain text or with reversible encryption. When a question asks for the best way to handle user data, the secure answer is usually the expected one.

How to prepare

Write code every day, even briefly, in the language the advert names or in one you know well. Practise tracing programs on paper, because the test will not give you a debugger. Review the fundamentals of data structures, SQL and HTTP, and build one small project that uses a database and an API, so the concepts connect. Finish with timed practice papers to build pace. If the advert mentions a practical test, spend part of that time writing complete small programs against a clock rather than only answering questions.

Try a few now

  1. An employee unknowingly downloads a malicious browser extension that records every keystroke made on banking websites and sends the text to an external server. This malware is a...

    1. Keylogger
    2. Worm
    3. Adware
    4. Rootkit
    Show the answer

    A. Keylogger

    A keylogger records user keystrokes, often to steal credentials, credit card numbers, or other sensitive information.

    Original practice question, written against published exam objectives. Open this question

  2. An end-user downloads what appears to be a legitimate free PDF editor from a third-party site. Once installed, it edits PDFs but also silently installs a backdoor. This is an example of a...

    1. Ransomware
    2. Worm
    3. Trojan
    4. Keylogger
    Show the answer

    C. Trojan

    A Trojan horse disguises itself as legitimate or desirable software to trick users into installing it, while hiding malicious functionality.

    Original practice question, written against published exam objectives. Open this question

  3. An endpoint detection system flags unusual PowerShell activity. Investigation reveals a malicious script running entirely in RAM, heavily obfuscated, leaving no executable footprint on the hard drive. This is...

    1. Rootkit
    2. Logic bomb
    3. Fileless malware
    4. Trojan
    Show the answer

    C. Fileless malware

    Fileless malware operates in memory (RAM) and abuses native legitimate tools (like PowerShell or WMI) rather than dropping an executable file on the disk.

    Original practice question, written against published exam objectives. Open this question

  4. A receptionist receives a call from someone claiming to be the CEO, demanding a password reset immediately because they are about to start a critical board meeting. This BEST describes which attack?

    1. Tailgating
    2. Whaling
    3. Vishing
    4. Phishing
    Show the answer

    C. Vishing

    Vishing (voice phishing) uses a telephone call to socially engineer a victim. The urgency and authority are classic elements of this attack.

    Original practice question, written against published exam objectives. Open this question

More from the full bank

Anyone can read these questions. Their answers and explanations open with an access code.

Common questions

Which programming language will the test use?

Adverts often name the languages the employer uses. Where they do not, questions tend to use pseudocode or a widely known language. Focus on concepts that transfer between languages, and be comfortable in at least one.

Is there usually a practical coding test?

Many employers add one, either on a computer or on paper. Practise solving small problems end to end: reading input, processing it and producing correct output, with tidy, readable code.

How much mathematics do I need?

Mostly logic, basic arithmetic and an understanding of how algorithms grow with the size of their input. Some roles, such as data or graphics work, need more, and their adverts usually say so.

More Software Developer guides