Technical Deep Dive

Pick the 3-5 sections most relevant to the role. Keep it conversational.


1 Imaging pipeline (15 min)

Choose appropriate questions from the following:

Camera Overview

“Walk me through what happens when a user takes a picture on a live-view camera.”

Follow-ups

  • Issues you’ve seen in V4L2?
  • Which ISP stages would you implement first and why? (see pipeline checklist)

ISP Blocks

Can you explain the components shown in this ISP diagram?

ISP Pipeline

Q: Can you walk through the pipeline? A:

  • MIPI
  • FPN (Fixed Pattern Noise)
  • BLC (Black Level Correction)
  • AWB (Auto White Balance)
  • Gain
  • DPCC (Defective Pixel Correction)
  • AE (Auto Exposure)
  • AF (Auto Focus)
  • Hist (Histogram)
  • HDR-Merge (High Dynamic Range)
  • Bayer 2DNR & 3DNR
  • LSC (Lens Shading Correction)
  • HDR DRC (HDR Dynamic Range Compression, includes tone mapping)
  • GIC (Green Imbalance Correction)
  • Debayer
  • CCM (Colour Correction Matrix)
  • Gamma
  • Dehaze enhance
  • 3D LUT
  • LDCH (Lens Distorsion Correction Horizontal)
  • CSM (R2Y) (Colour Space Matrix, RGB to YUV)
  • YUV 422
  • Sharpener
  • CGC
  • FIFO
  • SCL (Scaler)
  • MI-WR (Memory Interface WRite)

Q: Prioritise the order in which these would be implemented and why and how do they influence the image quality. A:

Image review

This image was taken during the bring up of the IPU3 through libcamera.

We were happy that we had images flowing through the pipeline - but what things can you see that are wrong with this image and what would you do to improve them?

Kieran and George

(We're looking for a realisation that the White balance is wrong visible from the green roof, and the image is overexposed visible from the white shirts).


2 Embedded Linux (10 min)

  • Can you build a kernel from source?
  • Experience with U-Boot / TFTP / NFS-root?
  • How would you add code to a running kernel?
  • Can you describe the differences between I2C / SPI / UART?
    • When would you use each one ?
  • What happens when your C code performs a read or write to a register?

3 Multimedia & Codecs (10 min)

  • What’s a pixel format? Who defines FourCCs?
  • Explain the difference between raw Bayer and YUV 4:2:2.
  • What’s a codec? Name one lossless and one lossy example.

4 Open-source contribution (5 min)

  • Have you submitted patches via e-mail before?
  • Show me one commit you’re proud of - what problem did it solve?

5 Workflows and Coding (xxx min?)

Can you describe your work environment please?

  • How familiar are you with Git, could you explain a git interactive rebase?

What work have you done with C++?

  • Can you explain a shared pointer ?
  • What does object orientation mean to you ?
  • What happens when calling a virtual function?

6 Problem-solving scenario (up to 20 min)

“A user reports small oscillations in image brightness.”

How would you diagnose and fix this?

Look for: clarifying questions, tooling choice, systematic approach.


7 Systems thinking (fun open challenge)

“What happens when a user double-clicks an icon on the desktop?”

Let them roam from input event → compositor → kernel → storage → scheduler.


8 Soft Skills

Assume you're stuck for two days - what do you do ?

  • Did you have any conflicts at work - and how did you solve or handle them ?
  • What about if you've implemented something but your manager or project lead wants it done differently? How do you solve this conflict ?
  • What do you expect from your project lead or manager ?

Scoring rubric (1–5)

135
Basic familiaritySolid working knowledgeExpert; teaches others

Add scores inline in your notes; average later.