I recently interviewed for an FPGA Engineer position at Samsung Research and Development (SRI-B) for a role requiring 2+ years of experience. Below is a structured breakdown of my interview process:
Table of Contents
Round 1: Technical Interview (Online, ~1 Hour)
This round focused on work experience, FPGA fundamentals, and project discussions.
General & Project Discussion
-
Can you walk us through your work experience?
-
Explain your project data path using Paint/Paper.
Memory & DDR4 Experience
-
What did you work on DDR4? (Based on Resume)
-
What interface did you use for the DDR controller?
-
How did you configure the EMIF (DDR controller)?
OFDM IP (Based on Resume)
-
Explain the OFDM IP you worked on.
-
Draw the Interfaces & FSMs you built for OFDM.
-
Discuss the FSM design considerations for your implementation.
-
What interfaces did you use for OFDM?
-
How did you handle AXI4-Stream in OFDM?
AXI Protocols & FPGA Design
-
Explain AXI4 vs AXI4-Lite.
-
Describe your experience with timing analysis & constraints.
-
How did you resolve CDC (Clock Domain Crossing) issues?
-
Explain False Paths & Multi-cycle Paths.
Software, Verification & Debugging
-
Do you have experience with scripting languages?
-
How would you rate yourself in C programming?
-
Have you written C drivers for IPs?
-
How do you generate data to verify your IPs (like OFDM)?
-
Explain the complete FPGA design flow.
-
Describe your Vitis experience.
Final Discussion
-
The interviewer explained Samsung’s role and requirements, and we discussed my fit for the position.
Round 2: Technical & System-Level Discussion (Onsite, ~50 Min)
This round focused on a deeper system-level understanding of FPGA workflows.
Samsung’s Requirements & Project Overview
-
The interviewer explained their projects and expectations.
-
Can you provide a system-level view of your current project?
FPGA & Software Flows
-
Explain the Vivado flow (from design entry to bitstream generation).
-
How does Vitis flow work for software emulation?
-
What is the flow for validating on FPGA boards?
Hardware & Software Integration
-
Have you written C drivers for IPs?
-
What automation and scripting languages have you used?
Ethernet & DDR Experience
-
Since you worked on Ethernet IPs, can you explain the Ethernet interfaces you handled?
-
What have you worked on regarding DDR controllers?
RTL Development & System Simulations
-
How much RTL coding have you done in the past two years?
-
Explain the FSM interfaces you built for OFDM.
-
What experience do you have with QEMU simulations?
Samsung IPs & Role Interest
-
The interviewer discussed Samsung’s ISP, Video IPs, and other Samsung IPs.
-
Are you interested in this role?
Round 3: Final Interview (Onsite, ~40 Min)
This round was a mix of technical, experience-based, and cultural-fit discussions.
Self-Introduction & Project Discussion
-
Can you introduce yourself and explain your projects?
-
Why do you want to leave your current company?
Work Experience & FPGA Preferences
-
Which FPGAs have you worked on so far?
-
Since you used both Xilinx and Altera FPGAs, which one do you prefer?
-
Explain your project data path in detail.
-
What were the resource utilization numbers in your current project?
-
Have you worked on optimization techniques for congestion?
Timing & Software Integration
-
What is your experience with Timing Analysis and SDC?
-
Have you worked on SW flow along with FPGA flow?
QEMU & Virtualization
-
What is QEMU, and what have you worked on in that area?
Samsung Work Culture & Teams
-
The interviewer explained Samsung’s teams, products, and work environment.
Final Thoughts
The interview process was technically intensive, covering:
âś… FPGA design, verification, interfaces, timing analysis, software integration, and scripting.
âś… System-level integration, debugging techniques, and workflow automation.
âś… Hardware/software co-design, DDR, and AXI protocols.
The experience was insightful, and the discussions about system validation, RTL coding, and FPGA workflows were particularly engaging.
Hope this helps anyone preparing for a similar role!