N

Nxp

Software Engineer I (Embedded) (Intern + Full Time)

Interview Date

September 2024

Result

Offer

Difficulty

Medium to Hard

Rounds

2 rounds (Online Assignment, Interview R1 (Technical), followed by Role Discussion & Final call)

Drive Type

On-Campus Labs (Intern + Full-Time)

Topics asked

C & OS output-based questionspointer arithmeticGraph algorithms (BFSDFSIDDFSA*IDA*)OOP conceptsC Language (structuresunionsclassespointersstorage classescompilation flowMacros vs. inlineDynamic memory allocation)Operating System (context switchingprocess statesscheduling algorithmsdeadlock)Data Structures (arrayslinked liststreesgraphs)Bitwise operationsPalindrome

Detailed experience

Role: Software Engineer I (Embedded) (Intern + Full Time)

College: One of the best colleges in Bengaluru

Interview Date: September 2024

Interview Type: On-Campus Labs (Intern + Full-Time)

Result: Offer

Difficulty: Medium to Hard

Rounds: 2 rounds (Online Assignment, Interview R1 (Technical), followed by Role Discussion & Final call)

Topics Asked: C & OS output-based questions, pointer arithmetic, Graph algorithms (BFS, DFS, IDDFS, A*, IDA*), OOP concepts, C Language (structures, unions, classes, pointers, storage classes, compilation flow, Macros vs. inline, Dynamic memory allocation), Operating System (context switching, process states, scheduling algorithms, deadlock), Data Structures (arrays, linked lists, trees, graphs), Bitwise operations, Palindrome

Experience:

This experience details the interview process for a Software Engineer I (Embedded) role, which was a combined Intern + Full-Time opportunity.

Round 1: Online Assignment
The online assignment was for the Embedded profile and consisted of 35 MCQs to be completed in 1 hour. These questions were primarily C & OS output-based with a specific focus on pointer arithmetic. The marking scheme was +3 for correct answers and -1 for incorrect answers. The questions were tailored to the chosen profile (Digital, Analog, or Embedded).

Round 2: Interview R1 (Technical)
This was an elimination round lasting approximately 1 hour. The interviewer started with an introduction and then discussed the candidate's resume, which was filled with software-related (SDE) projects, not specifically embedded. The candidate briefly explained all projects.

The interviewer showed particular interest in a project involving graph algorithms (BFS, DFS, IDDFS, A*, and IDA*), asking for explanations and pseudocode for each. Since the project involved low-level design, questions were also asked about why abstract classes were used, focusing on basic OOP concepts and their utility in the project.

C Language Questions:

  • Difference between structures, unions, and classes (both in C and C++)
  • Pointers and pointer arithmetic, along with complex functions involving pointers
  • Detailed explanation of storage classes
  • Compilation to execution program flow
  • Macros vs. inline functions
  • Dynamic memory allocation (calloc, malloc, realloc) - brief explanation of all three

Operating System (OS) Questions:

  • What is context switching? How does it happen? (Detailed explanation, including register level and stack unstack cycle flow). A follow-up question on what is stored in each register.
  • Process states (new, ready, etc.)
  • Scheduling algorithms (all of them) and the difference between preemptive and non-preemptive scheduling, including LTS, MTS, and STS (schedulers)
  • Deadlock: Explained the four necessary conditions.

The interviewer also asked about the candidate's self-rating in C, C++, and Python, and familiarity with data structures. The candidate explained various data structures from arrays and linked lists to trees (Fenwick tree, segment tree) and graphs (DSUs, Trie). More pointer questions and bitwise operations were discussed, with only the approach explained on paper. For `malloc`, the candidate explained it and was asked to implement it, discussing fragmentation techniques in OS and memory allocation concepts.

Coding Questions (Easy DSA):

  • Swap two variables without using a third variable (all three approaches)
  • Bitwise operations: Set, flip, unset, and count bits (basic). The candidate also provided an approach for finding the sum of set bits from 1 to N.
  • Given an array where all elements appear twice except for two elements that appear once, find the two unique elements.
  • Palindrome: Provided both recursive and non-recursive approaches.
For these questions, only the approach was required to be explained, but for the questions below, working code had to be written directly in the interviewer's IDE.

Role Discussion & Final Call
The interviewer explained the technology the candidate would be working on, discussed preparation needs (recalling fundamentals), and shared their experiences in the company. Questions were asked about the number of interviews given, reasons for not being placed yet, and the focus on software companies over core companies. The interviewer went through the entire resume, asking about details like LeetCode, GeeksforGeeks, AtCoder, Codeforces, and CodeChef.

Posted on - 13 Nov 2025
NXP Interview Experience - Software Engineer I (Embedded) (Intern + Full Time) | OAHelper