Skip to content
NLEN
Illustration: Assessments and technical interviews for AI roles

Assessments and technical interviews for AI roles

By Ivo Donker — compiled with AI assistance (Claude & Gemini)

The selection procedure for technical AI roles differs fundamentally from traditional software engineering tracks. Where classic development tracks often lean on general data structures and LeetCode puzzles, AI and machine learning roles call for a combination of mathematical insight, statistical data processing, infrastructure knowledge, and hands-on experience with non-deterministic models. This article is aimed primarily at candidates, career changers, and engineers preparing for applications within the Dutch AI field.

To understand how these interviews are structured, it is wise to first analyze which skills employers are actually looking for. Anyone who wants insight into the broader dynamics of the Dutch labor market and demand for specific profiles can explore the AI labor market in the Netherlands to see which sectors attract the most technical capacity. In practice, the weight and angle of technical selections turn out to correlate strongly with the maturity of the organization.

The structure of a modern AI selection process

A representative selection procedure for an AI Engineer or Machine Learning Engineer usually consists of four consecutive phases. Each phase tests a different layer of professional competence, with the candidate funnel narrowing at every step:

Phase Type of interview / test Primary focus Time frame
1. Screening Technical recruiter / lead Realism of the CV, motivation, communication 30–45 minutes
2. Practical test Take-home or live coding Data manipulation, API integration, code quality 2–4 hours (or 60 min live)
3. Deep-dive interview AI system design & architecture Scalability, latency, evaluation metrics 60–90 minutes
4. Culture & values Team members and management Collaboration, dealing with uncertainty, ethics 45–60 minutes

During the first screening, recruiters assess whether the experience on paper matches actual knowledge. Many candidates flaunt certificates without deep project experience. Anyone who wants to know how the market views formal diplomas versus practical projects can consult the overview of AI certifications to judge which credentials really add value during a selection.

The shift in phases two and three is striking: where interviewers used to ask candidates to implement backpropagation or neural networks manually from scratch, today it is about robust integration of existing foundation models, processing unstructured data, and safeguarding reliability in production environments.

Live coding: from algorithms to data streams

Live coding interviews in the AI domain rarely focus purely on abstract mathematical proofs. Employers want to see how candidate developers handle realistic data processing, vector calculations, and calling model endpoints under time pressure. A common pitfall is that candidates start typing too soon without first exploring edge cases in the input data.

Below is a typical example of an assignment that may come up in a live 45-minute session: implementing a robust chunking and embedding pipeline with error handling, token limiting, and exponential backoff.

import time
from typing import List, Dict, Any

def batch_text_chunks(text: str, chunk_size: int = 500, overlap: int = 50) -> List[str]:
    """Breekt een lange tekst op in overlappende segmenten."""
    if not text or chunk_size <= 0:
        return []
    
    chunks = []
    start = 0
    text_length = len(text)
    
    while start < text_length:
        end = min(start + chunk_size, text_length)
        chunks.append(text[start:end])
        if end == text_length:
            break
        start += (chunk_size - overlap)
    
    return chunks

def mock_embedding_client(batch: List[str]) -> List[List[float]]:
    """Simuleert een API-call naar een vector-endpoint."""
    # In een live assessment toetst men hier foutafhandeling en retries
    if not batch:
        return []
    return [[0.015, -0.032, 0.881] for _ in batch]

def process_corpus(documents: List[str], max_retries: int = 3) -> Dict[str, Any]:
    processed_records = []
    for doc_id, doc in enumerate(documents):
        chunks = batch_text_chunks(doc)
        retries = 0
        while retries < max_retries:
            try:
                embeddings = mock_embedding_client(chunks)
                for chunk, emb in zip(chunks, embeddings):
                    processed_records.append({
                        "doc_id": doc_id, 
                        "text": chunk, 
                        "vector": emb
                    })
                break
            except Exception as err:
                retries += 1
                time.sleep(2 ** retries)
                if retries == max_retries:
                    raise RuntimeError(f"API-fout na {max_retries} pogingen: {err}")
                    
    return {"total_chunks": len(processed_records), "records": processed_records}

In sessions like these the interviewer watches not only for a working script but above all for structure: are functions neatly given type hints, are exceptions caught, and can the candidate explain why exponential backoff is necessary with external API dependencies? Handling empty lists, invalid characters, and token limits also weighs heavily.

The take-home assignment: pitfalls, scoring, and best practices

The take-home assignment is a favored instrument at mid-sized tech companies and consultancy firms. The candidate gets, say, 48 to 72 hours to build a mini RAG system (Retrieval-Augmented Generation), a classification model, or a data extraction tool. Although this produces less acute stress than being watched live, the format has clear drawbacks and risks.

One persistent problem is time spent. Companies often state that the assignment should take at most three hours, then judge the result against a yardstick with fifteen hours of work behind it. To protect yourself while still demonstrating craftsmanship, it is crucial to keep a tight scope and document missing parts explicitly in a README.md.

Anyone who wants to prepare thoroughly for the methodical aspects of this type of assignment would do well to work through the guide to preparing for a technical assessment for a detailed breakdown of submission formats and checklist criteria.

Take-home reviewers usually look at four fixed pillars in the repository:

AI system design: architecture, latency, and trade-offs

For senior roles the system design interview is decisive. Here the candidate is given an open-ended problem, such as: "Design a semantic search engine for five million legal documents that delivers results within 250 milliseconds under strict GDPR conditions."

Interviewers test four core aspects here:

The schema below shows what a realistic reference architecture looks like during a system design interview for enterprise search systems:

[Gebruiker / Client]
         │
         ▼
[API Gateway & Rate Limiter]
         │
         ├──────────────────────────────┐
         ▼                              ▼
[Semantische Cache (Redis)]    [Query Rewriter / HyDE]
  (Cache hit: <10ms)                    │
                                        ▼
                       [Hybride Zoeklaag (BM25 + Vector)]
                                        │
                                        ▼
                           [Cross-Encoder Re-ranker]
                                        │
                                        ▼
                          [LLM Synthese & Guardrails]
                                        │
                                        ▼
                             [Antwoord + Bronverwijzing]

The ability to weigh alternatives — for instance why a cross-encoder re-ranker raises latency by 80ms but improves relevance (NDCG@10) by 18% — is what sets an experienced architect apart from a junior developer.

Cost calculations and token economics in interviews

A crucial part of modern AI interviews that is often overlooked is financial insight into model operations. A strong AI engineer can produce a realistic estimate of the operational costs (OPEX) of a proposed architecture at speed.

Suppose a company wants to implement a customer service bot for 100,000 interactions per day. Each interaction consists on average of 1,500 input tokens (system prompt, conversation history, and RAG context) and generates 300 output tokens. A candidate has to be able to calculate the monthly costs for various model classes straight away:

Model class Indicative US dollar list prices per model class per 1M tokens (in / out; rates vary by provider) Cost per interaction Monthly cost (3M interactions)
Frontier LLM (e.g. GPT-4o, Claude Sonnet) $ 2,50 / $ 10,00 $ 0,00675 $ 20.250
Lightweight LLM (e.g. GPT-4o-mini, Flash) $ 0,15 / $ 0,60 $ 0,000405 $ 1.215
Self-hosted open source (e.g. Llama-3-8B on GPU) Fixed GPU infrastructure (2x A10G) Variable, based on load $ 1,400 (fixed hosting)

By demonstrating during an assessment how caching, query classification (simple questions to a small model, complex ones to a frontier model), and local embeddings cut costs by more than 80%, a candidate shows they can think along on business-critical terms.

Practical cases: dealing with non-deterministic models

A classic software interview tests deterministic logic: input X always yields output Y. In AI systems that is fundamentally different. LLMs and probabilistic models show inherent variance, temperature sensitivity, and vulnerabilities such as prompt injections.

During technical conversations, interviewers increasingly present real-world problems involving failure modes. Think of questions about what should happen when an upstream model suddenly breaks structured JSON output, or how to deal with token rate limits during unexpected traffic peaks. Anyone who wants to know exactly how interviewers phrase these questions and what strong answer structures look like can study frequently asked interview questions for AI roles in preparation for in-depth technical conversations.

Candidates who proactively mention during the interview how they set up evaluation frameworks (such as RAGAS or automated LLM-as-a-Judge evaluations) make a strong impression immediately. It shows that model development does not stop at a working prototype but only begins with systematic quality assurance.

Measurement methods and evaluation frameworks: RAGAS, NDCG, and LLM-as-a-Judge

When interviewers ask how the performance of an AI application is measured, many candidates fall short by talking only about "manual testing" or "seeing whether it looks right". In professional environments, being able to implement automated and quantitative metrics is expected.

The three most important measurement methods that come up in assessments are:

  1. RAG-specific metrics (RAGAS framework):
    • Faithfulness: To what extent is the generated answer directly traceable to the retrieved context (measuring hallucinations).
    • Answer relevance: Does the answer actually address the initial user question, without irrelevant digressions?
    • Context precision & recall: Does the retrieved context contain all the information needed to answer the question, and is the most relevant passage at the top?
  2. Information retrieval (IR metrics): Calculating Mean Reciprocal Rank (MRR) and Normalized Discounted Cumulative Gain (NDCG@k) to validate the ranking of embeddings and vector databases.
  3. LLM-as-a-Judge: Deploying a stronger model to run pairwise comparisons on production results, including techniques to mitigate positional bias and verbosity bias.

Organizational context and team dynamics in the Netherlands

Not every company tests at the same level. Within Dutch business we see roughly three categories of employer, each with its own assessment style:

Type of organization Assessment angle Main evaluation criterion
AI scale-ups / product companies Live coding & architecture Deep Python/C++ skills, scalability, latency
Large corporates / banks System design, governance & security GDPR compliance, robustness, auditability
Consultancy & service providers Case study & client presentation Translating a business problem into an AI solution

Implementing AI capacity also demands a broader cultural shift from organizations than simply hiring technical staff. Organizations struggling to integrate new technical talent into existing structures will find depth in the analysis of AI adoption within teams, which centers on the balance between technical firepower and organizational anchoring.

Evaluation criteria: what recruiters and leads watch for

When a review committee convenes after an assessment, lead engineers usually apply a fixed scoring matrix. Knowing these criteria helps you place the right emphases during the conversation:

Weak spots surface quickly when a candidate leans exclusively on abstract libraries (such as LangChain) without understanding which HTTP calls, prompts, and vector operations actually take place underneath. The ability to work bare-metal with APIs and numpy arrays shows real foundation.

A practical preparation strategy for candidates

Targeted preparation for technical assessments calls for a structured approach over a period of two to four weeks. The most effective strategy consists of working through three consecutive steps:

Step 1: refresh the fundamentals (week 1). Focus on core concepts: vector similarity metrics (cosine distance, dot product), tokenization algorithms (BPE), quantization techniques (GGUF, AWQ), and basic data processing with Pandas and NumPy.

Step 2: build working prototypes (weeks 2–3). Build small working components independently without heavy frameworks: write your own chunking mechanism, implement a simple vector retriever with a SQLite or ChromaDB backend, and build a robust evaluation loop that measures precision and recall on a small test set.

Step 3: mock interviews and architecture sessions (week 4). Practice reasoning out loud while drawing system diagrams. Discuss trade-offs between latency, throughput, and model size. Formulating your thinking steps out loud teaches you to communicate comfortably during live assessments.

Through this systematic preparation, a technical interview turns from an intimidating exam into a substantive dialogue centered on craftsmanship, realism, and problem-solving ability.