Skip to contentSkip to footer
  • Community
  • Jobs
  • Companies
  • Salaries
  • For employers
      Notifications

      Loading...

      Elevate your career

      Discover your earning potential, land dream jobs, and share work-life insights anonymously.

      employer cover photo
      employer logo
      employer logo

      Cardinal Peak

      Is this your company?

      About
      Reviews
      Pay and benefits
      Jobs
      Interviews
      Interviews
      Related searches: Cardinal Peak reviews | Cardinal Peak jobs | Cardinal Peak salaries | Cardinal Peak benefits
      Cardinal Peak interviewsCardinal Peak Embedded Software Engineer interviewsCardinal Peak interview


      Glassdoor

      • About / Press
      • Awards
      • Blog
      • Research
      • Contact Us
      • Guides

      Employers

      • Free Employer Account
      • Employer Centre
      • Employers Blog

      Information

      • Help
      • Guidelines
      • Terms of Use
      • Privacy and Ad Choices
      • Do Not Sell Or Share My Information
      • Cookie Consent Tool
      • Security

      Work With Us

      • Advertisers
      • Careers
      Download the App

      • Browse by:
      • Companies
      • Jobs
      • Locations
      • Communities
      • Recent posts

      Copyright © 2008-2026. Glassdoor LLC. "Glassdoor," "Worklife Pro," "Bowls" and logo are proprietary trademarks of Glassdoor LLC.

      Company Bowl sample

      Want the inside scoop on your own company?

      Check out your Company Bowl for anonymous work chats.

      Bowls

      Get actionable career advice tailored to you by joining more bowls.

      Followed companies

      Stay ahead in opportunities and insider tips by following your dream companies.

      Job searches

      Get personalised job recommendations and updates by starting your searches.

      Embedded Software Engineer Interview

      7 Nov 2019
      Anonymous interview candidate
      No offer
      Negative experience

      Other Embedded Software Engineer interview reviews for Cardinal Peak

      Embedded Software Engineer Interview

      2 Aug 2021
      Anonymous interview candidate
      No offer
      Negative experience
      Difficult interview

      Application

      I applied through a recruiter. The process took 5 weeks. I interviewed at Cardinal Peak in Jul 2021

      Average interview

      Application

      I applied online. The process took 3 weeks. I interviewed at Cardinal Peak in Aug 2019

      Interview

      First a phone screen with the recruiter, then 1 video interview with the hiring manager, then 3 video interviews with different engineers, then another 2 video calls with more engineers. I thought they went well, (well enough to continue having me interview with more people each round anyway) but after the last interviews they suddenly didn't answer any emails or return any calls to let me know either way. Not very professional.

      Interview questions [1]

      Question 1

      Using onlinegdb, write a C function to sort an array of numbers in place.
      Answer question
      1

      Interview

      I was contacted by a recruiter at Cardinal Peak through LinkedIn about a DSP Engineering position. We had a short phone screen discussing the company and position, and she made it seem like the role would primarily be a software development position, but with a focus on Digital Signal Processing. That sounded good, so I agreed to do the next round of interviews. The next round was a 45-minute video call with one of the DSP Engineers. They asked me a handful of fundamental DSP questions (such as the differences between FIR and IIR filters), and it was going fairly well until the interviewer said that most of the work for the position would be done through Matlab and Simulink. I had worked a similar position in the past, and I did not want to do that type of work again, and I made my preferences clear to the interviewer. It was clear to me that this position was not really on the software side of DSP, despite what the recruiter had told me. A few days go by, and the recruiter contacted me back, saying that the team now thought that I would be a better fit for the Embedded Software team, so they wanted to interview me next. I agreed to these interviews (3 rounds, 45-mins each), but now I had a different recruiter contact. This new recruiter sent me 3 separate emails asking for my availability for these next interviews. I gave her a few options, but instead of replying back by email, she instead cold-called me (while I was at work) to schedule the interviews. I was eventually able to schedule the interviews about 2 weeks in advance, but the fact that she kept trying to schedule them over the phone instead of through email (like most other recruiters have done) seemed a bit strange to me. The first interviewer asked some pretty in-depth knowledge questions about low-level programming. He asked how main() gets started in a C program, to which I didn’t remember. He also asked about the different types of memory. Towards the end of this session, he asks me an algorithm question, but he doesn’t have the question ready at hand… he claims he had one ready, but couldn’t find it. After an awkward minute, he makes one up, and asks me to swap the endianness of a 4-byte integer. A fair and pretty straight-forward question, I’d say, and I was able to get it after a while. I implement it first by swapping the bytes, and then he asks me to do it again by doing byte-masking and shifting, which I was just barely able to do before the time’s up. The second interview session ended up being very wide-breadth, where he asked me questions on C++, OOP concepts, specific Linux commands, Networking, and OS topics, all in about 30 mins. The programming question he asked me was to implement a shuffle() function. Off the top of my head, I recall the Fisher-Yates algorithm that I had implemented for a similar function a few years before, but I don’t remember how to implement it at all during the interview. I stumble through the question, and don’t finish it in time since I don’t remember the details of the algorithm. Asking for a shuffle() function in just 15 mins doesn’t seem to be a very fair question imo, unless the interviewee just happens to remember the algorithm for it. The third and last interviewer was the strangest interview I had for this position. The interviewer first tested me on how I would create a UML diagram. I’ve never had a software interview that asked me this during the interview process. He had me recreate one of my previous projects as a UML diagram from scratch. He then asked me to think of the room I’m currently in, and asked me to classify all of the objects in my room as if they were C++ classes. An interesting thought experiment, sure, but he was looking for 3 specific Class relationships. I had got 2 of them (Inheritance and Aggregation), but he had said that I had missed an example of Composition. I looked up the definition later, and I am positive that I described a few examples of Composition (when an Object HAS an instance of a different class), and I thought it strange that he didn’t seem to recognize examples or even the definition of Composition. The programming question he asked was another bit-manipulation question, and was fairly straight-forward, but instead of sharing it via a website like Coderpad, he shared it as a Google doc… For a higher-up in the company, he seemed pretty out of touch with modern software interviewing questions and tools. Overall, I was not very impressed with my interview experience at this company. Many of the interviewers seemed unprepared, and there seemed to be a lot of internal miscommunication about the roles. I received a voicemail from the 2nd recruiter (again, no email!) a few days after the 3-hour interview indicating that I was not selected for the position. Oh well.

      Interview questions [6]

      Question 1

      Describe the process on how main() gets started in a C program.
      1 Answer

      Question 2

      What is Polymorphism? Give an example of it.
      Answer question

      Question 3

      What is a pure virtual function?
      Answer question

      Question 4

      Which packet header is larger? TCP or UDP?
      Answer question

      Question 5

      What are the differences between mutexes and semaphores?
      Answer question

      Question 6

      Implement a function in C that shuffles a deck of cards.
      Answer question
      4