I am going to be interviewed for an embedded programmer position next week. What topics should I review? Can you share your experience from such interviews?
(I still hope to get a phd position, but no harm in checking other options).

  • 4
  • 1
    That's the company, if it helps
  • 1
    Although I don't have years of experience, these are the main things I've been busy with overall:
    Not sure what you're gonna be working with nor how experienced you are in this field, but I guess you could start by looking into the differences between bare-metal and real-time operating system (RTOS). And perhaps the different aspects/methods of interfacing between programmable logic and programmable software?
    And I think you'll probably get in contact with the AXI4 protocol, so maybe look into that as well.
    DDR interfacing will be handy as well.
    Since it's an AI company, perhaps read into Edge AI and Vitis AI from Xilinx. But that's only if they use Xilinx tools... I don't have experience with Altera and other suppliers though.
  • 3
    @NEMESISprj I don't have much experience. On the chip I worked on, there wasn't even a full OS. We had low-level, driver-like API.
  • 1
    @NickyBones yeah same, I tried using petalinux but it was easier to just create a bare-metal application for my specific requirements lol.
    I think you might get some use out of my previous recommendations since you'll more than likely need to interface between your application and the programmable logic on the FPGA. But I don't have any experience with AI on embedded systems so I can't say anything more than just make sure to be familiar with the more common protocols used for AI solutions?
  • 6
    Maybe revisiting the classic 0x10 embedded interview questions would be good - also to gauge yourself: https://rmbconsulting.us/publicatio...

    The only ones that I can never remember is 5.f-h.
  • 2
    @Fast-Nop @NEMESISprj I will give your recommendations a look. It's going to be a very fun and relaxing weekend... :(
  • 4
    @NickyBones agree with @Fast-Nop

    Classic question of storage classes . Also what goes where in the memory ( program image/ linking ).
    For people worked on some specific chip/ architecture , I would ask boot sequence

    Also if your have worked on some interfaces like uart, i2c, spi there are some tricky basic questions than can be asked

    I don’t know your JD but based on that they might ask Algorithm, RTOS, and AI based questions also

    Best of luck !
  • 1
    Good luck!!
  • 2
    @hardfault Boot sequence???What??? I never had anything to do with that.
    I programmed *on* a micro-controller, not programmed *a* micro-controller.
  • 2

    Again depends on JD , you might not need to know Boot sequence based on FW abstraction your might be working on.

    Don’t worry i think you got this !!
  • 0
    @Fast-Nop lol, I've read it through. I forgot how bad C can be! One of the questions is about integer promotion.

    It's ridiculous that you need to know that!
    Rust doesn't have any kind of int promotions. If you want to add two ints, then they need to be of the same type.

    Even if you know the rules, you will still slip up eventually.
  • 0
    @Geoxion In other words, Rust can't do that. Just like something as simple as a double linked list is difficult in Rust. Or doing a simple IO ring buffer between application and interrupt because that's always a shared global. Unless of course you resort to "unsafe" and bypass the nonsense. ^^
Add Comment