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?

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?

(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)
| 1 | 3 | 5 |
|---|---|---|
| Basic familiarity | Solid working knowledge | Expert; teaches others |
Add scores inline in your notes; average later.