The interview began with fundamentals like race conditions, reset types (synchronous vs. asynchronous), and their advantages. I was then asked to write RTL code for a basic flow, with the interviewer gradually increasing complexity by adding registers and FIFO elements. In the final part, I explained my projects in detail, focusing on my contributions, design decisions, and verification approach.